[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#909575: make Qt5Core.pc's "$host_bins/qmake" work with cross compilation



Package: qtbase5-dev
User: helmutg@debian.org
Usertags: rebootstrap
Control: affects -1 + src:qbittorrent

qbittorrent has a unique way of failing cross compilation and you can
see it at m4/qbittorrent.m4: It extracts the $host_bins variable from
Qt5Core.pc (the host arch one) and expects "$host_bins/qmake" to work. I
think that's a reasonable expectation and a good way to make building
against a relocatable qmake work. It just happens, that "$host_bins"
currently points at /usr/lib/qt5/bin and thus you get the wrong qmake.

Dmitry said that we fix this with two little changes:
1. Change Qt5Core.pc to point $host_bins at /usr/lib/<triplet>/qt5/bin.
   That was the original value of the variable, but it was moved to
   /usr/lib/qt5/bin in order to make qt5-qmake-bin Multi-Arch: foreign.
   The original location now is a symlink farm and still existent.
2. Change /usr/lib/<triplet>/qt5/bin/qmake to point at
   /usr/bin/<gnutriplet>-qmake. It presently points at
   /usr/lib/qt5/bin/qmake.

After doing both, qbittorrent will look up $host_bins as
/usr/lib/<triplet>/qt5/bin and then use
/usr/lib/<triplet>/qt5/bin/qmake, which points to
/usr/bin/<gnutriplet>-qmake, which does the right thing.

Helmut


Reply to: