Ulrich Spörlein
2018-Jul-25 12:35 UTC
-STABLE can no longer build -CURRENT kernel, linker missing ifunc
Hey all, as of a couple of weeks ago, neither 11.2-RELEASE nor a recent 11-STABLE can buildkernel from head. This has stopped the Coverity Scan runs dead in its track and I wonder how anyone would boostrap a move from 11.x to 12.0 then. % env __MAKE_CONF=/dev/null make buildkernel make[1]: "/data/freebsd.work/Makefile.inc1" line 343: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler. make[1]: "/data/freebsd.work/Makefile.inc1" line 348: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker. -------------------------------------------------------------->>> Kernel build for GENERIC started on Wed Jul 25 14:34:46 CEST 2018-------------------------------------------------------------- ===> GENERIC mkdir -p /usr/obj/data/freebsd.work/amd64.amd64/sys -------------------------------------------------------------->>> stage 1: configuring the kernel-------------------------------------------------------------- cd /data/freebsd.work/sys/amd64/conf; PATH=/usr/obj/data/ freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin config -d /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC -I '/data/ freebsd.work/sys/amd64/conf' '/data/freebsd.work/sys/amd64/conf/GENERIC' Kernel build directory is /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC Don't forget to do ``make cleandepend && make depend'' -------------------------------------------------------------->>> stage 2.1: cleaning up the object tree-------------------------------------------------------------- cd /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC; MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE= CC="cc -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ freebsd.work/amd64.amd64/tmp/usr/bin" CXX="c++ -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ freebsd.work/amd64.amd64/tmp/usr/bin" CPP="cpp -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ freebsd.work/amd64.amd64/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh /data/freebsd.work/tools/install.sh" PATH=/usr/obj/data/ freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin make -m /data/freebsd.work/share/mk KERNEL=kernel cleandir make[2]: "/data/freebsd.work/sys/conf/kern.pre.mk" line 125: amd64 kernel requires linker ifunc support *** Error code 1 Stop. make[1]: stopped in /data/freebsd.work *** Error code 1 Stop. make: stopped in /data/freebsd.work
Li-Wen Hsu
2018-Jul-25 13:40 UTC
-STABLE can no longer build -CURRENT kernel, linker missing ifunc
On Wed, Jul 25, 2018 at 1:37 PM Ulrich Sp?rlein <uqs at freebsd.org> wrote:> > Hey all, as of a couple of weeks ago, neither 11.2-RELEASE nor a recent > 11-STABLE can buildkernel from head. > > This has stopped the Coverity Scan runs dead in its track and I wonder how > anyone would boostrap a move from 11.x to 12.0 then. > > % env __MAKE_CONF=/dev/null make buildkernel > make[1]: "/data/freebsd.work/Makefile.inc1" line 343: SYSTEM_COMPILER: > libclang will be built for bootstrapping a cross-compiler. > make[1]: "/data/freebsd.work/Makefile.inc1" line 348: SYSTEM_LINKER: > libclang will be built for bootstrapping a cross-linker. > > -------------------------------------------------------------- > >>> Kernel build for GENERIC started on Wed Jul 25 14:34:46 CEST 2018 > -------------------------------------------------------------- > ===> GENERIC > mkdir -p /usr/obj/data/freebsd.work/amd64.amd64/sys > > -------------------------------------------------------------- > >>> stage 1: configuring the kernel > -------------------------------------------------------------- > cd /data/freebsd.work/sys/amd64/conf; PATH=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin > config -d /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC -I '/data/ > freebsd.work/sys/amd64/conf' '/data/freebsd.work/sys/amd64/conf/GENERIC' > Kernel build directory is /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC > Don't forget to do ``make cleandepend && make depend'' > > -------------------------------------------------------------- > >>> stage 2.1: cleaning up the object tree > -------------------------------------------------------------- > cd /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC; MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE= CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/data/freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" CXX="c++ -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" CPP="cpp -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" > NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh > /data/freebsd.work/tools/install.sh" PATH=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin > make -m /data/freebsd.work/share/mk KERNEL=kernel cleandir > make[2]: "/data/freebsd.work/sys/conf/kern.pre.mk" line 125: amd64 kernel > requires linker ifunc support > *** Error code 1 > > Stop. > make[1]: stopped in /data/freebsd.work > *** Error code 1 > > Stop. > make: stopped in /data/freebsd.workHi, the job on https://ci.freebsd.org/job/FreeBSD-head-amd64-build/ is using 11.2-RELEASE to build head and it seems fine. Can you provide more details about your build script and settings? -- Li-Wen Hsu <lwhsu at FreeBSD.org> https://lwhsu.org
Ian Lepore
2018-Jul-25 14:49 UTC
-STABLE can no longer build -CURRENT kernel, linker missing ifunc
On Wed, 2018-07-25 at 14:35 +0200, Ulrich Sp?rlein wrote:> Hey all, as of a couple of weeks ago, neither 11.2-RELEASE nor a > recent > 11-STABLE can buildkernel from head. > > This has stopped the Coverity Scan runs dead in its track and I > wonder how > anyone would boostrap a move from 11.x to 12.0 then. > > % env __MAKE_CONF=/dev/null make buildkernel > make[1]: "/data/freebsd.work/Makefile.inc1" line 343: > SYSTEM_COMPILER: > libclang will be built for bootstrapping a cross-compiler. > make[1]: "/data/freebsd.work/Makefile.inc1" line 348: SYSTEM_LINKER: > libclang will be built for bootstrapping a cross-linker. > > -------------------------------------------------------------- > > > > > > > > > > > > > Kernel build for GENERIC started on Wed Jul 25 14:34:46 CEST > > > > 2018 > -------------------------------------------------------------- > ===> GENERIC > mkdir -p /usr/obj/data/freebsd.work/amd64.amd64/sys > > -------------------------------------------------------------- > > > > > > > > > > > > > stage 1: configuring the kernel > -------------------------------------------------------------- > cd /data/freebsd.work/sys/amd64/conf;??PATH=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.wo > rk/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.am > d64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbi > n:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/ > sbin:/usr/bin > config??-d /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC??-I > '/data/ > freebsd.work/sys/amd64/conf' > '/data/freebsd.work/sys/amd64/conf/GENERIC' > Kernel build directory is > /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC > Don't forget to do ``make cleandepend && make depend'' > > -------------------------------------------------------------- > > > > > > > > > > > > > stage 2.1: cleaning up the object tree > -------------------------------------------------------------- > cd /usr/obj/data/freebsd.work/amd64.amd64/sys/GENERIC; > MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE= CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/data/freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" CXX="c++??-target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" CPP="cpp -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp -B/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/usr/bin" AS="as" AR="ar" LD="ld" > LLVM_LINK="" > NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" > INSTALL="sh > /data/freebsd.work/tools/install.sh" PATH=/usr/obj/data/ > freebsd.work/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/data/freebsd.wo > rk/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/data/freebsd.work/amd64.am > d64/tmp/legacy/bin:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/sbi > n:/usr/obj/data/freebsd.work/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/ > sbin:/usr/bin > make??-m /data/freebsd.work/share/mk??KERNEL=kernel cleandir > make[2]: "/data/freebsd.work/sys/conf/kern.pre.mk" line 125: amd64 > kernel > requires linker ifunc support > *** Error code 1 > > Stop. > make[1]: stopped in /data/freebsd.work > *** Error code 1 > > Stop. > make: stopped in /data/freebsd.work > _______________________________________________I think you may need to do "make kernel-toolchain" first. -- Ian