Total confusion over toolchain/xdev behavior

Sean Bruno sbruno at ignoranthack.me
Sun Jul 6 23:07:50 UTC 2014


Objective:  install an xcompile toolchain into a jail for use by
poudriere during arm/mips/sparc/power ports pkgs builds.  The build
should be possible from a non-root user.

As far as I can tell, the xdev target is completely busted for non-clang
arch's right now as it tries to build clang no matter what I do.  Its
missing some pretty key documentation to making it work correctly, so a
lot of my attempts have been "guess and check" with verbose make.

-----------------------------------------------------------------------
Attempt #1:
I have been trying non-root xdev builds:
MAKEOBJDIRPREFIX=/var/tmp make -s -j8 xdev XDEV=mips XDEV_ARCH=mips
-- dies because it tries to compile CLANG.
-----------------------------------------------------------------------

Attempt #2:
Apply a hack from Baptiste that isn't quite right, but at least gets
farther, note the missing variable causing "//usr/mips-freebsd"
http://people.freebsd.org/~sbruno/src.ops.mk.diff

===> gnu/usr.bin/cc/gcov (all)
mtree populating //usr/mips-freebsd
mkdir: //usr/mips-freebsd: Permission denied
*** Error code 1
-----------------------------------------------------------------------

Attempt #3: Add XDTP
MAKEOBJDIRPREFIX=/var/tmp make -s xdev XDEV=mips XDEV_ARCH=mips
XDTP=/var/tmp/mips_cc

Try defining a XDTP=/var/tmp/mips_cc with the above patch applied, get's
a bit farther but compile failure in locating critical include files.

===> gnu/lib/libstdc++ (obj,depend,all,install)
In file included from /home/sbruno/bsd/fbsd_head/gnu/lib/libstdc
++/../../../contrib/libstdc++/src/bitmap_allocator.cc:30:
/home/sbruno/bsd/fbsd_head/gnu/lib/libstdc++/../../../contrib/libstdc
++/include/ext/bitmap_allocator.h:37:54: error: cstddef: No such file or
directory
-----------------------------------------------------------------------

Attempt #4: Add the additional XDDESTDIR
MAKEOBJDIRPREFIX=/var/tmp make -s xdev XDEV=mips XDEV_ARCH=mips
XDTP=/var/tmp/mips_cc XDESTDIR=/var/tmp/mips_dst
 -- Same results as attempt #3
-----------------------------------------------------------------------

Even attempting to do stuff for *clang* enabled architectures bails
because its not respecting prefixes:
MAKEOBJDIRPREFIX=/var/tmp make -s -j 8 xdev XDEV=arm XDEV_ARCH=armv6
-- bails because it tries to:
===> usr.bin/clang/tblgen (all)
mtree populating //usr/armv6-freebsd
mtree: etc/ntp: Permission denied
_xi-cross-tools
===> xdev gnu/usr.bin/binutils (install)
===> gnu/usr.bin/binutils/libiberty (install)
===> gnu/usr.bin/binutils/libbfd (install)
===> gnu/usr.bin/binutils/libopcodes (install)
===> gnu/usr.bin/binutils/libbinutils (install)
===> gnu/usr.bin/binutils/addr2line (install)
===> gnu/usr.bin/binutils/as (install)
===> gnu/usr.bin/binutils/ld (install)
install: //usr/armv6-freebsd/usr/bin/ld: Permission denied
*** Error code 71

-----------------------------------------------------------------------
Adding XDTP and XDDESTDIR results in a little more progress but obvious
failures to attempt and install things directly into my host system:

MAKEOBJDIRPREFIX=/var/tmp make -s xdev XDEV=arm XDEV_ARCH=armv6
XDDESTDIR=/var/tmp/arm_cc XDTP=/var/tmp/armv6_cc
===> secure/lib/libssh (install)
===> usr.bin/lex/lib (obj,depend,all,install)
mkdir: ../../../../usr: Permission denied
*** Error code 1

Stop.
make[1]: stopped in /home/sbruno/bsd/fbsd_head
*** Error code 1

Stop.
make: stopped in /home/sbruno/bsd/fbsd_head






More information about the freebsd-arch mailing list