Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Apr 2008 22:01:25 +0400
From:      Boris Samorodov <bsam@ipt.ru>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-emulation@freebsd.org, Scot Hetzel <swhetzel@gmail.com>, Walter Venable <weaseal@gmail.com>
Subject:   Re: linux_base-f8 giving me guff
Message-ID:  <60080682@ipt.ru>
In-Reply-To: <20080429131342.GZ18958@deviant.kiev.zoral.com.ua> (Kostik Belousov's message of "Tue\, 29 Apr 2008 16\:13\:42 %2B0300")
References:  <48164CD5.9030109@gmail.com> <790a9fff0804281537p27003437p10ff1d9bf7c7bff@mail.gmail.com> <20080429045001.GW18958@deviant.kiev.zoral.com.ua> <42172269@ipt.ru> <20080429101459.GX18958@deviant.kiev.zoral.com.ua> <95766063@serv3.int.kfs.ru> <20080429131342.GZ18958@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 29 Apr 2008 16:13:42 +0300 Kostik Belousov wrote:
> On Tue, Apr 29, 2008 at 04:51:28PM +0400, Boris Samorodov wrote:
> > On Tue, 29 Apr 2008 13:14:59 +0300 Kostik Belousov wrote:
> > > On Tue, Apr 29, 2008 at 10:46:10AM +0400, Boris Samorodov wrote:
> > > > (drop freebsd-ports@ from cross posting)
> > > > 
> > > > On Tue, 29 Apr 2008 07:50:01 +0300 Kostik Belousov wrote:
> > > > > On Mon, Apr 28, 2008 at 05:37:18PM -0500, Scot Hetzel wrote:
> > > > > > On Mon, Apr 28, 2008 at 5:16 PM, Walter Venable <weaseal@gmail.com> wrote:
> > > > > > > /usr/ports/emulators/linux_base-f8 $ sudo make
> > > > > > > ===>  linux_base-f8-8_3 compat.linux.osrelease: 2.4.2 is not supported.
> > > > > > > *** Error code 1
> > > > > > >
> > > > > > > Stop in /usr/ports/emulators/linux_base-f8.
> > > > > > >
> > > > > > > Ok -- I get it, linux kernel 2.4.2 isn't supported.  How do I get around
> > > > > > > this issue?  I'm running 6.3-RELEASE-p2...
> > > > > > 
> > > > > > sysctl compat.linux.osrelease=2.6.16
> > > > 
> > > > > The question that seems to be relevant there is why the port refuses to
> > > > > install with some compat.linux.osrelease value ? Does port run some
> > > > > linux binary during install time (unlikely) ?
> > > > 
> > > > Any linux port that installs a shared library (including linux_base
> > > > ports) runs linux ldconfig while (at the very end of) installing.
> > > > Since that ldconfig cannot run with such an old kernel it stops with
> > > > the error.
> > 
> > > Thank you for the explanation. I propose the error condition to be
> > > ignored, or warning to be printed etc. The ability to install linux-base
> > > and app ports without even loading linux.ko seems to be too useful.
> > 
> > Can you please give (an) example(s) when it is necessary to install
> > files with stale /usr/compat/linux/etc/ld.so.cache?
> > 
> > I'm not sure if it make more good than harm... So far we rely on
> > linuxulator being run and check for compat.linux.osrelease value
> > while installing. If that check is removed then we have only FreeBSD
> > OSVERSION which is very unreliable at compat.linux.osrelease quessing.

> Assume "I think" or "I propose" at the start of the each sentence below.
> This is only a gentle request for possible enhancement.

> It is wrong^H^H^H erm inconvenient to have ld.so.cache to be formed
> at the port installation time. The /usr/local/etc/rc.d/linux_ldconfig
> script that may be run at arbitrary time by the user is much more useful.

Hm, if I understand you correctly, you say that "make install" or
"pkg_add" will not be enough to run a linux application (say, which
had installed a linux gtk port as a dependency)? And a user should
run "make linux-config" or something else?

> I want to have the ability to install linux ports and make the packages
> from them in the chroots without disrupting the host or enabling the
> less tested linux kernel ABI support on the host. I do know about the
> per-jail ABI support, but it is not as convenient as chroot nor it
> solves the issue of the less tested kernel code.

Are you speaking about packaging f8 linux ports? Seams not a big
trouble since it is (almost) supported only at 8-CURRENT. Which itself
is known to be experimental. Packages for 8-CURRENT should be created
only at -current.

Nevertheless, in my recent work on f8 ports and bsd.xxx.mk I
introduced a variable LINUX_OSRELEASE which may be used (say at
/etc/make.conf) to define which value of compat.linux.osrelease to use
while dealing with ports. I've tested LINUX_OSRELEASE=2.4.2 while
actually running with linux.osrelease=2.6.16 and f8 linux ports.

Would it be enough for your packaging needs?

> The linux_ldconfig rc script would also ease the local installations
> of the programs that are not present in the ports. Overall, this would
> bring the linux dso handling close to the handling of the freebsd dso,
> that I consider good enough.

Either we use ldconfig while installing or we force a user do it
later. The latter may be done immediately -- just delete all ldconfigs
from linux ports and display a message "run ... by hand". I think that
the great majority of linuxulator users would complain.


WBR
-- 
bsam



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