Hi Parafin,

It looks like you have already spent quite some time tuning Darktable for OS X. 
My respect and thanks!

Since I could not easily find out what this MAC_OS_X_VERSION_MAX_ALLOWED macro 
is used for in Darktable, I gave it a try and a) removed it, and removed the 
instructions in the build system to build against the system libstdc++. 
Darktable then built fine with GCC 4.6.3 from MacPorts. From one of your 
comments in the Darktable blog I suspected that I would now see crashes due to 
two different versions of libstdc++ being loaded, but so far so good. Darktable 
opens, imports images and applies color filters without problems.

I'll give things a more thorough test later this week when I'm home and see if 
I run into problems.

Best regards,
Jeroen



On Feb 5, 2013, at 12:48, Jeroen Hegeman wrote:

> 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