Package: lightspark
Version: 0.6.0.1-2
Severity: wishlist
Tags: patch sid
User: [email protected]
Usertags: powerpcspe
Hi,
lightspark FTBFS on powerpcspe[1] like this:
[...]
[ 4%] Building CXX object src/CMakeFiles/spark.dir/asobject.cpp.o
cd /«PKGBUILDDIR»/obj-powerpc-linux-gnuspe/src && /usr/bin/c++
-Dspark_EXPORTS -DLLVM_30 -DAUDIO_BACKEND="\"pulse sdl\""
-DHAVE_AVCODEC_DECODE_VIDEO2 -DHAVE_AVCODEC_DECODE_AUDIO3
-DHAVE_AVCODEC_DECODE_AUDIO4 -DHAVE_AVIO_ALLOC_CONTEXT -DENABLE_LIBAVCODEC
-DHAVE_NEW_GLIBMM_THREAD_API -DENABLE_CURL -DENABLE_RTMP
-DLS_DATADIR=\"/usr/share/lightspark\" -DGNASH_PATH=\"/usr/bin/gnash\"
-DPRIVATELIBDIR=\"/usr/lib/lightspark\" -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2
-maltivec -D__STDC_CONSTANT_MACROS -fPIC -Wall -Wnon-virtual-dtor
-Woverloaded-virtual -pipe -fvisibility=hidden -fvisibility-inlines-hidden
-std=c++0x -Wdisabled-optimization -Wextra -Wno-unused-parameter
-Wno-invalid-offsetof -g -O2 -DNDEBUG -fPIC
-I/«PKGBUILDDIR»/obj-powerpc-linux-gnuspe -I/usr/include/glibmm-2.4
-I/usr/lib/powerpc-linux-gnuspe/glibmm-2.4/include -I/usr/include/sigc++-2.0
-I/usr/lib/powerpc-linux-gnuspe/sigc++-2.0/include -I/usr/include/glib
-2.0 -I/usr/lib/powerpc-linux-gnuspe/glib-2.0/include
-I/usr/lib/llvm-3.0/include -I/usr/include/freetype2 -I/usr/include/libxml2
-I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include
-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/gtk-2.0
-I/usr/lib/powerpc-linux-gnuspe/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/«PKGBUILDDIR»/src
-I/«PKGBUILDDIR»/src/scripting -o CMakeFiles/spark.dir/asobject.cpp.o -c
/«PKGBUILDDIR»/src/asobject.cpp
/«PKGBUILDDIR»/src/asobject.cpp:1:0: error: AltiVec and E500 instructions
cannot coexist
make[3]: *** [src/CMakeFiles/spark.dir/asobject.cpp.o] Error 1
make[2]: *** [src/CMakeFiles/spark.dir/all] Error 2
[...]
The attached patch fixes this by enabling -maltivec only in the PowerPC case
when SPE is _not_present.
Thanks,
Roland
[1] http://wiki.debian.org/PowerPCSPEPort
-- System Information:
Debian Release: 7.0
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.7.0 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL
set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash
--- lightspark-0.6.0.1.orig/CMakeLists.txt 2013-02-24 18:06:23.000000000 +0100
+++ lightspark-0.6.0.1/CMakeLists.txt 2013-02-24 18:19:53.572913726 +0100
@@ -142,7 +142,13 @@
ELSEIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
SET(ppc 1)
SET(LIB_SUFFIX "" CACHE STRING "Choose the suffix of the lib folder (if any) : None ppc")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maltivec -D__STDC_CONSTANT_MACROS -fPIC")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS -fPIC")
+ EXECUTE_PROCESS(COMMAND dpkg-architecture -qDEB_HOST_ARCH
+ OUTPUT_VARIABLE DEB_HOST_ARCH)
+ MESSAGE("DEBUG DEB_HOST_ARCH: ${DEB_HOST_ARCH}")
+ IF(NOT(${DEB_HOST_ARCH} MATCHES "powerpcspe"))
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maltivec")
+ ENDIF()
ELSE(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^i[3-6]86$|^x86$")
# All non-x86 non-ppc architectures.
SET(LIB_SUFFIX "" CACHE STRING "Choose the suffix of the lib folder (if any) : None")