Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Feb 2008 17:39:41 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        freebsd-ports@freebsd.org
Cc:        Dmitry Marakasov <amdmi3@amdmi3.ru>
Subject:   Re: linux app port, "version `GLIBC_2.4' not found"
Message-ID:  <20080204173941.mcenwexi8gkwk8w8@webmail.leidinger.net>
In-Reply-To: <20080204145213.GA45739@hades.panopticon>
References:  <20080203182457.GA74879@hades.panopticon> <200802030945.28722.beech@freebsd.org> <20080204145213.GA45739@hades.panopticon>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Dmitry Marakasov <amdmi3@amdmi3.ru> (from Mon, 4 Feb 2008 =20
17:52:13 +0300):

> * Beech Rintoul (beech@freebsd.org) wrote:
>> > I'm trying to port a linux app, and it says:
>> >
>> > % ./app
>> > ./app: /lib/obsolete/linuxthreads/libc.so.6: version `GLIBC_2.4'
>> > not found (required by ./app)
>> >
>> > Seems like linux_base-fc4 is too old for this application, as it
>> > requires glibc 2.4. Is there a way to indicate in a port that newer
>> > linux_base is needed?
>>
>> From bsd.port.mk:
>>
>> # USE_LINUX=09=09- Set to yes to say the port needs the default linux bas=
e
>>                                   port.
>> #=09=09=09=09  Set to value <X>, if the port needs emulators/linux_base-<=
X>.
>> #=09=09=09=09  If set to "7", a dependency is registered to
>> =09=09                  emulators/linux_base.
>> #=09=09=09=09  Implies appropriate settings for STRIP and STRIP_CMD.
> Yes, but this info seems a bit outdated for me.
> First, there's no linux_base-7. Besides fc4 there's fc6 and f7, what

It takes a full exp-build cycle to get a change in bsd.port.mk into =20
the tree. Nobody invested the hassle so far to change this comment. As =20
it is just an example, and not a "there has to be a linux_base-7 =20
port"-comment, there's no real pressure to change it to something else.

> should I use? Also, what'll happen if user has linux_base-fc4
> installed already? Seems to me that it would be better to check for

If any other linux_base is installed, the install will fail.

> linux glibc >=3D2.4 and ask user to reinstall newer linux_base if it's not
> found.
> The problem is there are no examples for this, everyone just use
> LINUX_BASE=3Dyes.

To use any newer linux base port, you need to switch to linux 2.6 =20
emulation, as the depend on features of 2.6. This 2.6 emulation is =20
currently
  - only available in 7.0 and 8-current (default =3D 2.4)
  - not stable yet (known bugs)
  - lacks some syscalls which are necesary for full 2.6.16 emulation

As long as we don't have 2.6 emulation in a good shape, we can not =20
switch to it, and as such, we can not switch to a more recent linux =20
base port. So any port port which _really_ depends upon a newer linux =20
base port has to use USE_LINUX=3Dfc6 or USE_LINUX=3Df7.

Which one you take is up to you, but the most recent one is probably =20
the best thing to do in this case. If you additionally want to check =20
for glibc>=3D2.4, it's up to you too, but any message which suggest to =20
update to a non-default linux base (default =3D fc4) should ("should" as =20
in "if you don't do it, you will screw users") contain the information =20
that this needs to switch the kernel to 2.6.16 emulation, and that =20
this will only work on 7.0 or later, and that at least in 7.0 there =20
are known problems with the non-default linux emulation. We are also =20
low on people with enough time to debug and fix problems in the 2.6 =20
emulation, so anybody with problems should expect that he has to debug =20
and fix the real cause of the problem himself. On emulation@ we are =20
helpful as far as our time allows, but the time is low ATM.

Bye,
Alexander.

--=20
Newlan's Truism:
=09An "acceptable" level of unemployment means that the
=09government economist to whom it is acceptable still has a job.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID =3D B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID =3D 72077137



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080204173941.mcenwexi8gkwk8w8>