getpwent() szwankuje na multilib-ie?
Pawel Sikora
pluto at agmk.net
Fri Nov 19 13:12:08 CET 2010
witam,
mam taka sytuacje, ze gdy odpalam 32-bitowa aplikacje na 64-bitowym pld,
to getpwent() i zwraca mi danych uzytkowanika, ktore sa pobierane z NIS-a.
$ g++ home.cpp -m64 && ./a.out
/ahome/pawels
$ g++ home.cpp -m32 && ./a.out
homeless?
$ cat home.cpp
#include <cstdio>
#include <pwd.h>
#include <unistd.h>
int main()
{
::uid_t euid = ::geteuid();
for ( struct passwd const* p = ::getpwent(); p; p = ::getpwent() )
if ( p->pw_uid == euid )
{
std::puts( p->pw_dir );
::endpwent();
return 0;
}
::endpwent();
std::puts( "homeless?" );
return 1;
}
moze to ktos potwierdzic? na konsoli nie mam zadnych logow o brakujacych bibliotkeach, itp.
ypcat, wyglada, ze dziala:
# setarch i686 ypcat -k passwd|grep pawels
pawels pawels:<ciach>.:1074:500:Pawel Sikora:/ahome/pawels:/bin/zsh
# setarch x86_64 ypcat -k passwd|grep pawels
pawels pawels:<ciach>.:1074:500:Pawel Sikora:/ahome/pawels:/bin/zsh
wiec co? kwas w glibcu?
More information about the pld-devel-pl
mailing list