Closed akhmerov closed 8 months ago
Thanks for the report. I guess everything was fine for earlier version of mumps, right?
Yes, I believe that this is due to a change introduced in 5.5.1, where MUMPS was switching integer formats. The corresponding segment of mumps_c_types.h
from 5.2.1 (the version that was previously packaged via conda) is:
#include <stdint.h>
#ifdef INTSIZE64
#define MUMPS_INT int64_t
#else
#define MUMPS_INT int
#endif
and so it doesn't include the other file.
Ok, I investigate a bit:
On Windows, the issue is not a problem as the 64-bit header is used (see https://github.com/conda-forge/mumps-feedstock/blob/2ca093101ca93c4be47246e018ead673985c9270/recipe/bld-seq.bat#L8)
On Linux/macOS, the 32-bit version is selected by the makefile:
2023-12-12T15:32:54.9625337Z if echo " -O " | grep DINTSIZE64; then cat mumps_int_def64_h.in > ../include/mumps_int_def.h; else cat mumps_int_def32_h.in > ../include/mumps_int_def.h; fi
However, this is not picked as mumps-include
was built before the make
script was ever execute.
So the possible action is to move mumps-include
build after make
as been run.
A non-directly related issue is that Windows uses 64 bit indeces, while Linux/macOS 32 bit. Was this intentional @minrk ?
Was this intentional @minrk ?
No, I updated the build scripts until they worked and figured defaults would apply. It probably makes sense to use 64b indices everywhere.
@minrk Wouldn't this blow in our faces as a huge ABI breakage? Maybe this package would need two build variants for 32 and 64 bit indices that can be explicitly selected via the build string?
If it had been out in use by any packages, it would be. But this change is only in a new version just published (which should perhaps be yanked, but I don't see a big reason to because this missing header means nobody can link against it), which presumably nobody can build against due to the missing header, which is the subject of this Issue.
Reading a bit more, I think we should stick with the 32b indices as the default, and the 64b choice for Windows was probably wrong.
The latest windows version win-64_mumps-seq-5.6.2-h1f49738_1 still misses the header file mumps_int_def.h
, so I believe this issue was not completely fixed, please reopen.
Solution to issue cannot be found in the documentation.
Issue
The latest version of
mumps-include
seems to miss a header file. Specifically,mumps_c_types.h
frommumps-include
has these lines:however
mumps_int_def.h
is missing frommumps-include
.Installed packages
Environment info