Verfügbarkeit von libresolv

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 9252
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Verfügbarkeit von libresolv

Beitrag von Meillo » 15.07.2010 17:17:36

Hoi,

bei Debian wird die libresolv von der libc bereitgestellt:

Code: Alles auswählen

$ apt-file search libresolv.so
libc6: /lib/libresolv.so.2
libc6-amd64: /lib64/libresolv.so.2
libc6-dev: /usr/lib/libresolv.so
libc6-dev-amd64: /usr/lib64/libresolv.so
libc6-i686: /lib/i686/cmov/libresolv.so.2
libc6-xen: /lib/i686/nosegneg/libresolv.so.2
Damit sollte sie auf jedem Debian verfügbar sein.

Wie sieht das mit anderen Systemen aus? GNU/Linux, BSD, sonstige Unixe.

Kann ich davon ausgehen, dass die libresolv quasi überall verfügbar ist?
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13929
Registriert: 09.04.2008 12:48:59

Re: Verfügbarkeit von libresolv

Beitrag von hikaru » 15.07.2010 20:40:40

Relativ jungfräuliche Fedoras, Slackwares und Opensuses haben libresolv.so. Damit würde ich behaupten, dass du sie auf jedem Linux finden wirst.
Bei Unix im Allgemeinen sieht es etwas anders aus. OpenSolaris hat die Datei ebenfalls, aber auf einem frischen FreeBSD 8.0 konnte ich sie nicht finden. Andere BSDs die nicht auf FreeBSD aufsetzen habe ich gerade nicht da.

Benutzeravatar
Meillo
Moderator
Beiträge: 9252
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Verfügbarkeit von libresolv

Beitrag von Meillo » 15.07.2010 23:15:19

hikaru hat geschrieben:Relativ jungfräuliche Fedoras, Slackwares und Opensuses haben libresolv.so. Damit würde ich behaupten, dass du sie auf jedem Linux finden wirst.
Gut, das deckt sich mit meiner Einschätzung.
Bei Unix im Allgemeinen sieht es etwas anders aus. OpenSolaris hat die Datei ebenfalls,
Auf einem SunOS 5.9 habe ich sie auch gefunden.
aber auf einem frischen FreeBSD 8.0 konnte ich sie nicht finden. Andere BSDs die nicht auf FreeBSD aufsetzen habe ich gerade nicht da.
Bei NetBSD 4.0 ist sie da.

Ich habe mal weiter nachgeforscht. Die Funktionen der libresolv wurden von BSD eingeführt, wie mir scheint, über die libc. Folgendes lässt manches erahnen: http://ftp12.tw.freebsd.org/pub/FreeBSD ... v/Makefile

Interessant ist ``INTERNALLIB'' und ``fakelib.c''. Vermutlich ist die libresolv nur aus Kompatibilitätsgründen da.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 9252
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Verfügbarkeit von libresolv

Beitrag von Meillo » 15.07.2010 23:29:45

Ich habe jetzt auf dem BSD mal kompiliert, besser gesagt, ich mache nur das Linken von Hand:

Standardmäßig ohne -lresolv:
Funktioniert wunderbar und ldd zeigt die libresolv nicht an.

Und mal mit -lresolv:
Funktioniert ebenso und ldd zeigt die libresolv jetzt an.


Die libresolv exportiert z.B. auch kein res_query. Das spricht auch dafür dass sie nur Fake oder für Kompatiblität ist.

Code: Alles auswählen

$ nm /usr/lib/libc.so | grep res_query
00091468 T __res_querydomain
0009156c T _res_query
0009156c W res_query
00091468 W res_querydomain

$ nm /usr/pkg/emul/linux/lib/libresolv.so.2 | grep res_query
000064d0 T __res_query
00006360 T __res_querydomain
000064d0 W res_query
00006360 W res_querydomain

$ nm /usr/lib/libresolv.so | grep res_query 

$
Use ed once in a while!

Antworten