Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
I agree that this was not to hard. However, I did not understand your motivation to work behind a perfectly working clean target which was fully functional by using autotools-dev, dh-autoreconf. It wasn't fully functional for me, I was repeatedlly bugged by dpkg-source about files the clean target had left behind as I made changes and reran dpkg-buildpackage so I added commands to remove them so I could continue working on the package and preparing the patch. >I noticed that now the plugin for amd64 is not builded and needed to >tweak debian/rules a bit by detecting the build architecture. Indeed. >Hope this will work now for all archs. Looks like it's failing on kfreebsd because the default java is gcj based and doesn't implement the relatively new Math.getExponent. Other than that things look good to me :). -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
Hi Peter, many thanks for the patch which was in fact helpful to solve the problem. On Wed, Jan 25, 2012 at 11:04:13AM +, peter green wrote: > 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 agree that this was not to hard. However, I did not understand your motivation to work behind a perfectly working clean target which was fully functional by using autotools-dev, dh-autoreconf. So I deleted your part of debian/rules changes. > I have tested that the resulting package builds on i386, I have not > tested whether it actually works. I noticed that now the plugin for amd64 is not builded and needed to tweak debian/rules a bit by detecting the build architecture. Hope this will work now for all archs. > The attatched patch makes the aforementioned change and also makes > debian/rules clean actually work. As I said, this was unnecessary. Thanks in any case for your help Andreas. -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656755: 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.0 +0100 +++ libhmsbeagle-1.0.new/debian/patches/disable_cpu_sse_plugin.patch 2012-01-25 11:00:07.0 + @@ -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 +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: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +Index: libhmsbeagle-1.0.new/libhmsbeagle/CPU/Makefile.am +=== +--- libhmsbeagle-1.0.new.orig/libhmsbeagle/CPU/Makefile.am 2012-01-25 10:09:40.0 + libhmsbeagle-1.0.new/libhmsbeagle/CPU/Makefile.am 2012-01-25 10:09:40.0 + +@@ -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.0 + libhmsbeagle-1.0.new/configure.ac 2012-01-25 10:41:59.0 + +@@ -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.0 + +++ libhmsbeagle-1.0.new/debian/patches/series 2012-01-25 10:41:51.0 + @@ -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.0 + +++ libhmsbeagle-1.0.new/debian/rules 2012-01-25 10:53:59.0 + @@ -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
Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
On Wed, Jan 25, 2012 at 01:37:59AM +, peter green wrote: > Andreas Tille wrote: > > Hi, > > > > I have to admit that I do not have any experience with SSE issues. Any > > advise what to do in cases like this (see build logs linked below)? > From looking at the build logs it looks like it is trying to build > a "plain CPU plugin" and a "CPU with SSE plugin", presumablly the > "plugins" are different peices of code that can be used to perform > the core computations. It looks like you will need to modify the > build system so that it is possible to disable building the "CPU > with SSE plugin". Yes, that's also what I guessed from the logs and the code. > But thats only my gut feeling from looking at the build logs and > package discriptions, this really needs to be confirmed by someone > who actually knows the internals of the package in question. Upstream was in CC in all these mails. I'm urgently hoping for some answer. > If you can't handle this then I don't think you are competant to be > maintaining this package in debian. Knowing how the components of > the software they are packaging fit together and how to fix the > build systems to produce packages suitable for debian is IMO a > pretty key part of a maintainers job. 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. As you know RFP bugs are really rarely resolved and thus we try to drain the competence to handle this from upstream which is IMHO the fallback for maintainers in any case. Kind regards Andreas. -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
Andreas Tille wrote: > Hi, > > I have to admit that I do not have any experience with SSE issues. Any > advise what to do in cases like this (see build logs linked below)? From looking at the build logs it looks like it is trying to build a "plain CPU plugin" and a "CPU with SSE plugin", presumablly the "plugins" are different peices of code that can be used to perform the core computations. It looks like you will need to modify the build system so that it is possible to disable building the "CPU with SSE plugin". But thats only my gut feeling from looking at the build logs and package discriptions, this really needs to be confirmed by someone who actually knows the internals of the package in question. If you can't handle this then I don't think you are competant to be maintaining this package in debian. Knowing how the components of the software they are packaging fit together and how to fix the build systems to produce packages suitable for debian is IMO a pretty key part of a maintainers job. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656755: [Debian-med-packaging] Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
Le 1/22/12 2:31 PM, Andreas Tille a écrit : > Hi, > > I have to admit that I do not have any experience with SSE issues. Any > advise what to do in cases like this (see build logs linked below)? SSE is not supported on all architecture. Hurd is one among others. If code makes use of SSE with no fallback option, then it is not supported on this architecture. configure etc... can detect if SSE is supported on current arch, and sets SSE_ENABLED or something like that in config.h,but of course, code must manage this and fallback to non-sse code in this case, if any. > The error message starts with > > libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../libhmsbeagle > -I/build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0 > -I/build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0 -O3 -c > BeagleCPUSSEPlugin.cpp -fPIC -DPIC -o > .libs/libhmsbeagle_cpu_sse_la-BeagleCPUSSEPlugin.o > In file included from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:37:0, > from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44, > from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, > from BeagleCPUSSEPlugin.cpp:9: > /usr/lib/gcc/i486-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 > instruction set not enabled" > In file included from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:39:0, > from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44, > from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, > from BeagleCPUSSEPlugin.cpp:9: > /usr/lib/gcc/i486-gnu/4.6/include/xmmintrin.h:32:3: error: #error "SSE > instruction set not enabled" > In file included from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44:0, > from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, > from BeagleCPUSSEPlugin.cpp:9: > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:52:10: > error: '__m128d' does not name a type > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:80:2: > error: 'V_Real' does not name a type > In file included from > /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240:0, > from BeagleCPUSSEPlugin.cpp:9: > > Any help is welcome > > Andreas. > > On Sat, Jan 21, 2012 at 09:50:16PM +, Adam D. Barratt wrote: >> On Sat, 2012-01-21 at 17:16 +0100, Andreas Tille wrote: >>> On Sat, Jan 21, 2012 at 03:00:25PM +, peter green wrote: It seems things are a little more complex than they first appeared. In particular it seems libhmsbeagle has a specific "sse2 plugin" which can only be built with sse2 enabled and that is built even if --enable-sse=no is passed (which seems like a bug in the upstream build system to me). Therefore disabling -msse2 has caused the package to FTBFS everywhere except amd64. For non pc architectures I would think the sse2 plugin should simply be disabled. >>> Do you have any hint how I could find this plugin which should be >>> disabled. >> [...] >>> A failed build log would probably be helpful. I also have included >>> upstream whether they might be able to give any hint about this issue: >> Predictably, https://buildd.debian.org/status/package.php?p=libhmsbeagle >> has several - the hurd-i386, powerpc and s390x logs all look like they >> fail whilst building libhmsbeagle_cpu_sse_la-BeagleCPUSSEPlugin.lo. >> >> Regards, >> >> Adam >> >> -- Olivier Sallou IRISA / University of Rennes 1 Campus de Beaulieu, 35000 RENNES - FRANCE Tel: 02.99.84.71.95 gpg key id: 4096R/326D8438 (pgp.mit.edu) Key fingerprint = 5FB4 6F83 D3B9 5204 6335 D26D 78DC 68DB 326D 8438 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656755: Help with architecture not supporting SSE (Was: Bug#656755: libhmsbeagle FTBFS on everything except amd64)
Hi, I have to admit that I do not have any experience with SSE issues. Any advise what to do in cases like this (see build logs linked below)? The error message starts with libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../libhmsbeagle -I/build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0 -I/build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0 -O3 -c BeagleCPUSSEPlugin.cpp -fPIC -DPIC -o .libs/libhmsbeagle_cpu_sse_la-BeagleCPUSSEPlugin.o In file included from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:37:0, from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44, from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, from BeagleCPUSSEPlugin.cpp:9: /usr/lib/gcc/i486-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled" In file included from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:39:0, from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44, from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, from BeagleCPUSSEPlugin.cpp:9: /usr/lib/gcc/i486-gnu/4.6/include/xmmintrin.h:32:3: error: #error "SSE instruction set not enabled" In file included from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.hpp:44:0, from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240, from BeagleCPUSSEPlugin.cpp:9: /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:52:10: error: '__m128d' does not name a type /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/SSEDefinitions.h:80:2: error: 'V_Real' does not name a type In file included from /build/buildd-libhmsbeagle_1.0-3-hurd-i386-sfmc4g/libhmsbeagle-1.0/libhmsbeagle/CPU/BeagleCPU4StateSSEImpl.h:240:0, from BeagleCPUSSEPlugin.cpp:9: Any help is welcome Andreas. On Sat, Jan 21, 2012 at 09:50:16PM +, Adam D. Barratt wrote: > On Sat, 2012-01-21 at 17:16 +0100, Andreas Tille wrote: > > On Sat, Jan 21, 2012 at 03:00:25PM +, peter green wrote: > > > It seems things are a little more complex than they first appeared. > > > In particular it seems libhmsbeagle has a specific "sse2 plugin" > > > which can only be built with sse2 enabled and that is built even if > > > --enable-sse=no is passed (which seems like a bug in the upstream > > > build system to me). Therefore disabling -msse2 has caused the > > > package to FTBFS everywhere except amd64. > > > > > > For non pc architectures I would think the sse2 plugin should simply > > > be disabled. > > > > Do you have any hint how I could find this plugin which should be > > disabled. > [...] > > A failed build log would probably be helpful. I also have included > > upstream whether they might be able to give any hint about this issue: > > Predictably, https://buildd.debian.org/status/package.php?p=libhmsbeagle > has several - the hurd-i386, powerpc and s390x logs all look like they > fail whilst building libhmsbeagle_cpu_sse_la-BeagleCPUSSEPlugin.lo. > > Regards, > > Adam > > -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org