• buildds: Using LD_PRELOAD & LD_LIBRARY_PATH

    From Mathieu Malaterre@21:1/5 to All on Mon Dec 6 09:00:02 2021
    [CC me please]

    Dear DDs,

    I am staring at:

    * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001136

    One can verify that sh4 build went fine for this upload:

    * https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=sh4&ver=9.0.0-3&stamp=1638662998&raw=0

    It should be noticed that, this is a duplicate of:

    * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997080

    As mentioned in the above:

    [...]
    I cannot reproduce the issue:
    * On my local sid schroot,
    * On barriere.d.o
    * The exp. buildds are working as expected:
    ** https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=amd64&ver=9.0.0-2&stamp=1638489598&raw=0
    [...]

    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
    [...]

    Thanks much,

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Mathieu Malaterre on Mon Dec 6 11:40:02 2021
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sven Joachim@21:1/5 to Mathieu Malaterre on Mon Dec 6 18:00:01 2021
    On 2021-12-06 08:50 +0100, Mathieu Malaterre wrote:

    I am staring at:

    * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001136

    One can verify that sh4 build went fine for this upload:

    * https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=sh4&ver=9.0.0-3&stamp=1638662998&raw=0

    It should be noticed that, this is a duplicate of:

    * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997080

    As mentioned in the above:

    [...]
    I cannot reproduce the issue:
    * On my local sid schroot,
    * On barriere.d.o
    * The exp. buildds are working as expected:
    ** https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=amd64&ver=9.0.0-2&stamp=1638489598&raw=0
    [...]

    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
    [...]

    Your debian/rules file looks incorrect to me, the
    override_dh_install-arch target requires to generate the manpages with
    help2man _before_ installing the libraries into /debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH), so setting LD_LIBRARY_PATH is
    rather useless.

    Cheers,
    Sven

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)