Cross-building FreeBSD core...
Kurt Lidl
lidl at pix.net
Tue Jun 10 15:11:18 UTC 2014
> 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?
Personally, for a similar problem, I've started just using the
/usr/ports/mail/sendmail-sasl way of running a custom sendmail,
rather than polluting /etc/make.conf with these rules.
That solution, for this *particular* problem, also avoids the whole
"freebsd-update" nuked my custom sendmail binary, for those machines
where I run 'freebsd-update' to maintain the binaries on the machine.
Alternatively, you could turn off sendmail in your src.conf when you
are compiling.
-Kurt
More information about the freebsd-stable
mailing list