Re: Building -CURRENT on -STABLE

From: Gordon Bergling <gbergling_at_googlemail.com>
Date: Sun, 12 Jan 2020 17:32:09 +0100
Hi,

if someone is facing the same error, the build variable MAKEOBJDIRPREFIX must 
be set within the environment and _not_ within the make context. I would also 
suggest that the source and object directories are on the same partition. 

My sources where located in my home directory and the object directory on a 
separate zfs pool, but using symlinks to fake the directory structure 
wasn't successful. With the following steps I was able to build on the fast
machine, and install via nfs on the client.

On the build machine:
# mkdir -p /boiler/nfs/{src,obj}
# export MAKEOBJDIRPREFIX=/boiler/nfs/obj
# cd /boiler/nfs/src && git pull
# make -s -j 4 buildworld buildkernel > /boiler/nfs/logs/build.log 2>&1

On the target machine (assuming server:/boiler/nfs is mounted on /boiler/nfs at the client)
# env MAKEOBJDIRPREFIX=/boiler/nfs/obj make installkernel
# env MAKEOBJDIRPREFIX=/boiler/nfs/obj make installworld
# mergemaster -Ui -m /boiler/nfs/src/

Best,

Gordon

On Thu, Jan 09, 2020 at 11:45:21AM +0100, Gordon Bergling wrote:
> Hi,
> 
> I am currently about to setup an -CURRENT system, which should gets updated via a build 
> server that’s runs on -STABLE and shares the src and obj directories via NFS to -CURRENT system.
> 
> While doing a „make -s -j 4 buildworld buildkernel“ the builds fails randomly with the following error.
> 
> -------------------------------------------------------------------------------------------------
> ===> sbin/fsirand (all)
> ===> sbin/gbde (all)
> ===> sbin/geom (all)
> ===> kerberos5/libexec/kimpersonate (all)
> ld: error: undefined symbol: glabel_class_commands
> >>> referenced by geom.c
> >>>               geom.o:(get_class)
> 
> ld: error: undefined symbol: glabel_version
> >>> referenced by geom.c
> >>>               geom.o:(get_class)
> 
> ld: error: undefined symbol: gpart_class_commands
> >>> referenced by geom.c
> >>>               geom.o:(get_class)
> 
> ld: error: undefined symbol: gpart_version
> >>> referenced by geom.c
> >>>               geom.o:(get_class)
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> --- geom.full ---
> *** [geom.full] Error code 1
> 
> make[4]: stopped in /home/gbergling/sources/freebsd/freebsd/sbin/geom
> 1 error
> 
> make[4]: stopped in /home/gbergling/sources/freebsd/freebsd/sbin/geom
> A failure has been detected in another branch of the parallel make
> -------------------------------------------------------------------------------------------------
> 
> I also tried the build without the „j“-Flag but the error was the same.
> 
> Do you have any hints what could have caused this?
> 
> The -STABLE machine is stock and no special things are setup within src.conf or make.conf.
> 
> Best regards,
> 
> Gordon
Received on Sun Jan 12 2020 - 15:32:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC