Hello, I'm trying to build a big software called crystalspace3d (http://www.crystalspace3d.org) on GNU/Linux PowerPC (Debian). I'm using gcc/g++/cpp 4.1, which works well to compile lot of programs, but I'm experiencing something strange with CS3d. Here's the log : -------------------------------- ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o: In function `csSpriteCal3DMeshObjectFactory': plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::allocator<char>::allocator()@@GLIBCXX_3.4' plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::allocator<char>::~allocator()@@GLIBCXX_3.4' plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::allocator<char>::allocator()@@GLIBCXX_3.4' plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' plugins/mesh/sprcal3d/object/sprcal3d.cpp:169: undefined reference to `std::allocator<char>::~allocator()@@GLIBCXX_3.4' ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o: In function `CS::Plugin::SprCal3d::ReportCalError(iObjectRegistry*, char const*, char const*)': plugins/mesh/sprcal3d/object/sprcal3d.cpp:84: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const' plugins/mesh/sprcal3d/object/sprcal3d.cpp:84: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' plugins/mesh/sprcal3d/object/sprcal3d.cpp:86: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const' plugins/mesh/sprcal3d/object/sprcal3d.cpp:88: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const' plugins/mesh/sprcal3d/object/sprcal3d.cpp:92: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const' ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o: In function `CS::Plugin::SprCal3d::csSpriteCal3DMeshObjectFactory::LoadCoreAnimation(iVFS*, char const*, char const*, int, float, float, float, int, int, int, bool)': plugins/mesh/sprcal3d/object/sprcal3d.cpp:275: undefined reference to `std::allocator<char>::allocator()@@GLIBCXX_3.4' plugins/mesh/sprcal3d/object/sprcal3d.cpp:275: undefined reference to `std::allocator<char>::~allocator()@@GLIBCXX_3.4' plugins/mesh/sprcal3d/object/sprcal3d.cpp:276: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o: In function `~Map': /home/glibersat/src/gib/build/usr/include/cal3d/corematerial.h:32: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o: In function `Map': /home/glibersat/src/gib/build/usr/include/cal3d/corematerial.h:32: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()' collect2: ld returned 1 exit status ---------------------------- Command line is : g++ -o sprcal3d.so ./out/linuxppc/debug/plugins/mesh/sprcal3d/object/sprcal3d.o -lm -ldl -lnsl -Wl,-Bsymbolic -Wl,-z,defs -Wl,--warn-unresolved-symbols -L/usr/local/lib -Wl,-E -g3 -shared ./out/linuxppc/debug/libs/libcrystalspace.a -lpthread -lz -L/home/glibersat/src/gib/build/usr/lib -lcal3d -lm -ldl -lnsl -Wl,-Bsymbolic -Wl,-z,defs -Wl,--warn-unresolved-symbols -L/usr/local/lib -Wl,-E -g3 \ -Wl,-soname,sprcal3d.so The Cald3d library is compiled with the same compiler. My libstdc++ seems to be the right one (6.0.8), symlinks are ok. The buildsys seems ok too since it builds fine on x86 and x86-64. This is probably a powerpc related issue, but I really don't know what to do. I also have messages like this : -------------- {standard input}: Assembler messages: {standard input}:1517424: Error: operand out of range (0x0000000000008000 is not between 0xffffffffffff8000 and 0x0000000000007fff) {standard input}:1517432: Error: operand out of range (0x0000000000008004 is not between 0xffffffffffff8000 and 0x0000000000007fff) -------------- Thanks for your help ! Guillaume Libersat
Attachment:
pgpUhCseZhOjd.pgp
Description: PGP signature