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

2012-01-25 Thread peter green



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)

2012-01-25 Thread Andreas Tille
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)

2012-01-25 Thread peter green

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)

2012-01-24 Thread Andreas Tille
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)

2012-01-24 Thread peter green

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)

2012-01-23 Thread Olivier Sallou

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)

2012-01-22 Thread Andreas Tille
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