|
Boost : |
Subject: Re: [boost] [Locale] On Mac OS X 10.6 fails to find iconv
From: Artyom Beilis (artyomtnk_at_[hidden])
Date: 2011-08-24 05:08:36
----- Original Message -----
> From: Dave Abrahams <dave_at_[hidden]>
>>
>> I see. I myself also had seen many complains about iconv and Mac OS X.
>>
>> Hopefully I'll get some logs from the testing machines so it would
>> be possible to specify the correct iconv via ICONV_PATH.
>>
>> Thanks
>
> The last, best, hint I heard about how to solve this involved making the
> built-in iconv.h header inaccessible to the build, so the macports one
> could more readily be found.
>
There is an explicit notice in "how to build"
http://svn.boost.org/svn/boost/trunk/libs/locale/doc/html/building_boost_locale.html
The problem that on Mac OS X there are frequently two versions of the
iconv library - one GNU iconv that have symbols like libiconv_open
and iconv_open(x,y) is define for libiconv_open(x,y) and
starting form Mac OS X 10.5 or 10.6 there is a system iconv library
that comes with iconv_open that defines symbols with same names.
So it frequently happens (not for Boost only but also for CMake and
any other build system) that iconv.h and libiconv.dylib that
are found belong to different libraries.
Bottom line, there is no magic way to solve it just user should:
1. Either cleanup his installations (remove gnu iconv or system iconv)
2. Provide an iconv version explicitly.
Custom header would not help as the problem is usually on linking stage
not compilation.
Artyom Beilis
--------------
CppCMS - C++ Web Framework: http://cppcms.sf.net/
CppDB - C++ SQL Connectivity: http://cppcms.sf.net/sql/cppdb/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk