Re: Kompilieren und linken eines _einzigen_ Binary von suse 8.2 bis 10.2?
Andre Heine <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Organization | none |
| Message-ID | <[email protected]> |
Am Montag, 21. Juli 2008 12:18 schrieb Philipp Thomas: > * Andre Heine ([email protected]) [20080721 12:08]: > > Welche linke ich denn nun? Version der Distri oder Version vom Compiler? > > > > Und was ist, wenn ich gegen Libs linke die mit 'nem anderem Compiler > > compiliert worden sind. Also ich kompiliere mit dem gcc 3.4.6 gegen libs > > die mit dem gcc 4.1.2 Compiler erstellt worden sind!? > > Statisch linken ist im Grunde kaum noch möglich, erst recht, wenn es sich > um C++ Bibliotheken handelt. So funktionieren exceptions z.B. nur, wenn > alle Bibliotheken die gleiche dynamische Bibliothek verwenden. Und wenn > irgendeine der namensauflösenden Funktionen der glibc (z.B. gethostbyname) > verwendet werden soll, *muss* die glibc dynamisch gelinkt werden. ACK, man bekommt IMHO auch eine Meldung von Linker/Compiler ... > Fazit: zumindest libgcc, libstdc++ und glibc sollten *immer* dynamisch > gelinkt werden, was ein Programm für alle SuSE Linux/openSUSE Versionen > ausschliesst. Ok! Das würde ja meine Aussagen erstmal untermauern... Aber wie sieht das aus, wenn ich __alle__ Abhängigkeiten selber kompiliere und die libstdc++.so.6, etc mitliefere und mit LD_LIBRARY_PATH arbeite? AFAIK kann ich alles mitliefern (ausser glibc glaube ich) und ggf. für unser Programm den LD_LIBRARY_PATH verbiegen?? Das OpenOffice RPM von der openoffice.org z.B. liefert die C++ runtime mit. Das könnte klappen, oder??? Viele Grüsse Andre -- "The algorithm to do that is extremely nasty. You might want to mug someone with it." -- M. Devine, Computer Science 340