From owner-freebsd-emulation@FreeBSD.ORG Tue Apr 29 18:01:30 2008 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA50B106564A for ; Tue, 29 Apr 2008 18:01:30 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from services.ipt.ru (services.ipt.ru [194.62.233.110]) by mx1.freebsd.org (Postfix) with ESMTP id 807828FC28 for ; Tue, 29 Apr 2008 18:01:30 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from [85.173.16.52] (helo=localhost.my.domain) by services.ipt.ru with esmtpa (Exim 4.54 (FreeBSD)) id 1Jqu8u-000I2P-TB; Tue, 29 Apr 2008 22:01:29 +0400 To: Kostik Belousov 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> From: Boris Samorodov Date: Tue, 29 Apr 2008 22:01:25 +0400 In-Reply-To: <20080429131342.GZ18958@deviant.kiev.zoral.com.ua> (Kostik Belousov's message of "Tue\, 29 Apr 2008 16\:13\:42 +0300") Message-ID: <60080682@ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-emulation@freebsd.org, Scot Hetzel , Walter Venable Subject: Re: linux_base-f8 giving me guff X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Apr 2008 18:01:30 -0000 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 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