Alan Somers
2018-Jul-25 14:52 UTC
-STABLE can no longer build -CURRENT kernel, linker missing ifunc
On Wed, Jul 25, 2018 at 8:49 AM, Ian Lepore <ian at freebsd.org> wrote:> 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 >Would "make kernel-toolchain" also fix the "config(8) may be too old" errors that I get whenever I try "make universe" on universe12a.freebsd.org, which is a few months old?
Kyle Evans
2018-Jul-25 15:04 UTC
-STABLE can no longer build -CURRENT kernel, linker missing ifunc
On Wed, Jul 25, 2018 at 9:52 AM, Alan Somers <asomers at freebsd.org> wrote:> On Wed, Jul 25, 2018 at 8:49 AM, Ian Lepore <ian at freebsd.org> wrote: > >> 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 >> > > Would "make kernel-toolchain" also fix the "config(8) may be too old" > errors that I get whenever I try "make universe" on universe12a.freebsd.org, > which is a few months old? >Hi, kernel-toolchain should fix most config(8) problems, but we have a separate problem with universe invoking host config(8) [1] -- I have a tentative patch for that that needs review, but the problem should've gone away when I backed out the config(8) major bump in r336414 on July 17th. Thanks, Kyle Evans [1] https://svnweb.freebsd.org/base/head/Makefile?view=markup#l694