Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
lisan
- Beiträge: 658
- Registriert: 22.02.2003 19:05:04
- Wohnort: Berlin
-
Kontaktdaten:
Beitrag
von lisan » 08.08.2005 07:17:05
Hi,
Habt ihr probleme code von 3 nach 4 zu portieren ?
Ich stelle fest, dass unabhaengig von anderen include graphen, mir nun ein segm. fault nach dem anderen um die ohren fliegt.
Muss wieder jede c++ lib gegen libstdc++6 gelinkt sein ?
Code: Alles auswählen
#0 0xb7b5c9b8 in std::ostream::flush () from /usr/lib/libstdc++.so.6
#1 0xb7b5cae9 in std::ostream::sentry::sentry () from /usr/lib/libstdc++.so.6
#2 0xb7b5efe5 in std::operator<< <std::char_traits<char> > () from /usr/lib/libstdc++.so.6
#3 0x08085c0e in main (argc=1, argv=0xbffff844) at program.cpp:66
Gruss,
Arvid
-
peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Beitrag
von peschmae » 08.08.2005 09:39:11
Ich hab gcc 4 schon ne weile un hab eigentlich keine solchen Probleme erlebt bisher.
Tritt das schon bei einem kleinen Miniprogramm auf das die Standardbibliothek verwendet? Kannst du mal ein minimalbeispiel bringen wo das auftritt bzw. auch wie du das compilierst und linkst?
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 08.08.2005 12:27:52
verwendest du vielleicht irgendwelche Shared-Libraries, die noch mit der libstdc++5 gelinkt wurden ?
Gruß
gms
-
lisan
- Beiträge: 658
- Registriert: 22.02.2003 19:05:04
- Wohnort: Berlin
-
Kontaktdaten:
Beitrag
von lisan » 10.08.2005 15:06:12
@peschmae:
Ja, ein miniprogr. scheitert nicht.
@gms:
Ja, xercesc++
Code: Alles auswählen
asas@maggie:~/eclipse/cinsim$ ldd src/lt-cinsim
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7fca000)
libxy.so.0 => /home/asas/eclipse/cinsim/src/routing/xy/.libs/libxy.so.0 (0xb7fc2000)
libwf.so.0 => /home/asas/eclipse/cinsim/src/routing/westfirst/.libs/libwf.so.0 (0xb7fb9000)
libsp.so.0 => /home/asas/eclipse/cinsim/src/routing/shortestpath/.libs/libsp.so.0 (0xb7fac000)
liblb.so.0 => /home/asas/eclipse/cinsim/src/coroutine/localbackpressure/.libs/liblb.so.0 (0xb7fa0000)
libdefaultarbiter.so.0 => /home/asas/eclipse/cinsim/src/Arbiter/.libs/libdefaultarbiter.so.0 (0xb7f79000)
libdefaultrouting.so.0 => /home/asas/eclipse/cinsim/src/routing/.libs/libdefaultrouting.so.0 (0xb7f73000)
libdefaultswitching.so.0 => /home/asas/eclipse/cinsim/src/switching/.libs/libdefaultswitching.so.0 (0xb7f6d000)
libdefaultcoroutine.so.0 => /home/asas/eclipse/cinsim/src/coroutine/.libs/libdefaultcoroutine.so.0 (0xb7f5e000)
libdefaultcontroller.so.0 => /home/asas/eclipse/cinsim/src/controller/.libs/libdefaultcontroller.so.0 (0xb7f55000)
libxerces-c.so.25 => /usr/lib/libxerces-c.so.25 (0xb7bc0000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7ada000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7ab8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7aad000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7978000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7968000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb78ae000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
hm, das koennte evtl. zu solchen effekten fuehren, auch wenn ich nicht genau weiss wie.
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 10.08.2005 15:28:59
zumindest solltest du diese Warning bekommen:
Code: Alles auswählen
root@gms:~# g++-3.4 -o y y.cpp libx.so
/usr/bin/ld: warning: libstdc++.so.5, needed by libx.so, may conflict with libstdc++.so.6
Gruß
gms
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 11.08.2005 11:02:10
Den Artikel kannte ich zwar schon, diesen Absatz hatte ich aber überlesen.
Der Testfall ist allerdings ein "C" Programm, welches "C" Funktionen (extern "C") aus zwei Libraries mit unterschiedlichem C++ ABI aufruft. Da sind also schon sehr viele Einschränkungen enthalten. Ich habe jetzt auch einmal diesen Testfall nachgestellt und bekommen in diesem Fall auch kein Warning vom gcc.
Sschreibst du ein(e) C oder C++ Programm/Library ?.
Gruß
gms
-
lisan
- Beiträge: 658
- Registriert: 22.02.2003 19:05:04
- Wohnort: Berlin
-
Kontaktdaten:
Beitrag
von lisan » 11.08.2005 11:27:44
C++
Ich krieg das wie ich grad sehe schon in den griff.
Mein gott haben die aufgeraeumt, die stdc++ ist ganzschoen umgebaut.
edit: Es laeuft
*freu*