Bug#839283: qimageblitz FTCBFS: uses the build architecture compiler and detects build architecture capabilities
Source: qimageblitz
Version: 1:0.0.6-4
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap
qimageblitz fails to cross build from source, because it compiles its
assembly file with the build architecture compiler and then fails
linking it. It uses plain gcc instead of the proper cmake variable
${CMAKE_C_COMPILER} there. It also determines whether to use certain
processor features (e.g. MMX) by looking at the architecture one is
building on (build architecture) instead of the architecture one is
building for (host architecture). The attached patch fixes both problems
and makes qimageblitz cross build just fine. Please consider applying
it.
Helmut
diff --minimal -Nru qimageblitz-0.0.6/debian/changelog qimageblitz-0.0.6/debian/changelog
--- qimageblitz-0.0.6/debian/changelog 2011-06-23 10:26:57.000000000 +0200
+++ qimageblitz-0.0.6/debian/changelog 2016-09-30 22:30:15.000000000 +0200
@@ -1,3 +1,12 @@
+qimageblitz (1:0.0.6-4.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + Use CMAKE_C_COMPILER instead of gcc
+ + Fix build/host confusion
+
+ -- Helmut Grohne <helmut@subdivi.de> Fri, 30 Sep 2016 22:29:29 +0200
+
qimageblitz (1:0.0.6-4) unstable; urgency=low
* Replace $(overriden_command) with $(overridden_command) in debian/rules.
diff --minimal -Nru qimageblitz-0.0.6/debian/patches/14_cross.diff qimageblitz-0.0.6/debian/patches/14_cross.diff
--- qimageblitz-0.0.6/debian/patches/14_cross.diff 1970-01-01 01:00:00.000000000 +0100
+++ qimageblitz-0.0.6/debian/patches/14_cross.diff 2016-09-30 22:29:09.000000000 +0200
@@ -0,0 +1,16 @@
+From: Helmut Grohne <helmut@subdivi.de>
+Subject: use the host architecture compiler
+
+Index: qimageblitz-0.0.6/blitz/CMakeLists.txt
+===================================================================
+--- qimageblitz-0.0.6.orig/blitz/CMakeLists.txt
++++ qimageblitz-0.0.6/blitz/CMakeLists.txt
+@@ -33,7 +33,7 @@
+ if(NOT APPLE AND NOT WIN32)
+ set( blitz_LIB_SRCS ${blitz_LIB_SRCS} asm_scale.S )
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/asm_scale.o
+- COMMAND gcc -c ${CMAKE_CURRENT_SOURCE_DIR}/asm_scale.S
++ COMMAND ${CMAKE_C_COMPILER} -c ${CMAKE_CURRENT_SOURCE_DIR}/asm_scale.S
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/asm_scale.S )
+ set( blitz_LIB_EXTRA_SRCS ${CMAKE_CURRENT_BINARY_DIR}/asm_scale.o )
+ set(HAVE_EXTERNAL_ASM TRUE)
diff --minimal -Nru qimageblitz-0.0.6/debian/patches/series qimageblitz-0.0.6/debian/patches/series
--- qimageblitz-0.0.6/debian/patches/series 2010-09-19 11:38:11.000000000 +0200
+++ qimageblitz-0.0.6/debian/patches/series 2016-09-30 22:26:49.000000000 +0200
@@ -2,3 +2,4 @@
11_.gnu.note.diff
12_remove_FindQt4.cmake.diff
13_disable_usr_lib_rpath.diff
+14_cross.diff
diff --minimal -Nru qimageblitz-0.0.6/debian/rules qimageblitz-0.0.6/debian/rules
--- qimageblitz-0.0.6/debian/rules 2011-04-27 14:37:40.000000000 +0200
+++ qimageblitz-0.0.6/debian/rules 2016-09-30 22:29:27.000000000 +0200
@@ -8,7 +8,7 @@
cpu_opt_amd64 = 3dnow mmx sse sse2 sse3
cpu_opt_powerpc = altivec
-build_arch_opts = $(cpu_opt_$(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU))
+build_arch_opts = $(cpu_opt_$(shell dpkg-architecture -qDEB_HOST_ARCH_CPU))
ifneq (,$(build_arch_opts))
Reply to: