Package: pkg-config
Version: 0.29-4+b1
Severity: serious
Justification: missing dependency
# i686-linux-gnu-pkg-config --libs libssl
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
# ls /usr/lib/i386-linux-gnu/pkgconfig/libssl.pc
/usr/lib/i386-linux-gnu/pkgconfig/libssl.pc
# apt -y install dpkg-dev
...
# i686-linux-gnu-pkg-config --libs libssl
-lssl
#
In this case, i686-linux-gnu-pkg-config is a symlink to
/usr/share/pkg-config-crosswrapper and that script has the following
line:
multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH
2>/dev/null`"
It calls dpkg-architecture (which is in dpkg-dev) and igores all errors.
In the absence of dpkg-architecture, the result will be empty and
pkg-config doesn't work.
If adding dpkg-dev to Depends is not desired, the cross-wrapper could be
extended to give a useful error message in case $multiarch is empty:
--- /usr/share/pkg-config-crosswrapper
+++ /usr/share/pkg-config-crosswrapper
@@ -11,6 +11,10 @@
triplet="${basename%-pkg-config}"
# Normalized multiarch path if any, e.g. i386-linux-gnu for i386
multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH
2>/dev/null`"
+ if test "$?" != 0; then
+ echo "Please apt install dpkg-dev to use this program." 1>&2
+ exit 1
+ fi
# Native multiarch path
native_multiarch="$(cat /usr/lib/pkg-config.multiarch)"
dpkg-dev should be added to Recommends in that case.
Helmut