staticke linkovani s glibc 2.1 ?

Michal Krause michal na krause.cz
Úterý Leden 25 12:20:44 CET 2000


On 25/01/2000, Vaclav Ovsik wrote:

> Tak si zkuste treba:
> 
> 	#include <stdio.h>
> 	#include <pwd.h>
> 	#include <sys/types.h>
> 
> 	void main()
> 	{
> 	    struct passwd *x_p;
> 
> 	    x_p = getpwnam("root");
> 	    if ( ! x_p )
> 	    {
> 		fprintf(stderr, "x_p is null pointer\n");
> 		return;
> 	    }
> 	    printf("pw_name=%s\npw_passwd=%s\npw_uid=%d\n",
>             x_p->pw_name, x_p->pw_passwd, x_p->pw_uid);
> 
> 	}
> 
> Pochopitelne u programu, ktere nechteji nic z NSS (nebo neco jineho
> specialniho) je to v pohode.

Tohle mi funguje tak napul. Tvari se to sice staticky, nechybi mu zadne
symboly, ale getpwnam() vraci NULL, ovsem errno je SUCCESS. Pokud tam
nahraju libc, tak zacne fungovat normalne. To je nejake podivne.

Na otazku, proc program, o kterem ldd tvrdi, ze je to staticka binarka,
otevira libc.so ci libnss_files.so.2 a proc se tvari, ze funkce uspela,
ackoliv vraci NULL, bude muset asi odpovedet nekdo povolanejsi.

S pozdravem
--
Michal Krause                                                      /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu     /\/  \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz

Co napsat do signatury, aby to nikoho nepohorsilo? Snad jedine nejakou
obecne znamou pravdu. Doufam, ze vsichni vite, ze tucnak je bylozrava ryba. 


Další informace o konferenci Linux