Total confusion over toolchain/xdev behavior
Warner Losh
imp at bsdimp.com
Tue Jul 8 15:15:54 UTC 2014
On Jul 8, 2014, at 9:03 AM, Sean Bruno <sbruno at ignoranthack.me> wrote:
>>>
>>>
>>> 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
.debug? We only generate those when MK_DEBUG_FILES=yes. Try removing WITH_DEBUG_FILES from your environment. It looks to be broken.
> -----------------------------------------------------------------------------------------
>
> 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
but what’s in /var/tmp/mips_cc//usr/bin?
Warner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20140708/44cfd24c/attachment.sig>
More information about the freebsd-arch
mailing list