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

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: