On 27 Feb 2003 at 17:44, Michael Matz wrote:
Hi,
On Thu, 27 Feb 2003, Stefan Sassenberg wrote:
neulich habe ich auf Suse8.1 geupdated.
Mit update, oder einfach neuinstalliert?
Hab beides versucht, gleiche Wirkung.
Seither habe ich Probleme mit der Erstellung/Verwendung von shared objects in C++.
Alles komplett selber gebaut? Und auch alles _neu_ gebaut? (8.1 hat einen neuen C++ Compiler, der inkompatibel zu 2.95 ist).
make clean dep all, alles lupenrein. Nun ja, der Compiler nimmt nicht mehr den namespace std als default, da musste ich etwas nacharbeiten.
Günstigstenfalls kann ich mein Projekt übersetzen und linken, bekomme dann aber beim Ausführen ein Unresolved Symbol: __dso_handle um die Ohren gehauen.
Was sagt ein ldd zu einem dieserart kaputtem Programm? Der Fehler wuerde daran liegen, das die libstdc++ falsch kompiliert ist, aber das sollte bei der distri nicht auftauchen, nur wenn man GCC mit zu alten binutils selber kompiliert hat, oder mit falschen Optionen.
Benutze den Compiler so, wie er von Suse aus den rpms erstellt wurde. Der ldd hat nichts gefunden, sieht aus, als ob alle .sos vorhanden sind. Ich linke mit ld, ist das noch uptodate? Im /usr/lib sind mehrere Bibliotheken, die ein '++' im Namen enthalten. Gegen die notwendigen wird er doch sicher selbst linken.
Ciao, Micha.
Grüße Stefan