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
