From owner-freebsd-arm@freebsd.org Tue May 24 02:50:06 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1620DB480FB for ; Tue, 24 May 2016 02:50:06 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E9B461384 for ; Tue, 24 May 2016 02:50:05 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 455e0a21-215a-11e6-9de8-1b78d5a2543b X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.34.117.227 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.34.117.227]) by outbound1.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Tue, 24 May 2016 02:50:27 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.14.9) with ESMTP id u4O2nvkX002415; Mon, 23 May 2016 20:49:57 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1464058197.1180.439.camel@freebsd.org> Subject: Re: Confirmed update procedure for a self-hosted armv6hf system From: Ian Lepore To: bob prohaska Cc: "freebsd-arm@FreeBSD.org" Date: Mon, 23 May 2016 20:49:57 -0600 In-Reply-To: <20160524024027.GB52783@www.zefox.net> References: <1463976239.1180.406.camel@freebsd.org> <20160523215248.GA52783@www.zefox.net> <1464055880.1180.433.camel@freebsd.org> <20160524024027.GB52783@www.zefox.net> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2016 02:50:06 -0000 On Mon, 2016-05-23 at 19:40 -0700, bob prohaska wrote: > On Mon, May 23, 2016 at 08:11:20PM -0600, Ian Lepore wrote: > > > /tmp/install.b4kWrXan > > > sh: cc: not found > > > make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 142: Unable to > > > determine compiler type for CC=cc . Consider setting > > > COMPILER_TYPE. > > > *** [installworld] Error code 1 > > > > > > Up to now no COMPILER_TYPE has been needed. > > > What's the correct name? > > > > > > Many thanks for your patience! > > > > > > bob prohaska > > > > The fact that it's complaining about compiler type means something > > is > > wrong. Hmm, it looks like you left off the TARGET_ARCH=armv6 on > > the > > installworld command, because otherwise those paths would be > > /usr/arm.armv6/usr/... not just /usr/obj/usr/... > > > Alas, no. Here's a verbatim transcript: > root@www:/usr/src # make -j6 installworld TARGET_ARCH=armv6 > > installworld.log & > [1] 68427 > root@www:/usr/src # 1 error > > [1] Exit 2 make -j6 installworld > TARGET_ARCH=armv6 > installworld.log > > root@www:/usr/src # tail -n25 installworld.log > --- installworld --- > --- __installcheck_UGID --- > --- installworld --- > mkdir -p /tmp/install.E75wHxti > progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp > date echo egrep find grep id install ln make mkdir mtree mv > pwd_mkdb rm sed services_mkdb sh strip sysctl test true uname wc zic > tzsetup makewhatis; do if progpath=`which $prog`; then echo > $progpath; else echo "Required tool $prog not found in PATH." >&2; > exit 1; fi; done); libs=$(ldd -f "%o %p\n" -f "%o %p\n" $progs > 2>/dev/null | sort -u | while read line; do $line; if [ "$2 $3" != > "not found" ]; then echo $2; else echo "Required library $1 not > found." >&2; exit 1; fi; done); cp $libs $progs > /tmp/install.E75wHxti > cp -R ${PATH_LOCALE:-"/usr/share/locale"} > /tmp/install.E75wHxti/locale > cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=armv6 > MACHINE=arm CPUTYPE= > GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac CC="cc " > CXX="c++ " CPP="cpp " AS="as" AR="ar" LD="ld" NM=nm > OBJDUMP=objdump OBJCOPY="objcopy" RANLIB=ranlib STRINGS= > SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy > /usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbi > n:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.E75wHxti > LD_LIBRARY_PATH=/tmp/install.E75wHxti > PATH_LOCALE=/tmp/install.E75wHxti/locale make -f Makefile.inc1 > __MAKE_SHELL=/tmp/install.E75wHxti/sh reinstall; > MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=armv6 MACHINE=arm CPUTYPE= > GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac CC="cc " > C > XX="c++ " CPP="cpp " AS="as" AR="ar" LD="ld" NM=nm > OBJDUMP=objdump OBJCOPY="objcopy" RANLIB=ranlib STRINGS= > SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy > /usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbi > n:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.E75wHxti > LD_LIBRARY_PATH=/tmp/install.E75wHxti > PATH_LOCALE=/tmp/install.E75wHxti/locale rm -rf > /tmp/install.E75wHxti > sh: cc: not found > make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 142: Unable to > determine compiler type for CC=cc . Consider setting COMPILER_TYPE. > *** [installworld] Error code 1 > > make[1]: stopped in /usr/src > 1 error > > make[1]: stopped in /usr/src > *** [installworld] Error code 2 > > Setting COMPILER_TYPE (naively) to cc or clang seems no help > whatever. > > This RPI2 has neither /etc/make.conf nor /etc/src.conf, might that be > part of the trouble? > Alternatively, might it be simpler to "back down" to an earlier > revision (which one?) and > attempt to upgrade from there? > > Thanks as always! > > bob prohaska Ut oh. It just popped into my head that the standard freebsd update procedure is to install the kernel, then reboot, then install the world, right? (I've never once done it that way in 20 years of using freebsd, I always install both at once then reboot.) I think that may be the problem here, if you did it the right way. Once you're running on the new kernel, TARGET_ARCH=armv6 isn't a crossbuild anymore because it thinks armv6 is the current arch. I wonder if it would work for you to try: setenv UNAME_P armv6hf make -j6 installworld TARGET_ARCH=armv6 As long as the build system uses uname (not sysctl hw.machine_arch), that should fool it enough to do the proper install. -- Ian