Compilation issue on Linux/PowerPC
Guillaume Libersat
glibersat@linux62.org
Sun Aug 13 22:14:00 GMT 2006
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20060813/7ad4affe/attachment.sig>
More information about the Gcc-help
mailing list