|
List Info
Thread: Re: linux_base-f8 giving me guff
|
|
| Re: linux_base-f8 giving me guff |

|
2008-04-29 08:13:42 |
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.
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.
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.
|
|
| Re: linux_base-f8 giving me guff |
  Luxembourg |
2008-04-29 09:46:33 |
Quoting Kostik Belousov <kostikbel gmail.com> (from Tue, 29
Apr 2008
16:13:42 +0300):
> 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.
>
> 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.
>
> 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.
We have different DTRT behaviors competing for a solution
here.
One is that people want to install it without having the
need of a
loaded linux kld (let's call this "expert way").
Another one is that
people want to use an installed port immediately (let's call
it the
"user friendly way"). The FreeBSD linux ports are
organized in the
user friendly way. In this second category we have two
cases, one that
people don't have the linux stuff in the kernel, the other
that the
linux bits are available in the kernel. The ports handle
both cases by
telling the user what he has to do. As users don't read the
install
messages (yes, overly simplified view of the world, I know),
the linux
ports abort if the prerequisites are not met.
So far not much people have complained that the linux stuff
is
organized like it is. In fact this is the first case I
remember of
seeing such a request.
For the linux_base port we may already have the necessary
stuff to
handle it after a reboot, but the linux kld can be loaded at
any time,
and there's no way we can specify a dependency from loading
the kld to
running the linux ldconfig in some way. Additionally,
linux_base is
not the only port where we need to run linux programs. For
example for
linux-gtk2 we have to run some programs which register some
gtk plugins.
Getting this all right while keeping the current user
friendlyness is
not done in few minutes.
I don't object to add some
I_AM_AN_EXPERT__I_KNOW_WHAT_I_DO-knob which
disables the run of linux programs and removes the linux ABI
checks,
but I don't think it is a good idea to rework the linux
ports in a way
suggested in this thread. If you read the messages on the
mailinglists
regarding the problems people have installing the linux
stuff, you
will see that this outnumbers the number of people which
want this
"expert functionality" by a large amount. The
current way of the linux
ports is a refinement of several years of step by step
improvements.
Making an export-knob is also not done in 2 minutes. An
ifdef around
the linux kld check, and a ifdef around the run of ldconfig
is _not_
enough. We have several places where the linux ldconfig is
run (e.g.
in the USE_LDCONFIG know of bsd.port.mk). Patches for this
are welcome
on emulation , but don't expect to get everything right the first
time.
Note: there are not much domain specific experts. Some
people may
think it is easy to do, but the evil part is in the
details.
Hint for people which don't believe me and would like to
produce
patches which changes the ports to not require the linux kld
by
default: As long as you haven't looked into each
emulation maintained
linux port line by line, and as long as you haven't
considered the
needs of the novice users, don't even try to do some patches
which
make the ports install without the linux kld by default, you
will
waste a lot of your time if you don't make yourself familiar
with all
the ports first.
Bye,
Alexander.
--
In which level of metalanguage are you now speaking?
http://www.Leidinger.net
Alexander Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org
netchild FreeBSD.org : PGP ID = 72077137
_______________________________________________
freebsd-emulation freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emu
lation
To unsubscribe, send any mail to
"freebsd-emulation-unsubscribe freebsd.org"
|
|
| Re: linux_base-f8 giving me guff |
  Russian Federation |
2008-04-29 13:01:25 |
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
_______________________________________________
freebsd-emulation freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emu
lation
To unsubscribe, send any mail to
"freebsd-emulation-unsubscribe freebsd.org"
|
|
[1-3]
|
|