Cross-building FreeBSD core...

Ian Lepore ian at FreeBSD.org
Tue Jun 10 15:37:54 UTC 2014


On Tue, 2014-06-10 at 08:40 -0400, Chris Ross wrote:
> On Jun 9, 2014, at 14:50 , Brooks Davis <brooks at freebsd.org> wrote:
> > It is.  Setting MAKEOBJDIRPREFIX as a make argument means it can't be
> > changed and apparently that ability is used somewhere in the bootstrap
> > process.  The symptoms are bizzare and you end up with a cross built
> > make_keys in the native tools path.
> 
>   Well, that got it further, but it didn't finish.  I think this is user error, however.
> It got a few thousand lines into "stage 4.4: building everything" when it failed
> as so:
> 
> ===> libexec/mail.local (all)
> cc  -O2 -pipe  -I/usr/src/libexec/mail.local/../../contrib/sendmail/include -I. -I/usr
> /local/include/sasl -DSASL -std=gnu99 -Qunused-arguments  -fstack-protector -Wsystem-h
> eaders -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-b
> ody -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -c /usr/src/libexec/mail.local/../../contrib/sendmail/mail.local/mail.local.c
> cc  -O2 -pipe  -I/usr/src/libexec/mail.local/../../contrib/sendmail/include -I. -I/usr/local/include/sasl -DSASL -std=gnu99 -Qunused-arguments  -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter  -L/usr/local/lib -o mail.local mail.local.o /home/cross/obj.amd64/amd64.amd64/usr/src/libexec/mail.local/../../lib/libsm/libsm.a -lsasl2
> /usr/local/lib/libsasl2.so: file not recognized: File format not recognized
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> *** Error code 1
> 
> Stop.
> make[4]: stopped in /usr/src/libexec/mail.local
> 
>   Assumedly, this is because I have some SENDMAIL_* lines in my /etc/make.conf,
> including:
> 
> SENDMAIL_LDFLAGS=-L/usr/local/lib
> SENDMAIL_LDADD=-lsasl2
> 
>   What's the recommended way to override these things that I don't want to affect
> the cross-build, and/or to have cross-built versions of them?
> 
>   Thanks....
> 
>                                            - Chris

Add to the make command line: __MAKE_CONF=/dev/null SRCCONF=/dev/null

It doesn't have to be /dev/null, you can also point to files that
contain options for the cross-build that are different from a host
build.

-- Ian





More information about the freebsd-stable mailing list