Upgrading from FreeBSD 4.8 (PZERO in usb.c)

Matthew Dillon dillon at apollo.backplane.com
Thu Jan 8 10:26:51 PST 2004

:I have a spare disk that I installed FBSD 4.8 on. I cvsuped the latest 
:Dragonfly source and tried to build the kernel with no success.
:It fails :
:/usr/src/sys/bus/usb/usb.c:824: warning: implicit declaration of function `selwakeuppri'
:/usr/src/sys/bus/usb/usb.c:824: `PZERO' undeclared (first use in this function)
:I did the following:
:Install FreeBSD 4.8
:Installed the cvsup-without-gui port
:rm -rf /usr/src /usr/obj
:cvsup the dragonfly sources
:rm -rf /usr/include
:mkdir /usr/include
:cd /usr/src
:make installincludes
:rm -rf /usr/obj
:mkdir /usr/obj
:cd /usr/src
:make buildkernel  [ failed with 2 sec ]
:cd /usr/src/usr.sbin/config
:make depend all install
:cd /usr/src
:make buildkernel [ fails at usb.c:824 ]
:>From some googling, it seems that PZERO is removed.
:the sources for usb still contain PZERO
:dragonfly# cd /usr/src/sys/bus/usb/
:dragonfly# grep PZERO *.c
:ehci.c: tsleep(&sc->sc_softwake, PZERO, "ehciab", 0);
:ohci.c: tsleep(&sc->sc_softwake, PZERO, "ohciab", 0);
:usb.c:  selwakeuppri(&usb_selevent, PZERO);
:>From the original 4.8 sources PZERO is defined as 22,
:should I replace PZERO with 22 or another value ?
:Please Advise.

    The problem likely is that you munged your 4.x installation by
    installing the DFly includes on it.  Buildworld was unable to build
    its native toolset because the native compiler is generating FreeBSD
    preprocessor defines and the source is trying to include DragonFly
    header files.

    When you run a buildworld or buildkernel target (which are the correct
    the targets to run), you need to use the native environment installed
    on the machine, which would be FreeBSD-4.8 in this case.

    Once you complete the buildworld and buildkernel you should be able to
    installkernel and installworld to overwrite the entire FreeBSD

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Bugs mailing list