/lib/libsgmisc.so: undefined reference to ...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gblutz
Beiträge: 16
Registriert: 05.05.2002 16:21:58

/lib/libsgmisc.so: undefined reference to ...

Beitrag von gblutz » 25.02.2006 10:09:48

Hallo,

Ich versuche zur Zeit unter Etch Atlas für Flightgear zu kompilieren.
Mein Kernel ist von mir speziell gebaut worden. Dazu habe Ich den 2.6.15.2 Standardkernel von kernel.org entsprechend angepasst und kompiliert. Sonst ist alles Etch-Standard.

Habe Etch auf den neusten Stand gebracht und auch alle notwendigen devel-pakete installiert. configure läuft auch ohne zu meckern durch.
Wenn Ich dann make starte, werden einige Dateien kompiliert, aber am Ende kommt dann folgendes (von Linker?):

Code: Alles auswählen

g++  -g -O2 -DFGBASE_DIR='"NONE/lib/FlightGear"'  -L/usr/X11R6/lib -L/usr/local//lib -o Atlas  Atlas.o FlightTrack.o LoadPng.o LoadJpg.o MapBrowser.o Output.o OutputGL.o Overlays.o Projection.o -lsgmagvar -lsgtiming -lsgmisc -lsgio -lsgserial -lsgdebug -lsgbucket -lsgxml -lplibsg -lplibpu -lplibul -lplibfnt -lplibnet -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXi -lXext -lX11 -lpthread -lm  -lpng -lz -lpthread -ljpeg -lplibul -lm
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `typeinfo for SGSubsystem'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::reinit()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::postinit()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::SGPropertyNode_ptr()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `typeinfo for sg_throwable'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::unbind()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::~SGPropertyNode_ptr()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `vtable for sg_location'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_io_exception::sg_io_exception(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sg_location const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_io_exception::~sg_io_exception()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::bind()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_throwable::~sg_throwable()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::suspend()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_location::sg_location(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `vtable for sg_io_exception'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode::setDoubleValue(double)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::operator SGPropertyNode*()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::~SGSubsystem()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_location::~sg_location()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::is_suspended() const'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `sg_exception::~sg_exception()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::operator=(SGPropertyNode_ptr const&)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::operator->()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode::getDoubleValue() const'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `typeinfo for sg_io_exception'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::suspend(bool)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGPropertyNode_ptr::SGPropertyNode_ptr(SGPropertyNode*)'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgmisc.so: undefined reference to `SGSubsystem::resume()'
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/libsgxml.so: undefined reference to `vtable for sg_throwable'
collect2: ld returned 1 exit status
make[3]: *** [Atlas] Fehler 1
Sieht für mich so aus, als ob das ABI des gcc nicht mit der Version des ABI passt, mit der simgear-dev kompilert wurde.

Ich hab schon in diversen IRC Channels Leute gefragt, u.a. auch die Atlas Entwickler, aber da konnte niemand so recht was damit anfangen.
Und im Web finde Ich dazu auch nichts brauchbares.

So und jetzt meine Frage(n):
- Wie kann Ich feststellen, mit welchem gcc/g++ die simgear-dev libraries kompiliert wurden?
- Wie kann Ich dann Atlas mit der selben Version kompilieren?

Hat sonst jemand noch eine Ahnung, was das sein könnte?

Danke,

Georg

Antworten