Date: Fri, 4 Jan 2002 21:29:54 -0800 (PST) From: Craig Carey <research@ijs.co.nz> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/33567: RELENG_4 won't makeworld; bsd.dep.mk, Makefile.inc1 bugs; "Linux ELF" need of kernel Message-ID: <200201050529.g055TsC40649@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 33567
>Category: misc
>Synopsis: RELENG_4 won't makeworld; bsd.dep.mk, Makefile.inc1 bugs; "Linux ELF" need of kernel
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jan 04 21:30:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Craig Carey
>Release: RELENG_4_3
>Organization:
>Environment:
An AMD Duron PC
>Description:
Notes on issues that arose during a buildworld of RELENG_4
FreeBSD of 4 Jan 2002.
Background:
I upgraded from v4.3 to v5. The nonbootable kernel had the known
incompatability of syscons and pcvt, where none of these would
boot: neither, one, and both. A cvsup to v4.4 led to a buildworld
failing with a lot of errors. With v4 (RELENG_4), the buildworld
succeeded, with errors.
My LINT config file was trimmed down. I could provide it if that
was requested.
The report is mainly about fixes needed to the files:
* /usr/src/Makefile.inc1 ("src-base" )
* /src/share/mk/bsd.dep.mk ("src-share")
All the following comments are about a FreeBSD system in a PC that
had all of the src sources cvsupped to RELENG_4 on 4 January 2002.
Problem:
The msdosfs directory had shifted and buildworld crashed due to
the 'local' mtree file not being updated. I don't known why the
file was not updated.
Aside: locate mtree | xargs -n1 egrep -H msdosfs
Problem:
File "stdint.h" got automatically erased by cvsup when moving to
RELENG_4. The software, XFree86 4.x, needs that header file.
Problem:
The "/machine" include file directory has gone, so files including
file ansi.h can't be found during the buildworld.
Fix: A fix was to do this:
cd /usr/src/sys ; ln -s i386/include/ machine
Problem:
Many of crashes of "make -DNOCLEAN buildworld" were fixable by
adding to the top of the file
/usr/share/mk/bsd.dep.mk
this line:
CFLAGS+= -I/usr/src/sys -I/usr/src/include \
-I/usr/src/sys/i386/include -I/usr/src/sys/sys
This is a problem with the bsd.dep.mk file. Those 4 include paths
seemed to be the minimum that would allow success.
Problem:
Buildworld of RELENG_4 crashed the make of texinfo. [For
RELENG_4_4 it did start fail on the build of yacc].
Detail:
cd /usr/src ; export MAKEFLAGS=""; make -DNOCLEAN buildworld
/usr/src/ .. /contrib/texinfo/info/terminal.c:36: termcap.h:
No such file or directory
Fix:
Edit /usr/src/Makefile.inc1
and remove "gnu/usr.bin/texinfo".
Problem:
Because of the seemingly needed editing of
"/usr/src/Makefile.inc1", makeworld has to be run twice.
Problem:
Libncurses would not build. A file was missing. So texinfo would
not install, and from /usr/src/Makeinfo.inc1, the text
"lib/libncurses" was deleted.
Libncurses also needed a "cpp/" directory that was not on the
filesystem and that was not obtained by cvsup of the RELENG_4 src
files.
Problem:
The make of the "file(1)" program failed. One of the errors was:
/usr/src/[..]/contrib/file/file.h:123: stdio.h: No such file or directory
Unlike most of the other software, "file"'s Makefile specified the
include file and got it wrong.
(An attempt to correct the include file,
/usr/src/contrib/file/Makefile by adding this line
DEFS = -DHAVE_CONFIG_H -I/usr/src/include -I/usr/src/sys \
-I/usr/src/sys/sys -I. -I$(srcdir) -I.
led to the error:
file.h:172: conflicting types for `sys_errlist'
/usr/src/include/stdio.h:225: previous declaration of `sys_errlist'
)
Fix:
Edit /usr/src/Makefile.inc1
and remove "usr.bin/file".
Issue:
Perl would not build.
Due to no texinfo in the first pass [the Makefile.inc1 file tries
to build in a wrong order], the 'info' files were not be built.
I edited Makefile.inc1 and removed the text "lib/libcom_err/doc".
Another problmem: buildkernel of RELENG_4 does not boot:
The /usr/src/sys/i386/conf/<LINT> file has edited so that all
the linux-features lines commented out. The boot dies with the
last lines being:
start_init: trying /sbin/init
Linux ELF exec handler installed
My RELENG_4 kernel is maybe unable to run "/modules/linux.ko" or
something.
Removing COMPAT_LINUX (or whatever it is called) led to a compile
error during a buildkernel (I lost the details on that).
When I booted from a custom v4.3 kernel and the online 4.4 kernel
that came from here
ftp://ftp2.freebsd.org/pub/FreeBSD/releases/i386/4.4-RELEASE/kernel
then it was the case that kldload produced a <<can't "exec"
linux.ko>> error. Maybe the cvsupped-RELENG_4 custom kernel is
incompatible with the linux.ko file that was created at the same
time by buildkernel.
(My notes show that this appeared. I have no recollection of
whether this is output from a non-booting v4, 4.4, or v5,
customised kernel. The booting hung after producing this:
vmioing
start_init: trying /sbin/init
getblk: vmioing
panic biodone
zero vnode refcount
)
Suggestions
By default the console can't be configured to show 132 columns.
That is the case for the release 4.4-RELEASE kernel. Can that be
rechecked?. It seems unsafe to expect beginners to spend days or
weeks debugging FreeBSD RELENG_4 scripts viewing only 80 columns
and very stretched fonts. A newcomer might want to get the
soundcard to run, and want 132 columns so that the console windows
seem not too stretched, and get ext2 accessible, and get a fast
accurate PS/2 mouse that does not seem to be very very much worse
than a Windows 95 PS/2 mouse (40 samples per second, and 60 in
NT/2000 apparently; 'man -k psm'). Getting bootable kernel seems
to be difficult with the 4 & 4.4 src files.
Boot messages now appear as reverse video white text over red. The
LINT file specified white on black and it was overridden.
I added "set -x" to the script "/etc/rc" and that script was
seemingly not called by my RELENG_4 4 Janurary kernel (it died
before calling /etc/rc most probably.
>How-To-Repeat:
>Fix:
Some of the fixes are contained in the Description section.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201050529.g055TsC40649>
