Re: ismrmrd FTBFS on armhf

2017-12-17 Thread Adrian Bunk
On Sun, Dec 17, 2017 at 04:49:48PM +, Ghislain Vaillant wrote:
> Le 17/12/17 à 15:40, Adrian Bunk a écrit :
>...
> > Unaligned floating point access on armhf is expected to fail,
> > and that's exactly what happens here:
> > unknown location(0): fatal error: in 
> > "AcquisitionsTest/test_acquisition_header": memory access violation at 
> > address: 0xbecd3b6a: invalid address alignment
> > 
> > Running the test in gdb confirms that this is floating point code.
> > 
> > sparc is generally unhappy with unaligned access:
> > unknown location(0): fatal error: in 
> > "AcquisitionsTest/test_acquisition_header": memory access violation at 
> > address: 0x7feffb7c936: invalid address alignment
> > 
> > Note that even on architectures where unaligned access is permitted
> > it can be slower than aligned access.
> 
> So, what would be the right course of action moving forward? Removing the
> package for both armhf and sparc64?

It was already removed there ages ago, the only question is whether this
is worth fixing.

The root cause is that these structs seem to have been defined
by people without much knowledge about C alignment.

arm64 is more forgiving, the only affected release architecture
is armhf.

The armel packages could be used through multiarch on all armhf
hardware if someone really needs them.

IMHO the most reasonable action forward would be to do nothing,
and leave this bug open to document that the armhf FTBFS is expected.

> Ghis

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Re: ismrmrd FTBFS on armhf

2017-12-17 Thread Ghislain Vaillant



Le 17/12/17 à 15:40, Adrian Bunk a écrit :

On Sun, Dec 17, 2017 at 02:33:03PM +, Ghislain Vaillant wrote:

ISMRMRD uses a non-portable instruction (#pragma pack) which modifies the
memory alignment of its data structures. It seems neither armhf nor sparc64
supports it, hence the failure of the test suite for both architectures.


#pragma pack is supported everywhere,
and this pragma is the cause of the FTBFS.


Ack.


I am not sure what the best course of action is. Either leaving things as is
assuming a future rebuild with a newer compiler could improve it, disabling
the tests or even dropping the packages for the failing architectures.

Opinions welcome.


With #pragma pack you are forcing the compiler to do the wrong thing,
the only thing a newer compiler could possibly improve would be to
error on such code.


Ack.


Unaligned floating point access on armhf is expected to fail,
and that's exactly what happens here:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0xbecd3b6a: invalid address alignment

Running the test in gdb confirms that this is floating point code.

sparc is generally unhappy with unaligned access:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0x7feffb7c936: invalid address alignment

Note that even on architectures where unaligned access is permitted
it can be slower than aligned access.


So, what would be the right course of action moving forward? Removing 
the package for both armhf and sparc64?


Ghis



Re: ismrmrd FTBFS on armhf

2017-12-17 Thread Adrian Bunk
On Sun, Dec 17, 2017 at 02:33:03PM +, Ghislain Vaillant wrote:
> ISMRMRD uses a non-portable instruction (#pragma pack) which modifies the
> memory alignment of its data structures. It seems neither armhf nor sparc64
> supports it, hence the failure of the test suite for both architectures.

#pragma pack is supported everywhere,
and this pragma is the cause of the FTBFS.

> I am not sure what the best course of action is. Either leaving things as is
> assuming a future rebuild with a newer compiler could improve it, disabling
> the tests or even dropping the packages for the failing architectures.
> 
> Opinions welcome.

With #pragma pack you are forcing the compiler to do the wrong thing,
the only thing a newer compiler could possibly improve would be to
error on such code.

Unaligned floating point access on armhf is expected to fail,
and that's exactly what happens here:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0xbecd3b6a: invalid address alignment

Running the test in gdb confirms that this is floating point code.

sparc is generally unhappy with unaligned access:
unknown location(0): fatal error: in 
"AcquisitionsTest/test_acquisition_header": memory access violation at address: 
0x7feffb7c936: invalid address alignment

Note that even on architectures where unaligned access is permitted
it can be slower than aligned access.

> Ghis

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Re: ismrmrd FTBFS on armhf

2017-12-17 Thread Ghislain Vaillant
ISMRMRD uses a non-portable instruction (#pragma pack) which modifies 
the memory alignment of its data structures. It seems neither armhf nor 
sparc64 supports it, hence the failure of the test suite for both 
architectures.


I am not sure what the best course of action is. Either leaving things 
as is assuming a future rebuild with a newer compiler could improve it, 
disabling the tests or even dropping the packages for the failing 
architectures.


Opinions welcome.

Ghis