NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/55997: lang/perl5 fails to build in compat_netbsd32 chroot
The following reply was made to PR kern/55997; it has been noted by GNATS.
From: Rin Okuyama <rokuyama.rk%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost, kern-bug-people%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost, martin%NetBSD.org@localhost
Cc:
Subject: Re: kern/55997: lang/perl5 fails to build in compat_netbsd32 chroot
Date: Sun, 14 Mar 2021 21:28:22 +0900
Ah, I just remembered perl5 vs tmpfs on COMPAT_NETBSD32 problem; I believe
this is a bug of perl5 bootstrap rather than ours.
Support for 64-bit integer is not built in miniperl for ILP32 environments,
unless it is explicitly enabled by 64bitint option (and similar ones?).
This is problematic since ino_t is uint64_t for NetBSD.
For most cases, inode number is within 32-bit width. But tmpfs on LP64
machines uses inode number larger than UINT32_MAX frequently. In this case,
miniperl cannot handle that file/directory at all, which results in build
failure.
This problem can be worked around by something like
----
.if ${MACHINE_ARCH} != alpha && \
!(!empty(MACHINE_ARCH:M*64*) && empty(MACHINE_ARCH:Mmips*))
PKG_OPTIONS.perl= -64bitauto 64bitint
.endif
----
in /etc/mk.conf. Probably we can add a similar hack to pkgsrc/lang/perl5.
Again, this is a bug in perl5. Since ino_t is uint64_t, we can freely use
inode number larger than UINT32_MAX. miniperl should handle such an inode
regardless of options (except for 64bitnone?).
Thanks,
rin
Home |
Main Index |
Thread Index |
Old Index