Package: libglobus-common-dev
Version: 18.14-2
Severity: wishlist

I recently reported a bug against libglobus-common-dev which can easily
be reproduced by compiling a trivial program against it:

$ podman run --rm -it debian:sid-slim   # or use a chroot or something
# apt update
# apt upgrade
# apt install libglobus-common-dev build-essential pkgconf
# cat > t.c <<'EOF'
#include <stdio.h>
int main(void) { return 0; }
EOF
# gcc -ot t.c $(pkgconf --cflags --libs globus-common)

Adding a superficial autopkgtest would be an excellent way to detect this
sort of problem in future, and ci.debian.net would regularly re-run the
test for you, making it easy to spot regressions. For example, the
gdk-pixbuf source package contains debian/tests/build:
https://sources.debian.org/src/gdk-pixbuf/2.42.10%2Bdfsg-1%2Bdeb12u1/debian/tests/build/

Ideally the test would call a trivial function in the library under test,
like maybe initialization or getting the version number. I have no idea
what libglobus-common-dev or what it does, so I don't know whether that's
feasible or not.

If there is no suitable trivial function, another good way to do a
superficial test like this would be to link the test executable with
"-Wl,--no-as-needed" added to the compiler command-line, something
like this:

    "${CROSS_COMPILE}gcc" -o build_test build_test.c -Wl,--no-as-needed 
$("${CROSS_COMPILE}pkg-config" --cflags --libs globus-common)

to ensure that the globus-common library is added to the executable as
a dependency even if no functions from it are actually called.

Thanks,
    smcv

Reply via email to