staticke linkovani s glibc 2.1 ?
Vaclav Ovsik
Vaclav.Ovsik na i.cz
Úterý Leden 25 12:01:59 CET 2000
On Tue, 25 Jan 2000, Michal Krause wrote:
> On 25/01/2000, Vaclav Ovsik wrote:
...
> > Umite nekdo zalinkovat do programu ty moduly tak, aby to pri spusteni
> > uz nic nechtelo ? Respektive lze to vubec ? Nasel jsem /usr/lib/libnsl.a,
> > ktera asi implementuje NSS, ale jak to slinkovat bez zasahu
> > do stavajiciho programu.
>
> Pridat pri linkovani prametr -lnsl?
Takhle jednoduse to nepujde, ty veci jsou unresolved v glibc ne v tom mem prog.
> Ja tedy nevim, prave jsem to testnul a bez nejmensich problemu jsem
> vyrobil docista statickou binarku:
>
> gcc -static -Wall -O2 -g -o xpath_test xpath_test.c -lxml -lz
> ldd xpath_test
> not a dynamic executable
> chroot $PWD ./xpath_test
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.
> Ja myslim, ze dynloader je urcen kompilerem, ne?
Hmm, mate pravdu nasel jsem option u ld, asi to tak bude.
Mel jsem davat pozor, kdyz se mluvilo o executable formatech :-)
--
Vaclav Ovsik email: Vaclav.Ovsik na i.cz
ICZ a.s. phone: +420 19 7165659
fax: +420 19 7165651
Další informace o konferenci Linux