gnucash master: Multiple changes pushed

John Ralls jralls at ceridwen.us
Thu Jul 3 11:51:42 EDT 2014


On Jul 3, 2014, at 4:16 PM, Geert Janssens <janssens-geert at telenet.be> wrote:

> On Thursday 03 July 2014 16:09:28 John Ralls wrote:
> > On Jul 3, 2014, at 3:58 PM, Geert Janssens <janssens-geert at telenet.be> 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




More information about the gnucash-devel mailing list