Difficulty with armv6 to v7 transition.
bob prohaska
fbsd at www.zefox.net
Sat Oct 14 01:07:07 UTC 2017
Seems it would have been better to replace
BUILD_ARCH!= uname -p
with
BUILD_ARCH!= echo armv7
for present purposes.
I'll stop the buildworld in progress and try it.
Thank you!
bob prohaska
On Fri, Oct 13, 2017 at 11:36:46AM -0700, Mark Millard wrote:
> On 2017-Oct-13, at 10:59 AM, bob prohaska <fbsd at www.zefox.net> wrote:
>
> > It turns out that simply commenting out lines 447-452 in
> > /usr/src/Makefile.inc1 allows buildworld to run, even with
> > no /etc/make.conf in place.
>
> For reference:
>
> 447 .if make(buildworld)
> 448 BUILD_ARCH!= uname -p
> 449 .if ${MACHINE_ARCH} != ${BUILD_ARCH}
> 450 .error To cross-build, set TARGET_ARCH.
> 451 .endif
> 452 .endif
>
> (I suggest that the .error message include the
> MACHINE_ARCH text and the BUILD_ARCH text, probably
> with ""s around each so that empty is easy to see.)
>
>
> I've had problems with Makefiles using != and uname
> ending up with the MACRO assigned being an empty string
> despite a command-line uname returning the expected
> text.
>
> For example I've applied the below local work arounds
> to my /usr/ports/Mk/bsd.port.mk copy as part of setting
> up to do amd64 -> aarch64 or amd64 -> armv6 cross
> builds of ports via poudriere (I've not updated to a
> armv7-targeting vintage sources yet):
>
>
> # Get the operating system type
> .if !defined(OPSYS)
> -OPSYS!= ${UNAME} -s
> +OPSYS!= echo FreeBSD
> .endif
> _EXPORTED_VARS+= OPSYS
>
> .if !defined(_OSRELEASE)
> -_OSRELEASE!= ${UNAME} -r
> +_OSRELEASE!= echo 12.0-CURRENT
> .endif
> _EXPORTED_VARS+= _OSRELEASE
>
>
> I was specifically ending up with _OSRELEASE
> being empty as seen in poudriere prior to the
> workaround and that was messing up poudriere
> such that it stopped with an associated
> message.
>
>
> ===
> Mark Millard
> markmi at dsl-only.net
>
More information about the freebsd-arm
mailing list