Ich möchte die gemeinsam genutzten Bibliotheken zusammen mit meinem Programm bereitstellen, anstatt das Zielsystem aufgrund von Versionsunterschieden zu verwenden.Wie verlinkt man auf eine andere libc-Datei?
ldd
sagt mein Programm diese gemeinsamen Bibliotheken verwendet:
linux-gate.so.1 => (0xf7ef0000)**(made by kernel)**
libc.so.6 => /lib32/libc.so.6 (0xf7d88000)**(libc-2.7.so)**
/lib/ld-linux.so.2 (0xf7ef1000)**(ld-2.7.so)**
ich erfolgreich ld-xxx.so verknüpft sind durch die Zusammenstellung mit:
gcc -std=c99 -D_POSIX_C_SOURCE=200112L -O2 -m32 -s -Wl,-dynamic-linker,ld-2.7.so myprogram.c
Aber ich habe nicht zu einer erfolgreichen Verbindung libc-xxx.so
verwaltet. Wie kann ich das machen ?
Möglicherweise möchten Sie statisch betrachten Ihr Programm verknüpfen, wenn Sie nur eine ausführbare Datei haben. Auf diese Weise wird niemand versehentlich Ihre Version von libc verlieren und wenn sie Ihr Programm entfernen, wird Ihre libc nicht mehr verfügbar sein. – nategoose
Gleich aber statisch: http://stackoverflow.com/questions/10763394/how-to-build-a-c-program-using-a-custom-version-of-glibc –