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



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