On Jul 3, 2014, at 4:16 PM, Geert Janssens <[email protected]> wrote:

> On Thursday 03 July 2014 16:09:28 John Ralls wrote:
> > On Jul 3, 2014, at 3:58 PM, Geert Janssens <[email protected]> 
> > wrote:
> > > Hmm, my previous mail got truncated by the list server
> > > for some reason. Anyway the errors continue for a while
> > > with yet more undefined references to std::xyz functions.
> > > 
> > > This was with a clean autogen/configure/make sequence
> > > in an empty build directory.
> > > 
> > > If I do the same with gcc it works fine.
> > 
> > Interesting. What version of Clang? What happens if you add
> > -stdlib=libstdc++ to CXXFLAGS?
> > 
> > Regards,
> > John Ralls
>  
> $ clang --version
> clang version 3.4 (tags/RELEASE_34/final)
> Target: x86_64-redhat-linux-gnu
> Thread model: posix
>  
> I have appended "CXXFLAGS=-stdlib=libstdc++" (without the quotes) to my 
> configure run. The error I get now is:
>  
> /bin/sh ../../../../libtool  --tag=CXX   --mode=link clang -Werror  -Wall 
> -Wno-unused -Wno-deprecated-register -stdlib=libstdc++ -std=gnu++11 -g   -g  
> -o test-qof test_qof-test-gnc-date.o test_qof-test-qof.o 
> test_qof-test-qofbook.o test_qof-test-qofinstance.o test_qof-test-kvp_frame.o 
> test_qof-test-qofobject.o test_qof-test-qofsession.o 
> test_qof-test-qof-string-cache.o test_qof-test-gnc-guid.o 
> test_qof-unittest-support.o ../../../../src/libqof/qof/libgnc-qof.la 
> -lgio-2.0 -lgthread-2.0 -pthread -lgobject-2.0 -Wl,--export-dynamic 
> -lgmodule-2.0 -pthread -lglib-2.0  -lm
> libtool: link: clang -Werror -Wall -Wno-unused -Wno-deprecated-register 
> -stdlib=libstdc++ -std=gnu++11 -g -g -o .libs/test-qof 
> test_qof-test-gnc-date.o test_qof-test-qof.o test_qof-test-qofbook.o 
> test_qof-test-qofinstance.o test_qof-test-kvp_frame.o 
> test_qof-test-qofobject.o test_qof-test-qofsession.o 
> test_qof-test-qof-string-cache.o test_qof-test-gnc-guid.o 
> test_qof-unittest-support.o -pthread -Wl,--export-dynamic -pthread  
> ../../../../src/libqof/qof/.libs/libgnc-qof.so -L/usr/lib64 -lgio-2.0 
> -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lm -pthread -Wl,-rpath 
> -Wl,/home/janssege/Development/Installs/gnucash-f20-master/lib64
> clang: error: argument unused during compilation: '-stdlib=libstdc++'
> make[5]: *** [test-qof] Error 1
> make[5]: Leaving directory 
> `/kobaltnet/janssege/Development/Builds/gnucash-f20-master/src/libqof/qof/test'
> make[4]: *** [all-recursive] Error 1
> make[4]: Leaving directory 
> `/kobaltnet/janssege/Development/Builds/gnucash-f20-master/src/libqof/qof'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory 
> `/kobaltnet/janssege/Development/Builds/gnucash-f20-master/src/libqof'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory 
> `/kobaltnet/janssege/Development/Builds/gnucash-f20-master/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory 
> `/kobaltnet/janssege/Development/Builds/gnucash-f20-master'
> make: *** [all] Error 2

Oh, well. Seems libc++ is working only on OSX, so it's still libstdc++ on 
Linux, so that's not it... or maybe it is. The libstdc++ shipped with Xcode is 
the last GPLV2 one and doesn't support C++11, so I can't test against it to see 
if that's the problem.

Maybe this is the problem: https://bbs.archlinux.org/viewtopic.php?id=135667 
Apparently clang isn't smart enough to figure out that it should compile a C++ 
file as C++, so you need to set $CXX=clang++.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to