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

Re: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)



tags 656755 +patch
thanks

While I really agree to this statement I think there is few chance that
somebody else will step in.  We are just needing to maintain this as a
predependency for two important packages of the Debian Med team.
Ok I took pity on you and took a look at the Makefile.am in that directory, turns out it wasn't that hard to disable building of the CPU with SSE plugin. You should really be able to do this kind of build-system modification yourself though, it's not like the package is using an exotic build system it's bog standard autotools.

I have tested that the resulting package builds on i386, I have not tested whether it actually works.

The attatched patch makes the aforementioned change and also makes debian/rules clean actually work.
diff -urN libhmsbeagle-1.0/debian/patches/disable_cpu_sse_plugin.patch libhmsbeagle-1.0.new/debian/patches/disable_cpu_sse_plugin.patch
--- libhmsbeagle-1.0/debian/patches/disable_cpu_sse_plugin.patch	1970-01-01 01:00:00.000000000 +0100
+++ libhmsbeagle-1.0.new/debian/patches/disable_cpu_sse_plugin.patch	2012-01-25 11:00:07.000000000 +0000
@@ -0,0 +1,59 @@
+Description: Disable CPU_SSE plugin when building without SSE
+ The CPU_SSE plugin does not build without -msse
+Author: Peter Green <plugwash@p10link.net>
+Bug-Debian: http://bugs.debian.org/656755
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+Index: libhmsbeagle-1.0.new/libhmsbeagle/CPU/Makefile.am
+===================================================================
+--- libhmsbeagle-1.0.new.orig/libhmsbeagle/CPU/Makefile.am	2012-01-25 10:09:40.000000000 +0000
++++ libhmsbeagle-1.0.new/libhmsbeagle/CPU/Makefile.am	2012-01-25 10:09:40.000000000 +0000
+@@ -1,4 +1,4 @@
+-lib_LTLIBRARIES=libhmsbeagle-cpu.la libhmsbeagle-cpu-sse.la
++lib_LTLIBRARIES=libhmsbeagle-cpu.la
+ 
+ BEAGLE_CPU_COMMON = Precision.h EigenDecomposition.h \
+                     EigenDecompositionCube.hpp EigenDecompositionCube.h \
+@@ -19,6 +19,8 @@
+ #
+ # CPU plugin with custom SSE code
+ #
++if HAVE_SSE
++lib_LTLIBRARIES += libhmsbeagle-cpu-sse.la
+ libhmsbeagle_cpu_sse_la_SOURCES = $(BEAGLE_CPU_COMMON) \
+                     SSEDefinitions.h BeagleCPU4StateSSEImpl.hpp BeagleCPU4StateSSEImpl.h \
+                     BeagleCPUSSEImpl.hpp BeagleCPUSSEImpl.h \
+@@ -26,6 +28,7 @@
+ 
+ libhmsbeagle_cpu_sse_la_CXXFLAGS = $(AM_CXXFLAGS)
+ libhmsbeagle_cpu_sse_la_LDFLAGS= -version-info $(GENERIC_LIBRARY_VERSION)
++endif
+ 
+ #
+ # CPU plugin with OpenMP parallel threads
+Index: libhmsbeagle-1.0.new/configure.ac
+===================================================================
+--- libhmsbeagle-1.0.new.orig/configure.ac	2012-01-25 10:41:40.000000000 +0000
++++ libhmsbeagle-1.0.new/configure.ac	2012-01-25 10:41:59.000000000 +0000
+@@ -222,6 +222,9 @@
+ if test  "$enable_sse" = yes; then
+ 	SSE_CFLAGS+="-DENABLE_SSE"
+     AM_CXXFLAGS="$AM_CXXFLAGS -msse2"
++    AM_CONDITIONAL(HAVE_SSE,true)
++else
++    AM_CONDITIONAL(HAVE_SSE,false)
+ fi
+ 
+ # ------------------------------------------------------------------------------
diff -urN libhmsbeagle-1.0/debian/patches/series libhmsbeagle-1.0.new/debian/patches/series
--- libhmsbeagle-1.0/debian/patches/series	2012-01-21 16:36:24.000000000 +0000
+++ libhmsbeagle-1.0.new/debian/patches/series	2012-01-25 10:41:51.000000000 +0000
@@ -1 +1,2 @@
 enable_static.patch
