scivision/mumps

Windows Linking error when building using Ninja

vchunchu-amd opened this issue · 5 comments

Other than the changes to Cmake build system to include my prebuilt libraries of Metis, Lapack and Scalapack, I am using Cmake setup from mumps_scivision github codebase. Mumps libraries(Static) get built successfully using the cmake configure and build. I have attached the entire build log for reference <build.txt>. I observe the following linking errors when Mumps libraries are linked against a simple C test application. Kindly help resolve the issue,

//
dmumps.lib(dana_driver.F.obj) : error LNK2019: unresolved external symbol MUMPS_DUMPMATBINARY_C referenced in function DMUMPS_DUMP_PROBLEM
dmumps.lib(dana_driver.F.obj) : error LNK2019: unresolved external symbol MUMPS_DUMPRHSBINARY_C referenced in function DMUMPS_DUMP_PROBLEM
tests\Csimple.exe : fatal error LNK1120: 2 unresolved externals
/
/

Thanks this seems to be an issue that arose with upstream MUMPS 5.4.0 and Intel compiler. I see the same issue with Intel oneAPI 2021.4. MUMPS 5.3.x still works with Intel oneAPI. try from this "mumps" project directory:

git checkout v5.3.0.7

and then building from that.

Thanks. Yes I got 5.3.3 working with Intel OneAPI.
But When I try to run the executable for the sample c code (simple.c) and enabling only 'd' - double precision, I observe errors:
//
Hello MUMPS!, process id = [01], num of processes = [02]
** ERROR RETURN ** FROM DMUMPS INFO(1)= -3
** INFO(2)= -1
** ERROR RETURN ** FROM DMUMPS INFO(1)= -3
** INFO(2)= -1
Abort(68755207) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Bcast: Invalid root, error stack:
PMPI_Bcast(451): MPI_Bcast(buf=000001E8D2183C80, count=1, MPI_INTEGER, root=1886424096, comm=comm=0x84000003) failed
PMPI_Bcast(412): Invalid root (value given was 1886424096)
Abort(672734983) on node 1 (rank 1 in comm 0): Fatal error in PMPI_Bcast: Invalid root, error stack:
PMPI_Bcast(451): MPI_Bcast(buf=000001361F11D1E0, count=1, MPI_INTEGER, root=1157073664, comm=comm=0x84000002) failed
PMPI_Bcast(412): Invalid root (value given was 1157073664)
//

OK I reverted "main" branch back to MUMPS 5.3.5 for now.

That works with Intel oneAPI 2021.4 on Windows for me

I have also emailed MUMPS users list (that devs monitor and frequently feedback) with these details.

I got a patch from MUMPS devs. It was an error in mumps_io.h. I have now put the default MUMPS version back to 5.4--CMake applies the patch automatically.