On Mon, 06 Dec 2021 at 08:50:36 +0100, Mathieu Malaterre wrote: > Could someone please confirm if the following command line invocation > is acceptable in d/rules within buildds environment: > > [...] > debian/vdb_print.1: debian/vdb_print.1.in > LD_PRELOAD= > LD_LIBRARY_PATH=./debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \ > help2man --version-string=$(VER_FULL) --include=$< > --output=$@ --no-info \ > --no-discard-stderr ./debian/tmp/usr/bin/vdb_print
I would expect this to be OK, but I have no idea what openvdb is or what it does, so there might be subtleties. Using LD_PRELOAD= is something that generally works: some packages that I maintain do this to run their build-time test suites, which can fail if the fakeroot module was LD_PRELOADed[1]. Setting LD_LIBRARY_PATH is also something that generally works: basically all Autotools packages with test suites do this to run their test suites. It might be more conventional to use $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) so that it's an absolute path. It would probably be useful to try running: LD_PRELOAD= LD_LIBRARY_PATH=./debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) ./debian/tmp/usr/bin/vdb_print --version just before this help2man invocation, so that if there is a linker error or something, you will see it? I also notice that the build-time tests are failing in experimental, but their failure is ignored (except on sh4, which builds with DEB_BUILD_OPTIONS="nobench nocheck parallel=1" so it never even tries to run the tests). The log says: 2: log4cplus:ERROR No appenders could be found for logger (openvdb). 2: log4cplus:ERROR Please initialize the log4cplus system properly. Could this be failing early enough that it also breaks the ability to run `vdb_print --help` and `vdb_print --version`? smcv [1] D-Bus-related packages want to know their real uid, and bubblewrap doesn't work with fakeroot because fakeroot assumes a fully-functional filesystem at all times, but bubblewrap needs to pass through a state where the filesystem is non-functional while it sets up its container.