tags 799992 + patch
User 799992 + debian-m...@lists.debian.org
Usertags 799992 + mips-patch
Hello,
Package kmix_4:15.08.1-1 FTBFS on mips, mipsel, mips64el and other
architectures with following message:
CMake Error at /usr/lib/automoc4/Automoc4Config.cmake:248 (add_dependencies):
The dependency target "kmix_automoc" of target "kmix" does not exist.
https://buildd.debian.org/status/fetch.php?pkg=kmix&arch=mips&ver=4%3A15.08.1-1&stamp=1446803463
https://buildd.debian.org/status/fetch.php?pkg=kmix&arch=mipsel&ver=4%3A15.08.1-1&stamp=1446801110
https://buildd.debian.org/status/fetch.php?pkg=kmix&arch=mips64el&ver=4%3A15.08.1-1&stamp=1446667766
Package also fails on other arch’s including amd64 on my local build (sbuild).
If this issue is resolved package later fails on MIPS with following message:
[ 96%] Linking CXX executable kmix
/usr/bin/cmake -E cmake_link_script CMakeFiles/kmix.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
-D_FORTIFY_SOURCE=2 -D_FORTIFY_SOURCE=2 -std=c++11 -Wnon-virtual-dtor
-Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith
-Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common
-Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden
-Werror=return-type -fvisibility-inlines-hidden -DNDEBUG -DQT_NO_DEBUG
-Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,--no-undefined
-Wl,--enable-new-dtags CMakeFiles/kmix.dir/kmix_dummy.cpp.o
CMakeFiles/kmix.dir/kmix_automoc.cpp.o -o kmix -rdynamic
lib/libkdeinit4_kmix.so /usr/lib/libplasma.so.3.0.0
/usr/lib/libsolid.so.4.14.13 /usr/lib/libkdeui.so.5.14.13
/usr/lib/mips64el-linux-gnuabi64/libQtGui.so
/usr/lib/mips64el-linux-gnuabi64/libQtSvg.so /usr/lib/libkdecore.so.5.14.13
/usr/lib/mips64el-linux-gnuabi64/libQtDBus.so
/usr/lib/mips64el-linux-gnuabi64/libQtCore.so
/usr/lib/mips64el-linux-gnuabi64/libQtXml.so -lphonon -lasound -lpulse
-lpulse-mainloop-glib -lglib-2.0 -lcanberra
-Wl,-rpath,/build/kmix-gWkEYb/kmix-15.08.1/obj-mips64el-linux-gnuabi64/lib:
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.25.1 assertion fail
../../bfd/elf-strtab.c:199
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.25.1 assertion fail
../../bfd/elf-strtab.c:272
collect2: error: ld returned 1 exit status
To workaround this issue flag "--as-needed" is disabled.
After that change package was built successfully on MIPS.
Similar issue is discussed on debian-mips mailing list:
https://lists.debian.org/debian-mips/2015/09/msg00009.html
Patches resolving this issues are attached.
For first issue:
cmake_automoc_enable.diff
For second issue:
mips-no-as-needed-workaround.diff
debian-rules-mips.diff
Thank you!
Regards,
Jurica
--- kmix-15.08.1.orig/CMakeLists.txt
+++ kmix-15.08.1/CMakeLists.txt
@@ -10,6 +10,8 @@ project(kmix)
#
# Next step: Talk to Alex Fiestas how to progress
+set(CMAKE_AUTOMOC ON)
+
if(POLICY CMP0046)
cmake_policy (SET CMP0046 NEW)
endif()
--- kmix-15.08.1.orig/CMakeLists.txt
+++ kmix-15.08.1/CMakeLists.txt
@@ -29,7 +29,11 @@ if(POLICY CMP0046)
cmake_policy (SET CMP0046 NEW)
endif()
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+
+if (WITH_MIPS_BUILD)
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed")
+endif(WITH_MIPS_BUILD)
if (KMIX_KF5_BUILD)
find_package(ECM 5.10.0 REQUIRED NO_MODULE)
diff -upNr kmix-15.08.1-orig/debian/rules kmix-15.08.1/debian/rules
--- kmix-15.08.1-orig/debian/rules 2015-09-19 17:10:51.000000000 +0000
+++ kmix-15.08.1/debian/rules 2015-12-04 21:27:26.000000000 +0000
@@ -2,5 +2,9 @@
include /usr/share/pkg-kde-tools/qt-kde-team/3/debian-qt-kde.mk
+MIPS_BUILD = OFF
+ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel mips64 mips64el))
+ MIPS_BUILD = ON
+endif
override_dh_auto_configure:
- $(overridden_command) -- -DKMIX_KF5_BUILD=0
+ $(overridden_command) -- -DKMIX_KF5_BUILD=0 -DWITH_MIPS_BUILD:BOOL=$(MIPS_BUILD)