# RELEASE-12.0 make installkernel fails



## getopt (Jan 13, 2019)

After having done `make buildworld` and `make buildkernel` the installation of a GENERIC kernel via NFS fails like this on a system still on RELEASE-11.2:


```
/usr/src # make installkernel
--------------------------------------------------------------
>>> Install check kernel
--------------------------------------------------------------
--------------------------------------------------------------
>>> Installing kernel GENERIC on Sun Jan 13 20:16:53 UTC 2019
--------------------------------------------------------------
cd /FreeBSD/obj/FreeBSD/src/amd64.amd64/sys/GENERIC;  MACHINE_ARCH=amd64  MACHINE=amd64  CPUTYPE= CC="cc -target x86_64-unknown-freebsd12.0 --sysroot=/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp -B/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/usr/bin" CXX="c++  -target x86_64-unknown-freebsd12.0 --sysroot=/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp -B/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/usr/bin"  CPP="cpp -target x86_64-unknown-freebsd12.0 --sysroot=/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp -B/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/usr/bin"  AS="as" AR="ar" LD="ld" LLVM_LINK=""  NM=nm OBJCOPY="objcopy"  RANLIB=ranlib STRINGS=  SIZE="size" PATH=/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/legacy/usr/sbin:/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/legacy/usr/bin:/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/legacy/bin:/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/usr/sbin:/FreeBSD/obj/FreeBSD/src/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin  make  KERNEL=kernel install
make[2]: "/FreeBSD/src/sys/conf/kern.pre.mk" line 127: amd64/arm64/i386 kernel requires linker ifunc support
*** Error code 1

Stop.
make[1]: stopped in /FreeBSD/src
*** Error code 1

Stop.
make: stopped in /FreeBSD/src
```
Having looked into "kern.pre.mk" I have no idea how to solve this.


----------



## T-Daemon (Jan 13, 2019)

At a Japanese blog, there is a solution presented to avoid the _linker ifunc_ _support_ error in FreeBSD 12.0-RELEASE when executing `buildkernel` and `installkernel` (inside OS X virtualization xhyve), by appending`LD=ld.lld` in the commands.

Commands used:

`# cd /usr/src`
`# make buildkernel KERNCONF=FAIRY LD=ld.lld`
`# make installkernel KERNCONF=FAIRY LD=ld.lld`

(KERNCONF not needed in GENERIC build, install)


----------



## getopt (Jan 13, 2019)

That works! Thank you!

/usr/src/UPDATING has a note on that. See section 20180510.


----------

