Bug#941399: dino-im FTCBFS: configures for the build architecture
Hi Martin, On Mon, Sep 30, 2019 at 05:07:09PM +0200, Martin wrote: > Note this remark by upstream in xmpp:c...@dino.im?join : > > > [12:55:59] larma: debacle: I did cross compile dino. You > > probably don't want to use the ./configure script for it, but > > use CMake directly Yes, that's what my patch did. > > [13:00:14] larma: All I had to do was to set PKG_CONFIG_PATH > > and CMAKE_TOOLCHAIN_FILE In Debian, PKG_CONFIG_PATH is set by a cross wrapper. We set PKG_CONFIG_EXECUTABLE. dh_auto_configure takes care of that and it generally just works. > > [13:01:13] larma: We don't use valac's compilation feature (we > > only use it for transpiling), so there shouldn't be any issues > > specific to vala > > [13:03:29] larma: But that was on Fedora, not Debian That's good. The problem here is with the packaging of valac, not with dino-im. We need a valac for the build architecture (to be able to run it), but dependency resolution gets us a host architecture one. Executing it yields an "Exec format error". It needs to be fixed on the valac side. I expect that dino-im cross builds just fine once we fix the packaging of valac. Thanks for your help. Unfortunately, fixing the valac side is not trivial, because it also supports a compiling mode. Also unfortunately, the valac maintainers seem to be very busy and unable to reply to bug reports in a timely manner. Helmut
Bug#941399: dino-im FTCBFS: configures for the build architecture
Note this remark by upstream in xmpp:c...@dino.im?join : [12:55:59] larma: debacle: I did cross compile dino. You probably don't want to use the ./configure script for it, but use CMake directly > [13:00:14] larma: All I had to do was to set PKG_CONFIG_PATH and CMAKE_TOOLCHAIN_FILE > [13:01:13] larma: We don't use valac's compilation feature (we only use it for transpiling), so there shouldn't be any issues specific to vala > [13:03:29] larma: But that was on Fedora, not Debian
Bug#941399: dino-im FTCBFS: configures for the build architecture
Source: dino-im Version: 0.0.git20190916.f746ce7-1 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs dino-im has a strange build system. It actually uses cmake with ninja but wraps it inside configure and make. Doing so prevents debhelper from passing the relevant cross compilation flags to cmake and thus configures for the build architecture. The attached patch makes it use cmake and ninja directly. However it doesn't make dino-im cross buildable yet due to #889925. Please consider applying this patch anyway as an incremental improvement and close this bug when doing so. Helmut diff --minimal -Nru dino-im-0.0.git20190916.f746ce7/debian/changelog dino-im-0.0.git20190916.f746ce7/debian/changelog --- dino-im-0.0.git20190916.f746ce7/debian/changelog2019-09-17 22:57:20.0 +0200 +++ dino-im-0.0.git20190916.f746ce7/debian/changelog2019-09-30 06:00:18.0 +0200 @@ -1,3 +1,10 @@ +dino-im (0.0.git20190916.f746ce7-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Imrpove cross building: Use cmake+ninja directly. (Closes: #-1) + + -- Helmut Grohne Mon, 30 Sep 2019 06:00:18 +0200 + dino-im (0.0.git20190916.f746ce7-1) unstable; urgency=medium * New upstream git snapshot diff --minimal -Nru dino-im-0.0.git20190916.f746ce7/debian/rules dino-im-0.0.git20190916.f746ce7/debian/rules --- dino-im-0.0.git20190916.f746ce7/debian/rules2019-09-17 22:56:37.0 +0200 +++ dino-im-0.0.git20190916.f746ce7/debian/rules2019-09-30 06:00:18.0 +0200 @@ -3,10 +3,9 @@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) %: - dh $@ + dh $@ --buildsystem=cmake+ninja override_dh_auto_configure: - SHARED_SIGNAL_PROTOCOL=1 ./configure --prefix=/usr --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dino-im --bindir=/usr/bin --enable-plugin=notification-sound + SHARED_SIGNAL_PROTOCOL=1 dh_auto_configure -- -DENABLED_PLUGINS=notification-sound -DBIN_INSTALL_DIR=/usr/bin -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/dino-im -override_dh_auto_clean: - rm -rf build/ Makefile +override_dh_auto_test: