Hi! Seems this is getting more of a general set of questions. Running a "current" VAX installation, I can build a lot of packages with `CFLAGS+=-O0` in my /etc/mk.conf . I already had a number of packages built: # pkg_info cwrappers-20220403 pkgsrc compiler wrappers mktools-20220614 Collection of pkgsrc mk infrastructure tools digest-20220214 Message digest wrapper utility perl-5.38.0 Practical Extraction and Report Language osabi-NetBSD-10.99.5 Operating System version dummy-package lsof-4.91nb7 Lists information about open files pstree-2.39 Display processes in a tree m4-1.4.19nb1 GNU version of UNIX m4 macro language processor libtool-base-2.4.7nb1 Generic shared library support script (the script itself) gettext-lib-0.22nb1 Internationalized Message Handling Library (libintl) gettext-tools-0.22 Tools for providing messages in different languages bison-3.8.2nb1 GNU yacc(1) replacement bash-5.2.15 The GNU Bourne Again Shell gmake-4.4.1 GNU version of 'make' utility pkgconf-1.9.5 API-driven pkg-config replacement lz4-1.9.4 Extremely Fast Compression algorithm zstd-1.5.5 Fast real-time compression algorithm popt-1.19 Command line option parsing library xxhash-0.8.1 Extremely fast non-cryptographic hash algorithm rsync-3.2.7nb1 Network file distribution/synchronisation utility pbulk-base-0.57 Core components of the modular bulk build framework pbulk-0.71 Modular bulk build framework readline-8.2nb2 GNU library that can recall and edit previous input libffi-3.4.4 Foreign function interface libuuid-2.32.1nb1 Generate unique identifiers for objects p5-gettext-1.07nb8 Perl5 module interface to C I18N functions help2man-1.49.3 Generate simple manual pages from program output autoconf-2.71nb2 Generates automatic source code configuration scripts automake-1.16.5nb3 GNU Standards-compliant Makefile generator screen-4.9.0 Multi-screen window manager bash-completion-2.11 Programmable completion specifications for bash watch-3.2.6nb4 Watch a program with update intervals mksandbox-1.10 Tool for creating sandboxes distcc-3.4 Tool for distributed C/C++ compiling libevent-2.1.12 Asynchronous event notification library tmux-3.3a BSD-licensed terminal multiplexer (GNU Screen alternative) ...and with that, I am following http://wiki.netbsd.org/tutorials/pkgsrc/pbulk/ to do the bootstrap, ie. run `sh /usr/pkgsrc/mk/pbulk/pbulk.sh -n -c mk.conf.frag` in a freshly created sandbox. This mk.conf.frag contains `CFLAGS+=-O0` and I also tried to export `CFLAGS=-O0`. However, building / bootstrapping the `digest` package breaks due to missing `-O0`. Fixed by forcing it into its Makefile.in . With a number of tools built within the sandbox, build returns to `bison` (needed for `bash`, which is needed by `rsync`, which is required by `pbulk`): ===> Extracting for bison-3.8.2nb1 ===> Patching for bison-3.8.2nb1 => Applying pkgsrc patches for bison-3.8.2nb1 => Verifying /usr/pkgsrc/devel/bison/patches/patch-lib_isnan.c => Applying pkgsrc patch /usr/pkgsrc/devel/bison/patches/patch-lib_isnan.c Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |$NetBSD: patch-lib_isnan.c,v 1.4 2015/01/22 04:57:57 mef Exp $ | |Fix definition of NaN on VAX. | |--- lib/isnan.c.orig 2012-03-30 07:18:32.000000000 +0000 |+++ lib/isnan.c -------------------------- Patching file lib/isnan.c using Plan A... Hunk #1 succeeded at 130 (offset 11 lines). done ===> Creating toolchain wrappers for bison-3.8.2nb1 ===> Configuring for bison-3.8.2nb1 => Modifying GNU configure scripts to avoid --recheck => Replacing config-guess with pkgsrc versions => Replacing config-sub with pkgsrc versions => Replacing install-sh with pkgsrc version => Replacing Perl interpreter in examples/extexi. => Replacing sh interpreter in examples/test examples/*/*.test. => Fixing locale directory references. => Checking for portability problems in extracted files awk: floating point exception: Floating point overflow input record number 500347, file source line number 37 *** Error code 1 Stop. bmake[4]: stopped in /usr/pkgsrc/devel/bison *** Error code 1 Why is bootstrapping the pkgsrc tree / stuff for pbulk so much different than just building it "natively" on the NetBSD system itself? `digest` breaks here due to missing `-O0` and this `awk` issue wasn't there when just doing a `make install package` in the pbulk direktory as well: It did build just fine. So during this bootstrapping, things work a bit differently?! I wonder if I, by chance, should instead try to just build the tools in that sandbox (instead of letting /usr/pkgsrc/mk/pbulk/pbulk.sh do some "bootstrap") or copy my already built packages into the sandbox and install it there? So just build and/or install `pbulk` there and just let it run? I noticed that it seems to create a "bootstrapkit" with some binaries---however, I didn't yet figure out what it is really expected to contain. Maybe just create a tarball of the already running system? In the end, my goal it to be able to easily recreate such a bulk build host. The initial part (start with NetBSD sources, auto-install with either SIMH or a real VAX with PiSCSI) works quite well, but I'm now struggling a bit with the pbulk or pkgsrc bootstrap. (Also keeping in mind that it seems to be able to build on worker nodes, that would of course be quite favourable!) MfG, JBG --
Attachment:
signature.asc
Description: PGP signature