Re: ismrmrd FTBFS on armhf
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
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
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
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