Skip site navigation (1)Skip section navigation (2)
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>