|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
improper inclusion of LDFLAGS in topcomp.cHi,
I have a build of ppl that fails with > gplc --c-compiler g++-4 -o ppl_gprolog \ > ppl_gprolog.pl .libs/libppl_gprolog.a \ > -L ' -g -O3 -fomit-frame-pointer -frounding-math - > W -Wall -L../../../src/.libs -lppl -L../../../Watchdog/src/.libs - > lpwl -lgmpxx -lgmp -lstdc++ -L/sw/lib/gcc4.4/lib -lgcc_s.1' > g++-4: unrecognized option '-no-cpp-precomp' > /usr/bin/ld: Undefined symbols: > Parma_Polyhedra_Library::c_streambuf::sync() > Parma_Polyhedra_Library::c_streambuf::uflow() > Parma_Polyhedra_Library::c_streambuf::xsgetn(char*, int) > Parma_Polyhedra_Library::c_streambuf::xsputn(char const*, int) > Parma_Polyhedra_Library::c_streambuf::overflow(int) > Parma_Polyhedra_Library::c_streambuf::pbackfail(int) > Parma_Polyhedra_Library::c_streambuf::underflow() > Parma_Polyhedra_Library::Linear_Expression::Linear_Expression > (Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) > Parma_Polyhedra_Library::operator- > (Parma_Polyhedra_Library::Linear_Expression const&, > Parma_Polyhedra_Library::Variable) > Parma_Polyhedra_Library::operator+ > (Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) > collect2: ld returned 1 exit status This could not have failed : "-L../../../src/.libs -lppl" is first among the link flags, and that library contains those symbols. Re-running the same command manually, with -v added, gives the explanation (there is an older version of libppl, not containing those symbols, in /sw/lib) : > /sw/bld/ppl-0.10.2-1/ppl-0.10.2/interfaces/Prolog/GNU# gplc --c- > compiler g++-4 -o ppl_gprolog \ > > ppl_gprolog.pl .libs/libppl_gprolog.a \ > > -L ' -g -O3 -fomit-frame-pointer -frounding-math > -W -Wall -L../../../src/.libs -lppl -L../../../Watchdog/src/.libs - > lpwl -lgmpxx -lgmp -lstdc++ -L/sw/lib/gcc4.4/lib -lgcc_s.1 -v' > Using built-in specs. > g++-4: unrecognized option '-no-cpp-precomp' > Target: powerpc-apple-darwin8 > Configured with: ../gcc-4.4-20090407/configure --prefix=/sw -- > prefix=/sw/lib/gcc4.4 --mandir=/sw/share/man --infodir=/sw/share/ > info --enable-languages=c,c++,fortran,objc,java,obj-c++ --with-gmp=/ > sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw -- > with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/ > X11R6/lib --disable-libjava-multilib --build=powerpc-apple-darwin8 > --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8 > Thread model: posix > gcc version 4.4.0 20090407 (prerelease) (GCC) > COMPILER_PATH=/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../libexec/gcc/ > powerpc-apple-darwin8/4.4.0/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../ > libexec/gcc/:/usr/libexec/gcc/powerpc-apple-darwin8/:/usr/lib/gcc/ > powerpc-apple-darwin8/ > LIBRARY_PATH=/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc- > apple-darwin8/4.4.0/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/ > gcc/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple- > darwin8/4.4.0/../../../:/usr/lib/ > COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.4' '-mpowerpc' '-no- > cpp-precomp' '-L/sw/lib' '-o' 'ppl_gprolog' '-g' '-O3' '-fomit- > frame-pointer' '-frounding-math' '-W' '-Wall' '-L../../../ > src/.libs' '-L../../../Watchdog/src/.libs' '-L/sw/lib/gcc4.4/lib' '- > v' '-shared-libgcc' > /Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../libexec/gcc/powerpc-apple- > darwin8/4.4.0/collect2 -dynamic -arch ppc -macosx_version_min 10.4 - > multiply_defined suppress -weak_reference_mismatches non-weak -o > ppl_gprolog -lcrt1.o /Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/ > powerpc-apple-darwin8/4.4.0/crt3.o -L/sw/lib -L../../../src/.libs - > L../../../Watchdog/src/.libs -L/sw/lib/gcc4.4/lib -L/Volumes/ > EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0 -L/ > Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc -L/Volumes/EXT_UFS/sw/ > lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0/../../.. /var/ > tmp/gplcd1XfTa.o .libs/libppl_gprolog.a -lppl -lpwl -lgmpxx -lgmp - > lstdc++ -lgcc_s.1 /Volumes/EXT_UFS/sw/lib/all_pl_bips.o /Volumes/ > EXT_UFS/sw/lib/all_fd_bips.o /Volumes/EXT_UFS/sw/lib/top_level.o / > Volumes/EXT_UFS/sw/lib/debugger.o /Volumes/EXT_UFS/sw/lib/ > libbips_fd.a /Volumes/EXT_UFS/sw/lib/libengine_fd.a /Volumes/ > EXT_UFS/sw/lib/libbips_pl.a /Volumes/EXT_UFS/sw/lib/libengine_pl.a / > Volumes/EXT_UFS/sw/lib/liblinedit.a -lm -lstdc++ -lgcc_s.10.4 -lgcc > -lSystemStubs -lSystem > /usr/bin/ld: Undefined symbols: > Parma_Polyhedra_Library::c_streambuf::sync() > Parma_Polyhedra_Library::c_streambuf::uflow() > Parma_Polyhedra_Library::c_streambuf::xsgetn(char*, int) > Parma_Polyhedra_Library::c_streambuf::xsputn(char const*, int) > Parma_Polyhedra_Library::c_streambuf::overflow(int) > Parma_Polyhedra_Library::c_streambuf::pbackfail(int) > Parma_Polyhedra_Library::c_streambuf::underflow() > Parma_Polyhedra_Library::Linear_Expression::Linear_Expression > (Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) > Parma_Polyhedra_Library::operator- > (Parma_Polyhedra_Library::Linear_Expression const&, > Parma_Polyhedra_Library::Variable) > Parma_Polyhedra_Library::operator+ > (Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) : a flag '-L/sw/lib' is inserted, and right at the beginning in addition! This is clearly done by the gplc command, and looking in its builddir seems to point to line 311 in topcomp.c .. If gplc needs to put some of gprolog's libraries on its compile commands, I would suggest it does so explicitly, with their full path, and don't put any '-L' flag. Jean-Francois Mertens _______________________________________________ Bug-prolog mailing list Bug-prolog@... http://lists.gnu.org/mailman/listinfo/bug-prolog |
|
|
Re: improper inclusion of LDFLAGS in topcomp.cThank you for your detailed bug report. I'll see what I can do.
Daniel Jean-François Mertens a écrit : > Hi, > > I have a build of ppl that fails with > >> gplc --c-compiler g++-4 -o ppl_gprolog \ >> ppl_gprolog.pl .libs/libppl_gprolog.a \ >> -L ' -g -O3 -fomit-frame-pointer -frounding-math -W >> -Wall -L../../../src/.libs -lppl -L../../../Watchdog/src/.libs -lpwl >> -lgmpxx -lgmp -lstdc++ -L/sw/lib/gcc4.4/lib -lgcc_s.1' >> g++-4: unrecognized option '-no-cpp-precomp' >> /usr/bin/ld: Undefined symbols: >> Parma_Polyhedra_Library::c_streambuf::sync() >> Parma_Polyhedra_Library::c_streambuf::uflow() >> Parma_Polyhedra_Library::c_streambuf::xsgetn(char*, int) >> Parma_Polyhedra_Library::c_streambuf::xsputn(char const*, int) >> Parma_Polyhedra_Library::c_streambuf::overflow(int) >> Parma_Polyhedra_Library::c_streambuf::pbackfail(int) >> Parma_Polyhedra_Library::c_streambuf::underflow() >> Parma_Polyhedra_Library::Linear_Expression::Linear_Expression(Parma_Polyhedra_Library::Variable, >> Parma_Polyhedra_Library::Variable) >> Parma_Polyhedra_Library::operator-(Parma_Polyhedra_Library::Linear_Expression >> const&, Parma_Polyhedra_Library::Variable) >> Parma_Polyhedra_Library::operator+(Parma_Polyhedra_Library::Variable, >> Parma_Polyhedra_Library::Variable) >> collect2: ld returned 1 exit status > > This could not have failed : "-L../../../src/.libs -lppl" is first > among the link flags, and that library contains those symbols. > > Re-running the same command manually, with -v added, gives the > explanation (there is an older version of libppl, not containing those > symbols, in /sw/lib) : >> /sw/bld/ppl-0.10.2-1/ppl-0.10.2/interfaces/Prolog/GNU# gplc >> --c-compiler g++-4 -o ppl_gprolog \ >> > ppl_gprolog.pl .libs/libppl_gprolog.a \ >> > -L ' -g -O3 -fomit-frame-pointer -frounding-math >> -W -Wall -L../../../src/.libs -lppl -L../../../Watchdog/src/.libs >> -lpwl -lgmpxx -lgmp -lstdc++ -L/sw/lib/gcc4.4/lib -lgcc_s.1 -v' >> Using built-in specs. >> g++-4: unrecognized option '-no-cpp-precomp' >> Target: powerpc-apple-darwin8 >> Configured with: ../gcc-4.4-20090407/configure --prefix=/sw >> --prefix=/sw/lib/gcc4.4 --mandir=/sw/share/man >> --infodir=/sw/share/info >> --enable-languages=c,c++,fortran,objc,java,obj-c++ --with-gmp=/sw >> --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw >> --with-system-zlib --x-includes=/usr/X11R6/include >> --x-libraries=/usr/X11R6/lib --disable-libjava-multilib >> --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 >> --target=powerpc-apple-darwin8 >> Thread model: posix >> gcc version 4.4.0 20090407 (prerelease) (GCC) >> COMPILER_PATH=/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../libexec/gcc/powerpc-apple-darwin8/4.4.0/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../libexec/gcc/:/usr/libexec/gcc/powerpc-apple-darwin8/:/usr/lib/gcc/powerpc-apple-darwin8/ >> >> LIBRARY_PATH=/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/:/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0/../../../:/usr/lib/ >> >> COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.4' '-mpowerpc' >> '-no-cpp-precomp' '-L/sw/lib' '-o' 'ppl_gprolog' '-g' '-O3' >> '-fomit-frame-pointer' '-frounding-math' '-W' '-Wall' >> '-L../../../src/.libs' '-L../../../Watchdog/src/.libs' >> '-L/sw/lib/gcc4.4/lib' '-v' '-shared-libgcc' >> /Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../libexec/gcc/powerpc-apple-darwin8/4.4.0/collect2 >> -dynamic -arch ppc -macosx_version_min 10.4 -multiply_defined >> suppress -weak_reference_mismatches non-weak -o ppl_gprolog -lcrt1.o >> /Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0/crt3.o >> -L/sw/lib -L../../../src/.libs -L../../../Watchdog/src/.libs >> -L/sw/lib/gcc4.4/lib >> -L/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0 >> -L/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc >> -L/Volumes/EXT_UFS/sw/lib/gcc4.4/bin/../lib/gcc/powerpc-apple-darwin8/4.4.0/../../.. >> /var/tmp/gplcd1XfTa.o .libs/libppl_gprolog.a -lppl -lpwl -lgmpxx >> -lgmp -lstdc++ -lgcc_s.1 /Volumes/EXT_UFS/sw/lib/all_pl_bips.o >> /Volumes/EXT_UFS/sw/lib/all_fd_bips.o >> /Volumes/EXT_UFS/sw/lib/top_level.o >> /Volumes/EXT_UFS/sw/lib/debugger.o >> /Volumes/EXT_UFS/sw/lib/libbips_fd.a >> /Volumes/EXT_UFS/sw/lib/libengine_fd.a >> /Volumes/EXT_UFS/sw/lib/libbips_pl.a >> /Volumes/EXT_UFS/sw/lib/libengine_pl.a >> /Volumes/EXT_UFS/sw/lib/liblinedit.a -lm -lstdc++ -lgcc_s.10.4 -lgcc >> -lSystemStubs -lSystem >> /usr/bin/ld: Undefined symbols: >> Parma_Polyhedra_Library::c_streambuf::sync() >> Parma_Polyhedra_Library::c_streambuf::uflow() >> Parma_Polyhedra_Library::c_streambuf::xsgetn(char*, int) >> Parma_Polyhedra_Library::c_streambuf::xsputn(char const*, int) >> Parma_Polyhedra_Library::c_streambuf::overflow(int) >> Parma_Polyhedra_Library::c_streambuf::pbackfail(int) >> Parma_Polyhedra_Library::c_streambuf::underflow() >> Parma_Polyhedra_Library::Linear_Expression::Linear_Expression(Parma_Polyhedra_Library::Variable, >> Parma_Polyhedra_Library::Variable) >> Parma_Polyhedra_Library::operator-(Parma_Polyhedra_Library::Linear_Expression >> const&, Parma_Polyhedra_Library::Variable) >> Parma_Polyhedra_Library::operator+(Parma_Polyhedra_Library::Variable, >> Parma_Polyhedra_Library::Variable) > > > : a flag '-L/sw/lib' is inserted, and right at the beginning in > addition! > This is clearly done by the gplc command, and looking in its builddir > seems to point to line 311 in topcomp.c .. > > If gplc needs to put some of gprolog's libraries on its compile commands, > I would suggest it does so explicitly, with their full path, > and don't put any '-L' flag. > > Jean-Francois Mertens > > > > _______________________________________________ > Bug-prolog mailing list > Bug-prolog@... > http://lists.gnu.org/mailman/listinfo/bug-prolog > -- Ce message a ete verifie par MailScanner pour des virus ou des polluriels et rien de suspect n'a ete trouve. _______________________________________________ Bug-prolog mailing list Bug-prolog@... http://lists.gnu.org/mailman/listinfo/bug-prolog |
| Free embeddable forum powered by Nabble | Forum Help |