Date: Thu, 15 Feb 2018 13:46:03 -0500 From: Ian FREISLICH <ian.freislich@capeaugusta.com> To: freebsd-current@freebsd.org Subject: Re: buildkernel with PORTS_MODULES fails: Variable OBJTOP is recursive Message-ID: <3f842e89-c84a-07bd-3b06-d6f069ff07e8@capeaugusta.com> In-Reply-To: <20180214084203.665x74r2bhummvb6@vzakharov> References: <20180201091030.qmq4boyzvvvqkug6@vzakharov> <2e2d0a5d-b032-894b-b0a8-d2ab9163159c@FreeBSD.org> <20180212145430.r5ygphq3yskm7gxi@vzakharov> <fafe1a89-5c7d-b591-0a97-b61ce191996c@FreeBSD.org> <20180213094819.ilc2xcbdnpvwsm7a@vzakharov> <cc4466f6-4003-835d-43d6-a96b1b3f622d@FreeBSD.org> <20180214084203.665x74r2bhummvb6@vzakharov>
next in thread | previous in thread | raw e-mail | index | archive | help
On 02/14/18 03:42, Vladimir Zakharov wrote: > On Tue, Feb 13, 2018, Bryan Drewery wrote: >> On 2/13/2018 1:48 AM, Vladimir Zakharov wrote: >>> On Mon, Feb 12, 2018, Bryan Drewery wrote: >>>> On 2/12/2018 6:54 AM, Vladimir Zakharov wrote: >>>>> Hello, Bryan! >>>>> >>>>> On Fri, Feb 09, 2018, Bryan Drewery wrote: >>>>>> On 2/1/2018 1:10 AM, Vladimir Zakharov wrote: >>>>>>> Hello! >>>>>>> >>>>>>> For some time (about a week) building and installing kernel fails w= ith >>>>>>> the error "Variable OBJTOP is recursive." when going to build/insta= ll >>>>>>> module from ports. >>>>>>> >>>>>>> Last successful build was at r328426. Next build at r328527 failed = and >>>>>>> still broken at r328649. >>>>>>> >>>>>>> Without PORTS_MODULES building and installing kernel succeeds. Anot= her >>>>>>> workaround: ignore error and build/install module directly from por= ts. >>>>>>> ... >>>>>> For some reason I cannot recreate this issue. >>>>> It seems, setting WITH_AUTO_OBJ in /etc/src-env.conf causes an error. >>>>> At least, removing it fixes build for me. >>>>> >>>>> Build successful with the following settings: >>>>> # cat /etc/src-env.conf >>>>> WITH_META_MODE=3D >>>>> #WITH_AUTO_OBJ=3D >>>>> >>>> Please try this patch (requires a buildkernel). >>>> >>>> https://people.freebsd.org/~bdrewery/patches/kernel-portsmodules.diff >>>> >>> Fixed partly: >>> | buildkernel | installkernel | >>> r329196 | OK | FAIL(*) | >>> r329169 + patch | OK | OK | >>> r329196 + WITH_AUTO_OBJ | FAIL | | >>> r329169 + WITH_AUTO_OBJ + patch | FAIL | | >>> >>> (*) - same error "Variable OBJTOP is recursive". >>> >> Thanks, r329232 should fix it. > Not yet. 'installkernel' still fails (see below). Can be fixed either by > explicit setting WITHOUT_AUTO_OBJ in /etc/src-env.conf or by applying > previous patch (s/build/stage/ in kern.post.mk:89). > > # svn info > Path: . > Working Copy Root Path: /usr/src > URL: https://svn.freebsd.org/base/head > Relative URL: ^/head > Repository Root: https://svn.freebsd.org/base > Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f > Revision: 329259 > Node Kind: directory > Schedule: normal > Last Changed Author: eadler > Last Changed Rev: 329259 > Last Changed Date: 2018-02-14 10:59:30 +0300 (Wed, 14 Feb 2018) > > # cat /etc/src-env.conf > WITH_META_MODE=3D > #WITH_AUTO_OBJ=3D > > # env | grep MAKE > MAKEOBJDIRPREFIX=3D/home/obj > > # make -j 4 buildkernel && make installkernel > ... > =3D=3D=3D> Ports module graphics/drm-next-kmod (all) > cd ${PORTSDIR:-/usr/ports}/graphics/drm-next-kmod; env -u CC -u CXX -u= CPP -u MAKESYSPATH -u MAKEOBJDIR MAKEFLAGS=3D"-j 4 -J 15,16 -j 4 -J 15,= 16 -D NO_MODULES_OBJ .MAKE.LEVEL.ENV=3DMAKELEVEL KERNEL=3Dkernel TARGET=3Da= md64 TARGET_ARCH=3Damd64" SYSDIR=3D/usr/src/sys PATH=3D/home/obj/usr/src/= amd64.amd64/tmp/legacy/usr/sbin:/home/obj/usr/src/amd64.amd64/tmp/legacy/us= r/bin:/home/obj/usr/src/amd64.amd64/tmp/legacy/bin:/home/obj/usr/src/amd64.= amd64/tmp/usr/sbin:/home/obj/usr/src/amd64.amd64/tmp/usr/bin:/sbin:/bin:/us= r/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin SRC_BASE=3D/usr/src OSVERS= ION=3D1200058 WRKDIRPREFIX=3D/home/obj/usr/src/amd64.amd64/sys/GENERIC-NOD= EBUG make -B clean build > =3D=3D=3D> Cleaning for drm-next-kmod-g20180117 > =3D=3D=3D> License BSD2CLAUSE MIT GPLv2 accepted by the user > =3D=3D=3D> drm-next-kmod-g20180117 depends on file: /usr/local/sbin/pkg= - found > =3D=3D=3D> Fetching all distfiles required by drm-next-kmod-g20180117 for= building > =3D=3D=3D> Extracting for drm-next-kmod-g20180117 > =3D> SHA256 Checksum OK for FreeBSDDesktop-kms-drm-g20180117-622fdd1_GH0.= tar.gz. > =3D=3D=3D> Patching for drm-next-kmod-g20180117 > =3D=3D=3D> drm-next-kmod-g20180117 depends on file: /usr/local/bin/ccac= he - found > =3D=3D=3D> Configuring for drm-next-kmod-g20180117 > =3D=3D=3D> Building for drm-next-kmod-g20180117 > [Creating objdir obj...] > ... > -------------------------------------------------------------- >>>> Kernel build for GENERIC-NODEBUG completed on Wed Feb 14 11:09:45 MSK = 2018 > -------------------------------------------------------------- > -------------------------------------------------------------- >>>> Installing kernel GENERIC-NODEBUG on Wed Feb 14 11:09:45 MSK 2018 > -------------------------------------------------------------- > ... > kldxref /boot/kernel > =3D=3D=3D> Ports module graphics/drm-next-kmod (install) > cd ${PORTSDIR:-/usr/ports}/graphics/drm-next-kmod; env -u CC -u CXX -u= CPP -u MAKESYSPATH -u MAKEOBJDIR MAKEFLAGS=3D".MAKE.LEVEL.ENV=3DMAKELEV= EL KERNEL=3Dkernel MK_AUTO_OBJ=3Dno TARGET=3Damd64 TARGET_ARCH=3Damd64" SY= SDIR=3D/usr/src/sys PATH=3D/home/obj/usr/src/amd64.amd64/tmp/legacy/usr/sb= in:/home/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/home/obj/usr/src/amd64= .amd64/tmp/legacy/bin:/home/obj/usr/src/amd64.amd64/tmp/usr/sbin:/home/obj/= usr/src/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bi= n:/usr/local/sbin SRC_BASE=3D/usr/src OSVERSION=3D1200058 WRKDIRPREFIX= =3D/home/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG make -B deinstall rein= stall > =3D=3D=3D> Deinstalling for drm-next-kmod > =3D=3D=3D> drm-next-kmod not installed, skipping > =3D=3D=3D> Staging for drm-next-kmod-g20180117 > =3D=3D=3D> drm-next-kmod-g20180117 depends on package: gpu-firmware-kmo= d>=3Dg20170403 - found > =3D=3D=3D> Generating temporary packing list > =3D=3D=3D> drm (install) > install -T release -o root -g wheel -m 555 drm.ko /home/obj/usr/src/amd= 64.amd64/sys/GENERIC-NODEBUG/home/ports/graphics/drm-next-kmod/work/stage/b= oot/modules/ > install: drm.ko: No such file or directory > *** Error code 1 I can confirm this.=C2=A0 I think the issue is with the drm-next-kmod port (virtualbox-ose-kmod works correctly when used in PORTS_MODULES)=C2=A0 It appears that staging for the port is not working in this context: [zen] /usr/obj/usr/src/amd64.amd64/sys/ZEN/usr/ports/graphics/drm-next-kmod # find . -name "*.ko" ./work/kms-drm-622fdd1/amd/amdgpu/amdgpu.ko ./work/kms-drm-622fdd1/amd/amdkfd/amdkfd.ko ./work/kms-drm-622fdd1/drm/drm.ko ./work/kms-drm-622fdd1/i915/i915kms.ko ./work/kms-drm-622fdd1/lindebugfs/debugfs.ko ./work/kms-drm-622fdd1/linuxkpi/linuxkpi_gplv2.ko ./work/kms-drm-622fdd1/radeon/radeonkms.ko compare with the port: [zen] /usr/ports/graphics/drm-next-kmod # find . -name "*.ko" ./work/kms-drm-622fdd1/amd/amdgpu/amdgpu.ko ./work/kms-drm-622fdd1/amd/amdkfd/amdkfd.ko ./work/kms-drm-622fdd1/drm/drm.ko ./work/kms-drm-622fdd1/i915/i915kms.ko ./work/kms-drm-622fdd1/lindebugfs/debugfs.ko ./work/kms-drm-622fdd1/linuxkpi/linuxkpi_gplv2.ko ./work/kms-drm-622fdd1/radeon/radeonkms.ko ./work/stage/boot/modules/drm.ko ./work/stage/boot/modules/amdgpu.ko ./work/stage/boot/modules/amdkfd.ko ./work/stage/boot/modules/i915kms.ko ./work/stage/boot/modules/radeonkms.ko ./work/stage/boot/modules/debugfs.ko ./work/stage/boot/modules/linuxkpi_gplv2.ko Ian --=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3f842e89-c84a-07bd-3b06-d6f069ff07e8>