Armhf用にクロスコンパイルしたいQtアプリケーションがあります。次のコマンドを使用して、sbuild chrootを設定しました。
mk-sbuild --target armhf trusty
しかし、debuild -S
を実行してからパッケージをビルドしようとすると、次のエラーが発生します。
$ sbuild --build=AMD64 --Host=armhf -d trusty myapp_1.0.dsc
...
dh_auto_configure -a
qmake: could not find a Qt installation of ''
dh_auto_configure: qmake -makefile -nocache QMAKE_CFLAGS_RELEASE=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CFLAGS_DEBUG=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CXXFLAGS_RELEASE=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CXXFLAGS_DEBUG=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro QMAKE_STRIP=: PREFIX=/usr returned exit code 1
make: *** [build-Arch] Error 2
dpkg-buildpackage: error: debian/rules build-Arch gave error exit status 2
何が悪いのですか?
Ubuntu SDKのarmhf chrootsでも発生している「chrootへのqmakeのクロス」というバグがあります。
https://bugs.launchpad.net/ubuntu/+source/click/+bug/1393697
そこで、qmakeではなくCMakeに切り替えました。