Date: Tue, 27 Nov 2012 01:50:54 -0800 From: Adrian Chadd <adrian@freebsd.org> To: freebsd-current@freebsd.org Subject: Is cross-world building broken? Message-ID: <CAJ-Vmo=EahyCf0GmPW6j81VjOs-qRoHWiQrEDedk5rj8sgk6nA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hiya, I'm having trouble doing a cross-build with -HEAD. It's possible this has been like this for a while. It's dying really, really early on when doing a build of the make utility. It looks like it's trying to link the make utility against a library inside the DESTDIR root, rather than the system libc path. Before people say "but but tinderbox works!" I've taken a quick peek at the tinderbox output and it doesn't look like it sets DESTDIR. I definitely set DESTDIR here; I have a bunch of different installroots based on what platform I'm building for. LIBC is defined as: Global:LIBC = ${DESTDIR}${LIBDIR}/libc.a .. and that's likely being evaluated deep in the bowels of make somewhere. The build script in question: env CROSS_BUILD_TESTING=YES \ MAKEOBJDIRPREFIX=${X_MAKEOBJDIRPREFIX} \ make ${BUILD_FLAGS} \ TARGET=${TARGET} \ TARGET_ARCH=${TARGET_ARCH} \ ${X_TARGET_CPUTYPE} \ KERNCONF=${KERNCONF} DESTDIR=${X_DESTDIR} \ KODIR=/boot/kernel.${KERNCONF}/ \ KMODDIR=/boot/kernel.${KERNCONF}/ \ __MAKE_CONF=${X_DESTDIR}/../make.conf.${BUILDNAME} \ SRCCONF=${X_DESTDIR}/../src.conf.${BUILDNAME} \ LOCAL_DIRS="${LOCAL_DIRS}" \ ${X_LOCAL_TOOL_DIRS} \ $1 \ The snippet from make -dA: # # parents: all make : arch.o buf.o cond.o dir.o for.o hash.o hash_tables.o job.o lst.o main.o make.o parse.o proc.o shell.o str.o suff.o targ.o util.o var.o /home/adrian/work/freebsd/svn/src/../root/armeb/usr/lib/libc.a ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} @[ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || (${ECHO} ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} && ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}) The output: lucy# ../../build/trunk/build/bin/build cambria buildworld buildkernel installworld installkernel *** Configuration file : cambria *** Platform : armeb *** Target : buildworld MAKEOBJDIRPREFIX: /home/adrian/work/freebsd/svn/src/../obj/armeb/ -------------------------------------------------------------- >>> Building an up-to-date make(1) -------------------------------------------------------------- cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/main.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/shell.c make: don't know how to make /home/adrian/work/freebsd/svn/src/../root/armeb/usr/lib/libc.a. Stop *** Error code 2 Stop in /usr/home/adrian/work/freebsd/svn/src. *** Error code 1 Stop in /usr/home/adrian/work/freebsd/svn/src. lucy# rm -rf ../root lucy# rm -rf ../obj lucy# ../../build/trunk/build/bin/build cambria buildworld *** Configuration file : cambria *** Platform : armeb *** Target : buildworld MAKEOBJDIRPREFIX: /home/adrian/work/freebsd/svn/src/../obj/armeb/ -------------------------------------------------------------- >>> Building an up-to-date make(1) -------------------------------------------------------------- /home/adrian/work/freebsd/svn/src/../obj/armeb//usr/home/adrian/work/freebsd/svn/src/make.i386/usr/home/adrian/work/freebsd/svn/src/usr.bin/make created for /usr/home/adrian/work/freebsd/svn/src/usr.bin/make rm -f .depend mkdep -f .depend -a -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/arch.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/buf.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/cond.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/dir.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/for.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/hash.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/hash_tables.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/job.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/lst.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/main.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/make.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/parse.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/proc.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/shell.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/str.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/suff.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/targ.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/util.c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/var.c echo make: /home/adrian/work/freebsd/svn/src/../root/armeb/usr/lib/libc.a >> .depend cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/arch.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/buf.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/cond.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/dir.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/for.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/hash.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/hash_tables.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/job.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/lst.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/main.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/make.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/parse.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/proc.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/shell.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/str.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/suff.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/targ.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/util.c cc -O2 -pipe -I/usr/home/adrian/work/freebsd/svn/src/usr.bin/make -DMAKE_VERSION=\"10201205300\" -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/home/adrian/work/freebsd/svn/src/usr.bin/make/var.c make: don't know how to make /home/adrian/work/freebsd/svn/src/../root/armeb/usr/lib/libc.a. Stop *** Error code 2 Stop in /usr/home/adrian/work/freebsd/svn/src. *** Error code 1 Stop in /usr/home/adrian/work/freebsd/svn/src. lucy#
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=EahyCf0GmPW6j81VjOs-qRoHWiQrEDedk5rj8sgk6nA>