pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Bootstrapping pbulk in sandbox fails on Loongson/mips64el.
Hi,
I'm trying to bootstrap pbulk on my Loongson2f machine which is
running NetBSD 8.2 but was encountering some issue when building
digest during bootstrapping. The relevant build logs are included
below:
```
===> Installing for digest-20211023
=> Generating pre-install file lists
/bin/sh ./mkinstalldirs
/tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/bin
mkdir /tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/bin
/usr/bin/install -c -s -o root -g wheel -m 755 digest
/tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/bin/digest
/bin/sh ./mkinstalldirs
/tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/man/man1
mkdir /tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/man
mkdir /tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/man/man1
/usr/bin/install -c -o root -g wheel -m 644 digest.1
/tmp/obj-pbulk/pkgtools/digest/work/.destdir/usr/pbulk/man/man1/digest.1
=> Automatic manual page handling
=> Generating post-install file lists
=> Checking file-check results for digest-20211023
=> Checking for non-existent script interpreters in digest-20211023
=> Checking for missing run-time search paths in digest-20211023
/usr/bin/awk: no program filename
*** Error code 2
Stop.
bmake[3]: stopped in /usr/pkgsrc/pkgtools/digest
*** Error code 1
Stop.
bmake[2]: stopped in /usr/pkgsrc/pkgtools/digest
*** Error code 1
Stop.
bmake[1]: stopped in /usr/pkgsrc/sysutils/checkperms
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/pkgtools/pbulk
```
So I googled the error message and found this old thread[1] (which now
looks like this[2]) suggesting that $OBJECT_FMT is not properly set.
So I used the following patch to trick bmake to properly set
everything it needs
```
Index: check-shlibs.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/check/check-shlibs.mk,v
retrieving revision 1.34
diff -u -r1.34 check-shlibs.mk
--- check-shlibs.mk 11 Oct 2021 20:26:28 -0000 1.34
+++ check-shlibs.mk 16 Dec 2021 13:42:57 -0000
@@ -67,6 +67,11 @@
. if defined(DARWIN_NO_SYSTEM_LIBS)
CHECK_SHLIBS_NATIVE_ENV+= SKIP_SYSTEM_LIBS=1
. endif
+. else
+USE_TOOLS+= readelf
+CHECK_SHLIBS_NATIVE= ${PKGSRCDIR}/mk/check/check-shlibs-elf.awk
+CHECK_SHLIBS_NATIVE_ENV+= PLATFORM_RPATH=${_OPSYS_SYSTEM_RPATH:Q}
+CHECK_SHLIBS_NATIVE_ENV+= READELF=${TOOLS_PATH.readelf:Q}
. endif
CHECK_SHLIBS_NATIVE_ENV+= CROSS_DESTDIR=${_CROSS_DESTDIR:Q}
CHECK_SHLIBS_NATIVE_ENV+= PKG_INFO_CMD=${PKG_INFO:Q}
```
And then the bootstrapping of pbulk succeeded.
Apparently the proper fix should be let bmake properly detect that we
are NetBSD with elf support. So I dug a little more and found this[3]
in bmake source which I think should have properly set OBJECT_FMT to
ELF. I checked in the chroot there it is:
```
# file /usr/libexec/ld.elf_so
/usr/libexec/ld.elf_so: symbolic link to /libexec/ld.elf_so
# file /libexec/ld.elf_so
/libexec/ld.elf_so: ELF 32-bit LSB shared object, MIPS, N32 MIPS-III
version 1 (SYSV), dynamically linked, for NetBSD 8.2, not stripped
```
But somehow this didn't happen.
Would like to know what could be the cause and how to properly fix
this. Thanks!
[1] https://mail-index.netbsd.org/tech-pkg/2015/12/09/msg016090.html
[2] https://github.com/NetBSD/pkgsrc/blob/trunk/mk/check/check-shlibs.mk#L60
[3] https://github.com/NetBSD/pkgsrc/blob/trunk/devel/bmake/files/mk/own.mk#L199-L202
Home |
Main Index |
Thread Index |
Old Index