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

Re: ismrmrd FTBFS on armhf





Le 17/12/17 à 15:40, Adrian Bunk a écrit :
On Sun, Dec 17, 2017 at 02:33:03PM +0000, 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


Reply to: