Bug 12918 - linux_base build fails on kernels built with COMPAT_LINUX
Summary: linux_base build fails on kernels built with COMPAT_LINUX
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Marcel Moolenaar
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-08-02 04:40 UTC by dlombardo
Modified: 1999-08-18 14:10 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dlombardo 1999-08-02 04:40:01 UTC
make install fails in /usr/ports/emulators/linux_base when the kernel
is built with the COMPAT_LINUX option.  This is because the Makefile
assumes that the linux.ko kernel module must be loaded to enable Linux
emulation.

Fix: 

Replace the following line in the Makefile

@if [ -z "`kldstat | ${GREP} linux.ko | ${AWK} '{print $1}'`" ]; then \

with some other means of detecting the presence of Linux support in
the kernel, e.g. check to see whether the length of

nm `sysctl kern.bootfile | ${AWK} '{print $2}'` | ${GREP} linux_ioctl

is non-zero.  There must be a better way, though. ;-)
How-To-Repeat: Compile Linux compatibility support into the kernel by including the
option COMPAT_LINUX in the config file, then try installing linux_base
in ports.
Comment 1 cpiazza freebsd_committer freebsd_triage 1999-08-02 23:36:44 UTC
Responsible Changed
From-To: freebsd-ports->marcel

Over to maintainer 

Comment 2 girgen 1999-08-04 03:06:34 UTC
Hmmm... I thought COMPAT_LINUX was deprecated?

/Palle

dlombardo@excite.com wrote:
> 
> >Number:         12918
> >Category:       ports
> >Synopsis:       linux_base build fails on kernels built with COMPAT_LINUX
> >Confidential:   no
> >Severity:       non-critical
> >Priority:       low
> >Responsible:    freebsd-ports
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Sun Aug  1 20:40:01 PDT 1999
> >Closed-Date:
> >Last-Modified:
> >Originator:     Dean Lombardo
> >Release:        4.0-current
> >Organization:
> >Environment:
> FreeBSD xtsw12c.ukc.ac.uk 4.0-CURRENT FreeBSD 4.0-CURRENT #1: Sat Jul 31 11:31:42 GMT 1999     root@xtsw12c.ukc.ac.uk:/usr/src/sys/compile/AMSTECH  i386
> >Description:
> make install fails in /usr/ports/emulators/linux_base when the kernel
> is built with the COMPAT_LINUX option.  This is because the Makefile
> assumes that the linux.ko kernel module must be loaded to enable Linux
> emulation.
> >How-To-Repeat:
> Compile Linux compatibility support into the kernel by including the
> option COMPAT_LINUX in the config file, then try installing linux_base
> in ports.
> >Fix:
> Replace the following line in the Makefile
> 
> @if [ -z "`kldstat | ${GREP} linux.ko | ${AWK} '{print $1}'`" ]; then \
> 
> with some other means of detecting the presence of Linux support in
> the kernel, e.g. check to see whether the length of
> 
> nm `sysctl kern.bootfile | ${AWK} '{print $2}'` | ${GREP} linux_ioctl
> 
> is non-zero.  There must be a better way, though. ;-)
> 
> >Release-Note:
> >Audit-Trail:
> >Unformatted:
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-ports" in the body of the message
Comment 3 Marcel Moolenaar freebsd_committer freebsd_triage 1999-08-08 12:22:48 UTC
State Changed
From-To: open->closed

COMPAT_LINUX is deprecated for more than 3 years. Linux emulation is enabled 
by loading the linux module. 

Comment 4 marcel 1999-08-18 13:57:22 UTC
Due to my misunderstanding, the port has been closed for the wrong reason.
The ports are fixed now and also work when the linuxulator is built into
the kernel with "options COMPAT_LINUX".

COMPAT_LINUX *is* actively supported.

My apologies to Dean; the pointy hat's on me.

-- 
Marcel Moolenaar                                  mailto:marcel@scc.nl
SCC Internetworking & Databases                     http://www.scc.nl/
Amsterdam, The Netherlands                         tel: +31 20 4200655