+disable_cpu_sse_plugin.patch
diff -urN libhmsbeagle-1.0/debian/rules libhmsbeagle-1.0.new/debian/rules
--- libhmsbeagle-1.0/debian/rules	2012-01-21 12:54:33.000000000 +0000
+++ libhmsbeagle-1.0.new/debian/rules	2012-01-25 10:53:59.000000000 +0000
@@ -42,6 +42,61 @@
 	$(MAKE) -f Makefile distclean || true
 	rm -rf doc .config configure
 	rm -rf lib build
+	rm -f acinclude.m4
+	rm -f INSTALL
+	rm -f libhmsbeagle/config.h.in
+	rm -f examples/*/Makefile.in
+	rm -f examples/Makefile.in
+	rm -f examples/*/*.o
+	rm -rf examples/*/.libs
+	rm -rf libhmsbeagle/*/.libs
+	rm -rf libhmsbeagle/.libs
+	rm -rf libhmsbeagle/*.o
+	rm -rf libhmsbeagle/*/*.o
+	rm -f Makefile
+	rm -f config.log
+	rm -f config.status
+	rm -f examples/Makefile
+	rm -f examples/complextest/Makefile
+	rm -f examples/complextest/complextest
+	rm -f examples/fourtaxon/Makefile
+	rm -f examples/fourtaxon/check_lnL_using_paup.nex
+	rm -f examples/fourtaxon/fourtaxon
+	rm -f examples/fourtaxon/fourtaxonrun.sh
+	rm -f examples/genomictest/Makefile
+	rm -f examples/genomictest/genomictest
+	rm -f examples/genomictest/genomictest.sh
+	rm -f examples/matrixtest/Makefile
+	rm -f examples/matrixtest/matrixtest
+	rm -f examples/oddstatetest/Makefile
+	rm -f examples/oddstatetest/oddstatetest
+	rm -f examples/tinytest/Makefile
+	rm -f examples/tinytest/tinytest
+	rm -f hmsbeagle-1.pc
+	rm -f libhmsbeagle/CPU/Makefile
+	rm -f libhmsbeagle/CPU/libhmsbeagle-cpu.la
+	rm -f libhmsbeagle/CPU/libhmsbeagle_cpu_la-BeagleCPUPlugin.lo
+	rm -f libhmsbeagle/GPU/Makefile
+	rm -f libhmsbeagle/GPU/kernels/Makefile
+	rm -f libhmsbeagle/Makefile
+	rm -f libhmsbeagle/config.h
+	rm -f libhmsbeagle/libhmsbeagle-jni.la
+	rm -f libhmsbeagle/libhmsbeagle.la
+	rm -f libhmsbeagle/libhmsbeagle_jni_la-beagle_BeagleJNIWrapper.lo
+	rm -f libhmsbeagle/libhmsbeagle_la-beagle.lo
+	rm -f libhmsbeagle/plugin/Makefile
+	rm -f libhmsbeagle/plugin/libplugin.la
+	rm -f libhmsbeagle/plugin/libplugin_la-Plugin.lo
+	rm -f libhmsbeagle/plugin/libplugin_la-UnixSharedLibrary.lo
+	rm -f libhmsbeagle/stamp-h1
+	rm -f libtool
+	rm -f aclocal.m4
+	rm -f m4/libtool.m4
+	rm -f m4/ltoptions.m4
+	rm -f m4/ltsugar.m4
+	rm -f m4/ltversion.m4
+	rm -f m4/lt~obsolete.m4
+
 
 # Does not help to fix the lintian issue ... hmmm
 #override_dh_shlibdeps:

Reply to: