Lisandro Damián Nicanor Pérez Meyer: > Hi everyone! Greetings again Lisandro. :)
> El miércoles, 16 de enero de 2019 14:53:19 -03 Helmut Grohne escribió: >> Hi Chris, >> > [snip] >>> I had a chance to review the patch. The fix hinges on this function call: >>> PKG_CONFIG = $$pkgConfigExecutable() >>> >>> Could you let me know where this function call exists, i.e. what package >>> it's in so I can look at it? I haven't been able to find it, and to try >>> to get a patch upstream I need to understand and be able to explain what >>> this is for and what it does. >> >> Unfortunately, I cannot precisely answer that question. I'll have to >> defer to Lisandro or Dmitry (both Cced here). In any case, the reason is >> that your dependencies (aka .pc files) may be present for multiple >> architectures and for cross building that matters. So you need to >> somehow specify to pkg-config, which architecture you are interested in. >> On Debian systems you do that by invoking a different pkg-config. >> Typically, that's ${DEB_HOST_GNU_TYPE}-pkg-config. So I can tell, what >> this call does (but not where it comes from): It returns the pkg-config >> that the user (in this case dh_auto_configure) supplied to the build. >> >> A quick codesearch[1] reveals that it is defined somewhere in >> qtbase-opensource-src, so it should come with any qmake installation >> based on qt5. > > qmake as a build system has support for using pkgconfig. I have not used this > myself (I strongly prefer CMake), but glazing at the code it's just the way > qmake passes the path to pkgconfig. Looking at the code (below), that sounds right. This is what I was looking for: root@code-devel:/# fgrep -r pkgConfigExecutable /usr/* /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf:defineReplace(pkgConfigExecutable) { /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: pkg_config = $$pkgConfigExecutable() root@code-devel:/# dpkg -S /usr/lib/x85_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf qt5-qmake:amd64: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf So it's part of the qt5-qmake package, thus part of Qt5 itself. That's most of what I needed to know. The code section in qt_functions.prf: [...] defineReplace(pkgConfigExecutable) { isEmpty(PKG_CONFIG) { !isEmpty(QMAKE_PKG_CONFIG): \ PKG_CONFIG = $$QMAKE_PKG_CONFIG else: \ PKG_CONFIG = pkg-config sysroot.name = PKG_CONFIG_SYSROOT_DIR sysroot.value = $$PKG_CONFIG_SYSROOT_DIR libdir.name = PKG_CONFIG_LIBDIR libdir.value = $$PKG_CONFIG_LIBDIR QT_TOOL_NAME = pkg-config qtAddToolEnv(PKG_CONFIG, sysroot libdir, SYS) } equals(QMAKE_HOST.os, Windows): \ PKG_CONFIG += 2> NUL else: \ PKG_CONFIG += 2> /dev/null return($$PKG_CONFIG) } [...] I'm satisfied. I'll open an issue with Mumble upstream to see if I can get the patch incorporated for Mumble 1.3. The build for mumble 1.3.0~git20190114.9fcc588+dfsg-1 hasn't completed for 3 architectures, and I'd like to wait the 5 days for the package to transition to Testing/Buster -- I plan to upload a package with the patch after that. Thanks very much for this work. -- Chris -- Chris Knadle chris.kna...@coredump.us
signature.asc
Description: OpenPGP digital signature