Your message dated Sun, 22 Jan 2017 17:31:04 +0100 (CET) with message-id <[email protected]> and subject line Done: Re: Bug#852076: mpgrafic: mips build of mpgrafic gives zero record size has caused the Debian Bug report #852076, regarding mpgrafic: mips build of mpgrafic gives zero record size to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 852076: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852076 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---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
--- End Message ---
--- Begin Message ---Version: 0.3.8-1 Upstream changes seem to have fixed this. Use of iso_C_binding in src/grafic_io.f90 https://gcc.gnu.org/onlinedocs/gfortran/ISO_005fC_005fBINDING.html and of less implementation-dependent C typing of integers in src/parallel_io.c (e.g. int32_t instead of long) https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types was sufficient for the Debian buildd on mips to successfully run regresssion-test-0.3.7.9.sh . Look at earlier versions of Output.stdout.np32 to see that the expected output has changed only in the least significant decimal places. This bug seems *not* to have been an endianness issue. The following change generates an error consistent with the bug: - in src/grafic_io.f90, replace the four lines integer(c_int32_t), target :: taille_tampon by integer(c_int8_t), target :: taille_tampon
--- End Message ---

