From owner-freebsd-amd64@FreeBSD.ORG Wed Dec 15 17:35:01 2004 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE04816A4CE; Wed, 15 Dec 2004 17:35:01 +0000 (GMT) Received: from mail.mcneil.com (mcneil.com [24.199.45.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B9BB43D31; Wed, 15 Dec 2004 17:35:01 +0000 (GMT) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id 2BF82F1B09; Wed, 15 Dec 2004 09:35:01 -0800 (PST) Received: from mail.mcneil.com ([127.0.0.1]) by localhost (server.mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 42487-06; Wed, 15 Dec 2004 09:34:59 -0800 (PST) Received: from mcneil.com (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id C87DFF1950; Wed, 15 Dec 2004 09:34:59 -0800 (PST) From: Sean McNeil To: Ruslan Ermilov In-Reply-To: <20041215104922.GN25967@ip.net.ua> References: <1103059661.47262.6.camel@server.mcneil.com> <20041215104922.GN25967@ip.net.ua> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-0yXc74aN+F27xtUHxFVQ" Date: Wed, 15 Dec 2004 09:34:59 -0800 Message-Id: <1103132099.43203.10.camel@server.mcneil.com> Mime-Version: 1.0 X-Mailer: Evolution 2.0.3 FreeBSD GNOME Team Port X-Virus-Scanned: by amavisd-new at mcneil.com cc: amd64@FreeBSD.org Subject: Re: linux proc, rpm and glibc_post_upgrade X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2004 17:35:01 -0000 --=-0yXc74aN+F27xtUHxFVQ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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 withou= t > > --noscripts. So far, I've found that glibc will not install because > >=20 > > /compat/linux/usr/sbin/glibc_post_upgrade > >=20 > > 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. > >=20 > > Looking at strings output, I see a few things of interest: > >=20 > > /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 > >=20 > > 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. > >=20 > 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 =3D vfork (); if (pid =3D=3D 0) { execl ("/sbin/ldconfig", "/sbin/ldconfig", NULL); _exit (1); } else if (pid < 0) { _exit (1); } if (waitpid (0, &status, 0) !=3D 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) >=20 >=20 > Cheers, --=-0yXc74aN+F27xtUHxFVQ Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBBwHXDyQsGN30uGE4RAjAhAJ9JJzpGL0i/Vnml+Ox1k6MlKoWLggCfYem6 GYpXvXMfgmRB0NrEQqoLY6E= =EzNV -----END PGP SIGNATURE----- --=-0yXc74aN+F27xtUHxFVQ--