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>