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>