Hi,

Thanks! With your hint I have now found where this is specified as well. I'm 
assuming this forcing of the system libstdc++ has to do with the use of the 
MAC_OS_X_VERSION_MAX_ALLOWED macro (specified a little lower in CMakeLists.txt)?

So what exactly are the functions that are not available in 10.6 and later that 
would otherwise be used? And what are they used for and how does that work in 
10.6 and later then?

Cheers,
Jeroen





On Feb 5, 2013, at 12:21, parafin wrote:

> Hi.
> 
> You shouldn't build DT with non-system C++ compiler because you have to
> link to system libstdc++ (build system tries to make sure that you're
> linking against /usr/lib/libstdc++.dylib, not any other, that's why
> you're seeing this error). You can however use GCC from macports as C
> compiler, set CC=gcc-mp-4.6 and don't touch CXX.
> 
> On Tue, 5 Feb 2013 10:39:16 +0100
> Jeroen Hegeman <[email protected]> wrote:
> 
>> Dear DT'ers,
>> 
>> This is probably something related to my system, not to Darktable itself, 
>> but I'm hoping to find someone here who has seen this before (or knows how 
>> to dig further).
>> 
>> I'm trying to build Darktable from the Git master, on OS X 10.7.5 with a 
>> MacPorts install of GCC 4.6.3.
>> However, linking of libdarktable.dylib fails with the following complaint:
>> 
>>> Linking C shared library libdarktable.dylib
>>> Undefined symbols for architecture x86_64:
>>>  "std::ctype<char>::_M_widen_init() const", referenced from:
>>>      LibRaw_file_datastream::gets(char*, int) in 
>>> liblibraw_r.a(libraw_datastream.cpp.o)
>>> ld: symbol(s) not found for architecture x86_64
>>> collect2: ld returned 1 exit status
>> 
>> Now gcc -v tells me that it's configured with 
>> '--libdir=/opt/local/lib/gcc46' and both 
>> /opt/local/lib/gcc46/libstdc++.6.dylib and 
>> /opt/local/lib/gcc46/libstdc++.dylib are symlinks to 
>> /opt/local/lib/libstdc++.6.dylib. And this appears to be a 64-bit lib, with 
>> the required symbol in there:
>> 
>>> $ file /opt/local/lib/libstdc++.6.dylib
>>> /opt/local/lib/libstdc++.6.dylib: Mach-O 64-bit dynamically linked shared 
>>> library
>>> 
>>> $ nm /opt/local/lib/libstdc++.6.dylib | grep -i wide | c++filt
>>> 00000000000169a0 T std::ctype<char>::_M_widen_init() const
>>> 0000000000042470 t std::ctype<char>::widen(char const*, char const*, char*) 
>>> const
>>> 0000000000042450 t std::ctype<char>::widen(char) const
>>> 00000000000312e0 t __ZNKSt5ctypeIcE5widenEc.part.24
>>> 0000000000016e90 t std::ctype<char>::do_widen(char const*, char const*, 
>>> char*) const
>>> 0000000000016e00 t std::ctype<char>::do_widen(char) const
>>> 00000000000259a0 T std::ctype<wchar_t>::do_widen(char const*, char const*, 
>>> wchar_t*) const
>>> 0000000000025990 T std::ctype<wchar_t>::do_widen(char) const
>>> 0000000000028fb0 T std::basic_ios<char, std::char_traits<char> 
>>> >::widen(char) const
>>> 00000000000298d0 T std::basic_ios<wchar_t, std::char_traits<wchar_t> 
>>> >::widen(char) const
>> 
>> This probably means I'm not searching in the same place as the linker. Does 
>> anybody know what I'm doing wrong here? Or how to investigate further?
>> 
>> Any hints would be appreciated!
>> 
>> Best regards,
>> Jeroen
>> ------------------------------------------------------------------------------
>> Free Next-Gen Firewall Hardware Offer
>> Buy your Sophos next-gen firewall before the end March 2013 
>> and get the hardware for free! Learn more.
>> http://p.sf.net/sfu/sophos-d2d-feb
>> _______________________________________________
>> Darktable-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/darktable-users


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Darktable-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-users

Reply via email to