Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jun 2014 11:11:15 -0400
From:      Kurt Lidl <lidl@pix.net>
To:        freebsd-stable@freebsd.org
Subject:   Re: Cross-building FreeBSD core...
Message-ID:  <53972013.4080108@pix.net>
In-Reply-To: <08C73D46-3256-4DAC-A383-55A841EF2995@distal.com>
References:  <08C73D46-3256-4DAC-A383-55A841EF2995@distal.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53972013.4080108>