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

Reply via email to