[Debian-astro-maintainers] Bug#852076: mpgrafic: mips build of mpgrafic gives zero record size
Boud Roukema
boud-debian at cosmo.torun.pl
Sat Jan 21 11:33:43 UTC 2017
Package: mpgrafic
Version: 0.3.7.8-1
Severity: serious
Tags: upstream
Justification: fails to build from source
Dear Maintainer,
Description:
After installing mpgrafics-0.3.7.8-1 on mips by the debian buildd system,
`make check' runs `regression-test-0.3.7.8.sh', which runs
`mpirun -n 1 --mca plm_rsh_agent sh ${srcdir}/src/mpgrafic --np=32 < ${srcdir}/Input.stdin
and gives the output:
Record size 0 is different from expected 4096
and then fatally exits (as it should in such a case).
Log:
https://buildd.debian.org/status/fetch.php?pkg=mpgrafic&arch=mips&ver=0.3.7.8-1&stamp=1484927169&raw=0
(line 1010 of the raw html file)
Analysis:
The error is presumably triggered at line 308 (v0.3.7.8-1) of
src/grafic_io.f90 - taille_tampon is read by f77_parallel_read() in
src/parallel_io.c . The function f77_parallel_read() is a front end to
parallel_read(), in the same .c file, which calls pread() <unistd.h> to read
bytes from a disk file into a buffer.
The disk file is (previously to this) written by a similar hierarchy
of f90 and C functions to `white-outfile.dat' (assuming that
`Input.stdin' is the source package input file above).
Hypothesis:
This looks like an endianness/word size problem - bytes are written to
disk and read from disk as a raw sequence of bytes without any
casting, neither in writing nor in reading.
Proposed solution method:
On a real or emulated mips machine, a quick hack would be to play
around with casting and byte-swapping to find a way that the test
script is successful.
An acceptable solution would be to make changes that are not
machine dependent. The AC_C_BIGENDIAN should probably be added to configure.ac
and then the preprocessor macro WORDS_BIGENDIAN could be used.
See the autoconf documentation for details.
Appropriate use of casting and USE_ISO_C in src/grafic_io.f90 would
probably give a more elegant and robust solution in terms of
portability.
-- System Information:
Debian Release: sid
Architecture: mips
More information about the Debian-astro-maintainers
mailing list