Total confusion over toolchain/xdev behavior
Sean Bruno
sbruno at ignoranthack.me
Tue Jul 8 15:03:53 UTC 2014
> >
> > It looks to me like the permission part of the problem is being caused
> > by a lack of DESTDIR=. Without that, it's trying to install to /usr and
> > you don't have permission for that. Maybe the confusion is because the
> > xdev target inherently builds-and-installs, unlike most other targets
> > that separate those two actions.
>
> OK. After some detective work, it looks like libstdc++ needs to be done before libsupc++ is done. I’ve added this dependency in r268377 and was able to do a full xdev build with a clean obj dir:
>
> rm -rf $HOME/F $MAKEOBJDIRPREFIX/mips-freebsd
> mkdir $HOME/F
> make xdev DESTDIR=$HOME/F XDEV=mips XDEV_ARCH=mips WITHOUT_CLANG=t WITHOUT_CLANG_BOOTSTRAP=t WITH_GCC=t WITH_GCC_BOOTSTRAP=t WITH_GNUCXX=t -j 20
>
> Sean, can you see if this works for you now? And sorry about the cumbersome options. Those are in line to get fixed, but I wanna fix the build-in-tree issues first (which, alas, are harder than you’d think). I suspect that bapt’s src.opts.mk diffs are likely good candidates to be used committed too, but the above works w/o it. Also, I just built the binaries, I didn’t see if they worked.
>
> Warner
TL;DR --> Can we just *dump* XDDESTDIR and use DESTDIR? mtree seems to
still be busted.
Updated this morning and did an attempted non-root xdev build with and
without WITH_GCC_BOOTSTRAP.
make xdev MAKEOBJDIRPREFIX=/var/tmp DESTDIR=/var/tmp/mips_cc XDEV=mips
XDEV_ARCH=mips WITHOUT_CLANG=t WITHOUT_CLANG_BOOTSTRAP=t WITH_GCC=t
WITH_GCC_BOOTSTRAP=t
...
mtree populating /var/tmp/mips_cc//usr/mips-freebsd
mkdir -p /var/tmp/mips_cc//usr/mips-freebsd
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.root.dist
-p /var/tmp/mips_cc//usr/mips-freebsd >/dev/null
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.usr.dist
-p /var/tmp/mips_cc//usr/mips-freebsd/usr >/dev/null
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.include.dist
-p /var/tmp/mips_cc//usr/mips-freebsd/usr/include >/dev/null
_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)
sh /home/sbruno/fbsd_head/tools/install.sh -s -o root -g wheel -m 555
addr2line /var/tmp/mips_cc//usr/mips-freebsd/usr/bin/addr2line
sh /home/sbruno/fbsd_head/tools/install.sh -T debug -o root -g wheel -m
444
addr2line.debug /var/tmp/mips_cc//usr/mips-freebsd/usr/lib/debug/usr/bin/addr2line.debug
install: /var/tmp/mips_cc//usr/mips-freebsd/usr/lib/debug/usr/bin/addr2line.debug: No such file or directory
*** Error code 71
-----------------------------------------------------------------------------------------
make xdev MAKEOBJDIRPREFIX=/var/tmp DESTDIR=/var/tmp/mips_cc XDEV=mips
XDEV_ARCH=mips WITHOUT_CLANG=t WITHOUT_CLANG_BOOTSTRAP=t WITH_GCC=t
WITH_GCC_BOOTSTRAP=t WITH_GNUCXX=t
...
mtree populating /var/tmp/mips_cc
mkdir -p /var/tmp/mips_cc
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.root.dist
-p /var/tmp/mips_cc >/dev/null
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.usr.dist
-p /var/tmp/mips_cc/usr >/dev/null
mtree -deU -f /home/sbruno/fbsd_head/etc/mtree/BSD.include.dist
-p /var/tmp/mips_cc/usr/include >/dev/null
_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)
sh /home/sbruno/fbsd_head/tools/install.sh -s -o root -g wheel -m 555
addr2line /var/tmp/mips_cc/usr/bin/addr2line
sh /home/sbruno/fbsd_head/tools/install.sh -T debug -o root -g wheel -m
444
addr2line.debug /var/tmp/mips_cc/usr/lib/debug/usr/bin/addr2line.debug
install: /var/tmp/mips_cc/usr/lib/debug/usr/bin/addr2line.debug: No such
file or directory
*** Error code 71
-----------------------------------------------------------------------------------------
Doesn't look like the install target for addr2line is creating its
directory tree?
~/fbsd_head % ls /var/tmp/mips_cc/usr/lib/
aout compat dtrace engines i18n private
More information about the freebsd-arch
mailing list