Date: Wed, 15 Dec 2004 09:34:59 -0800 From: Sean McNeil <sean@mcneil.com> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: amd64@FreeBSD.org Subject: Re: linux proc, rpm and glibc_post_upgrade Message-ID: <1103132099.43203.10.camel@server.mcneil.com> In-Reply-To: <20041215104922.GN25967@ip.net.ua> References: <1103059661.47262.6.camel@server.mcneil.com> <20041215104922.GN25967@ip.net.ua>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
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,
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)
iD8DBQBBwHXDyQsGN30uGE4RAjAhAJ9JJzpGL0i/Vnml+Ox1k6MlKoWLggCfYem6
GYpXvXMfgmRB0NrEQqoLY6E=
=EzNV
-----END PGP SIGNATURE-----
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1103132099.43203.10.camel>
