[build2] Bootstrap build failing bpkg and bdep tests

Boris Kolpackov boris at codesynthesis.com
Fri Sep 14 16:20:39 UTC 2018

Matthew Krupcale <mkrupcale at matthewkrupcale.com> writes:

> I am attempting to make an RPM for build2[1]

Nice. There was an attempt to make a .deb package for build2 some time
ago which resulted in a number of discussions (and some enhancements to
the build2 build process). Not sure if you've seen it:


Continues here:


> 1. When running bpkg (and bdep) tests, the "--build path" argument is
> passed to bpkg through
> build = $recall($build.path)
> test.options += --build $build
> in {bpkg,bdep}-0.8.0/tests/common.testscript. As far as I can tell,
> $recall($build.path) returns argv[0] of the build2 process, which when
> that path is relative, and the testscript changes directory, will
> cause bpkg or bdep to fail to find the build2 executable.

Yes, that's a good find. We probably should use $effect() (effective
path) instead since we are changing CWD. Will think some more and fix.

> 2. When running bdep on this bootstrap-built system, it cannot find
> bpkg since it is not in the default search path and is not passed as
> an argument "--bpkg path" to bdep in the testscript.

Yes, currently we essentially assume that when running tests, the
tools from the toolchain can be executed as is. Again, need to
think how to fix this properly.

> Is build2 (i.e. b-boot) trying to run bpkg which then runs build2, but
> the bpkg process was not given the location of build2 (i.e. argv[0])
> as one of its arguments through "--build path", and thus it defaults
> to "b"?

Note that b-boot (both phase 1 and 2 per the Installation and Upgrade
manual[1]) shouldn't be used to run any tests. Especially phase 1,
which is actually missing large chunks of the functionality.

> 4. The remaining errors[3] are for bpkg, and I have not been able to
> figure out how to fix them. The errors are to do with parsing a
> certificate:

It looks like you have no openssl installed (which it what's used to
extract the certificate information). Though we should probably improve
this diagnostics.

If you do have openssl, can you run:

$ openssl version

And send the result?

[1] https://build2.org/build2-toolchain/doc/build2-toolchain-install.xhtml#INSTALL

More information about the users mailing list