SOLVED (was Re: Ports with binary bootstrap packages and CURRENT+ino64)

Anthony Jenkins Scoobi_doo at yahoo.com
Thu Jan 25 06:10:33 UTC 2018


On 01/24/18 19:37, Don Lewis wrote:
> On 24 Jan, Anthony Jenkins via freebsd-ports wrote:
>> On 01/04/18 12:15, Dmytro Bilokha wrote:
>>> On Thu, Jan 04, 2018 at 03:31:46PM +0100, Jean-Sébastien Pédron wrote:
>>>> On 03.01.2018 01:06, Anthony Jenkins wrote:
>>>>> I'm having trouble building ports with a new Poudriere rig on a
>>>>> 12.0-CURRENT (git commit 423586ee).  The ports that fail are ones that
>>>>> require a binary bootstrap package (e.g. lang/rust and java/openjdk8). 
>>>>> The executables in these bootstrap packages fail with a segfault as do
>>>>> all executables build with a non-ino64 FreeBSD box.
>>>> Like Jan, I'm surprised that it crashes. AFAIK, Rust builds fine in the
>>>> official package building cluster, which is also running FreeBSD
>>>> 12-CURRENT.
>>>>
>>>> I don't know what to suggest at this point, so I'll wait that you
>>>> provide the information requested by Jan.
>> Sorry for the reply delay - apparently I wasn't an actual member of the
>> @ports mailing list, and I've had a bunch of stuff going on.
>>
>> I've been looking into the lang/rust problem, and it looks like the
>> cargo binary is built against a pre-ino64 FreeBSD.  The cargo binary
>> comes from
>> distfiles/rust/2017-10-12/cargo-0.22.0-x86_64-unknown-freebsd.tar.gz:
>>
>> [ajenkins at ajenkins-hplaptop /usr/ports/lang/rust]$ tar tvzf
>> /usr/ports/distfiles/rust/2017-10-12/cargo-0.22.0-x86_64-unknown-freebsd.tar.gz
>> | grep bin/cargo
>> -rwxr-xr-x  0 2000   2000 14719904 Oct  9 18:21
>> cargo-0.22.0-x86_64-unknown-freebsd/cargo/bin/cargo
>>
>> This binary is not affected by the patch Jan referred to, AFAICT.  I'm
>> trying my hand at writing a wrapper for cargo that uses LD_PRELOAD to
>> call a hand-rolled pre-ino64 stat() that calls the post-ino64 stat().  I
>> have no idea how/why a 12-CURRENT system can build the lang/rust port -
>> I have two CURRENT systems that fail to build it.  Here's my OSVERSION
>> variable:
>>
>> [ajenkins at ajenkins-hplaptop /usr/ports/lang/rust]$ make -v OSVERSION
>> 1200053
>>
>> This kicks in the patch, but I still have the issue.
> I haven't seen this problem here.  Are you running the GENERIC kernel or
> a customized kernel?  If the latter, does the configuration include the
> COMPAT_FREEBSD* options?  The bootstrap is probably compiled for an older
> FreeBSD release, and if those options aren't present, then the syscall
> emulation for the pre-ino64 syscall ABI probably won't be there.
[ajenkins at ajenkins-hplaptop ~]$ grep COMPAT
/usr/src/sys/amd64/conf/MYKERNEL
options         COMPAT_FREEBSD32        # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7
options         COMPAT_FREEBSD9         # Compatible with FreeBSD9
options         COMPAT_FREEBSD10        # Compatible with FreeBSD10

Am I missing a COMPAT_FREEBSD11?  I see it in the GENERIC config.  I'll
add that, rebuild the kernel and try again.

GRRR.... that was it!  It's building now on my laptop, I'll whip up a
new kernel for my poudriere box I put together and see if that fixes
this issue.

Thanks for the help, sorry for the noise.

Anthonuy


More information about the freebsd-ports mailing list