linux_base-f8 giving me guff
Boris Samorodov
bsam at ipt.ru
Tue Apr 29 18:01:30 UTC 2008
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 at 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
More information about the freebsd-emulation
mailing list