linux proc, rpm and glibc_post_upgrade
Sean McNeil
sean at mcneil.com
Wed Dec 15 09:35:01 PST 2004
On Wed, 2004-12-15 at 12:49 +0200, Ruslan Ermilov wrote:
> On Tue, Dec 14, 2004 at 01:27:41PM -0800, Sean McNeil wrote:
> > I decided to take a look at why linux_base is failing to install without
> > --noscripts. So far, I've found that glibc will not install because
> >
> > /compat/linux/usr/sbin/glibc_post_upgrade
> >
> > returns 1 when it is executed. Does anyone know where I can get the
> > source code to this for examination. A quick google got me nowhere.
> >
> > Looking at strings output, I see a few things of interest:
> >
> > /lib/i686/libc-2.2.4.so
> > /lib/i686/libm-2.2.4.so
> > /lib/i686/libpthread-0.9.so
> > /lib/i686/libc.so.6
> > /lib/i686/libm.so.6
> > /lib/i686/libpthread.so.0
> > /sbin/ldconfig
> > /usr/sbin/iconvconfig
> > /sbin/telinit
> > /dev/initctl
> > /proc/1/exe
> > /proc/1/root
> >
> > I do not see a /compat/linux/lib/i686 dir.
> > /compat/linux/proc is unmounted during install.
> > when mounted, /compat/linux/proc/1/root points to the system root, not
> > the linux compat root and there is not /compat/linux/proc/1/exe.
> >
> I already mentioned that in another thread: sendmsg and recvmsg are
> known to be broken on amd64, hence exit(1) from glibc_post_upgrade.
> Installing only glibc-2.2.*.rpm with --noscripts exhibits another
> problem (from dmesg(8)):
I also mentioned in another recent thread what the sources to
glibc_post_upgrade look like:
pid = vfork ();
if (pid == 0) {
execl ("/sbin/ldconfig", "/sbin/ldconfig", NULL);
_exit (1);
} else if (pid < 0) {
_exit (1);
}
if (waitpid (0, &status, 0) != pid || !WIFEXITED (status)) {
_exit (1);
}
So if fork/waitpid communicate via sendmsg/recvmsg that would mean a lot
of linux programs would not work :(
> linux: pid 24134 (glidelink): sysctl {1,23} is not implemented
> linux: pid 24134 (glidelink): syscall syslog not implemented
> pid 24134 (glidelink), uid 0: exited on signal 12 (core dumped)
>
>
> Cheers,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-amd64/attachments/20041215/6dd3722b/attachment.bin
More information about the freebsd-amd64
mailing list