Re: Tools statisch linken
Am Freitag, 29. Oktober 2004 14:28 schrieb Markus Raab: Frank Evers wrote: Hi ich würde gerne einige Tools, besonders die im Paket procps statisch gelinkt bauen. Da die Sourcen offenbar kein configure Script enthalten in dem man solches angeben könnte frage ich mich, ob es einen einfachen Weg gibt dies zu erreichen, ohne mühsam die Makefiles editiere zu müssen. Was genau ist sooo schlimm daran ein Linkerflag zu setzen? Ja, tatsächlich reichte es eine einzige Zeile im root-Makefile zu ändern, und die libproc dazu zu bewegen als .a und nicht als .so, ebenfalls händisch im entsprechenden Makefile. Ich bekomme jetzt dennoch: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking bzw. andere Funktionen die die glibc für statisch gelinkten Programmen erfordern. Ich bin jetzt überrascht, bedeutet statisch nicht eigentlich, daß Programme autonom laufen und gerade _nicht_ auf dynamische libs angewiesen sind? Warum muß hier jetzt die glibc vorhanden sein? Tatsächlich laufen die Programme scheinbar auch ohne, gebaut habe ich auf sid, und unter woody laufen zumindest ps und top einwandfrei. Was soll ich jetzt von der Compilerwarnung halten? -- Gruß Frank
Re: Tools statisch linken
On 2004-10-30 15:27:09 +0200, Frank Evers wrote: Ja, tatsächlich reichte es eine einzige Zeile im root-Makefile zu ändern, und die libproc dazu zu bewegen als .a und nicht als .so, ebenfalls händisch im entsprechenden Makefile. Ich bekomme jetzt dennoch: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking bzw. andere Funktionen die die glibc für statisch gelinkten Programmen erfordern. Ich bin jetzt überrascht, bedeutet statisch nicht eigentlich, daß Programme autonom laufen und gerade _nicht_ auf dynamische libs angewiesen sind? Warum muß hier jetzt die glibc vorhanden sein? Tatsächlich laufen die Programme scheinbar auch ohne, gebaut habe ich auf sid, und unter woody laufen zumindest ps und top einwandfrei. Was soll ich jetzt von der Compilerwarnung halten? Was ich letztens auf einer anderen Mailing-Liste gelesen haben (vermutlich debian-devel) eignet sich die glibc nicht wirklich für statisches Linken. Die glibc wird zwar statisch in dein Programm gelinkt, jedoch werden die Bibliotheken für die Namensauflösung (/lib/libnss_*) bei Bedarf dynamisch geladen (dlopen()) und landen nicht statisch im Programm. Deshalb die Warnung, du brauchst ein paar /lib/libnss_* trotz statischen Linken. Das Problem was beim statischen Linken der glibc dann entsteht, ist wenn sich die libnss_* ändern (z.B. neue Versionen) und nicht mehr zu der glibc passen, mit der du damals das Programm statisch gelinkt hast. Michael -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Tools statisch linken
Frank Evers [EMAIL PROTECTED] wrote: Ja, tatsächlich reichte es eine einzige Zeile im root-Makefile zu ändern, und die libproc dazu zu bewegen als .a und nicht als .so, ebenfalls händisch im entsprechenden Makefile. Ich bekomme jetzt dennoch: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking bzw. andere Funktionen die die glibc für statisch gelinkten Programmen erfordern. Ich bin jetzt überrascht, bedeutet statisch nicht eigentlich, daß Programme autonom laufen und gerade _nicht_ auf dynamische libs angewiesen sind? Warum muß hier jetzt die glibc vorhanden sein? Weil z.B. die libnss immer dynamisch sein muss, sonst kann dein statisches Programm auf z.B. einem System mit Usern aus LDAP diese nicht auflösen. Natürlich könntest du die Bibliotheken für LDAP, MySQL, PostgreSQL, Flatfile-DB und BDB mit einbinden, aber was, wenn ich eine komplett eigene Bibliothek für mein System habe, welche die User von einem Lochkartenleser via serieller Schnittstelle zieht? S° -- 75 Things you don't want to hear from your Sys Admin. 54. I've got a bad feeling about this... -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Tools statisch linken
Hi ich würde gerne einige Tools, besonders die im Paket procps statisch gelinkt bauen. Da die Sourcen offenbar kein configure Script enthalten in dem man solches angeben könnte frage ich mich, ob es einen einfachen Weg gibt dies zu erreichen, ohne mühsam die Makefiles editiere zu müssen. Eine Idee? -- Gruß Frank
Re: Tools statisch linken
Frank Evers wrote: Hi ich würde gerne einige Tools, besonders die im Paket procps statisch gelinkt bauen. Da die Sourcen offenbar kein configure Script enthalten in dem man solches angeben könnte frage ich mich, ob es einen einfachen Weg gibt dies zu erreichen, ohne mühsam die Makefiles editiere zu müssen. Was genau ist sooo schlimm daran ein Linkerflag zu setzen? man gcc (-static) Wenn du dir das ersparen willst: Viele andere Distributionen liefern sowas immer statisch mit, also würde es mich wundern wenn nicht irgendwo statisch kompilierte procps herumschwirren. mfg Markus -- http://markus-raab.org | Mehr als die Vergangenheit interessiert -o) | mich die Zukunft, denn in ihr gedenke ich Kernel 2.6.8.1 /\ | zu leben. -- Albert Einstein on a i686 _\_v | -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)