Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating a Shared Library #1

Closed
ryagal opened this issue Mar 16, 2021 · 3 comments
Closed

Creating a Shared Library #1

ryagal opened this issue Mar 16, 2021 · 3 comments
Labels
upstream problems with Upstream MUMPS library Windows Microsoft Windows specific

Comments

@ryagal
Copy link

ryagal commented Mar 16, 2021

Hello,

When I try to use -DBUILD_SHARED_LIBS=on when using Intel compilers on Windows, I receive the following link errors:

[870/887] Linking Fortran shared library src\cmumps.dll
FAILED: src/cmumps.dll src/cmumps.lib
cmd.exe /C "cmd.exe /C ""C:\Program Files\CMake\bin\cmake.exe" -E __create_def C:\Tools\MUMPS\build\src\CMakeFiles\cmumps.dir.\exports.def C:\Tools\MUMPS\build\src\CMakeFiles\cmumps.dir.\exports.def.objs && cd C:\Tools\MUMPS\build" && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=src\CMakeFiles\cmumps.dir --rc=C:\PROGRA2\WI3CF21\10\bin\10.0.18362.0\x64\rc.exe --mt=C:\PROGRA2\WI3CF21\10\bin\10.0.18362.0\x64\mt.exe --manifests -- xilink /nologo src\CMakeFiles\cmumps.dir\mumps_c.c.obj src\CMakeFiles\cmumps.dir\cana_aux.F.obj src\CMakeFiles\cmumps.dir\cana_aux_par.F.obj src\CMakeFiles\cmumps.dir\cana_lr.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_master_ELT_m.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_master_m.F.obj src\CMakeFiles\cmumps.dir\cfac_front_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LU_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LU_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LDLT_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LDLT_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_front_type2_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_sispointers_m.F.obj src\CMakeFiles\cmumps.dir\cfac_lr.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_dynamic.F.obj src\CMakeFiles\cmumps.dir\cfac_omp_m.F.obj src\CMakeFiles\cmumps.dir\cfac_par_m.F.obj src\CMakeFiles\cmumps.dir\cfac_sol_l0omp_m.F.obj src\CMakeFiles\cmumps.dir\clr_core.F.obj src\CMakeFiles\cmumps.dir\clr_stats.F.obj src\CMakeFiles\cmumps.dir\clr_type.F.obj src\CMakeFiles\cmumps.dir\cmumps_comm_buffer.F.obj src\CMakeFiles\cmumps.dir\cmumps_config_file.F.obj src\CMakeFiles\cmumps.dir\cmumps_load.F.obj src\CMakeFiles\cmumps.dir\cmumps_lr_data_m.F.obj src\CMakeFiles\cmumps.dir\cmumps_ooc_buffer.F.obj src\CMakeFiles\cmumps.dir\cmumps_ooc.F.obj src\CMakeFiles\cmumps.dir\cmumps_sol_es.F.obj src\CMakeFiles\cmumps.dir\cmumps_save_restore.F.obj src\CMakeFiles\cmumps.dir\cmumps_save_restore_files.F.obj src\CMakeFiles\cmumps.dir\cmumps_struc_def.F.obj src\CMakeFiles\cmumps.dir\comp_tps_m.F.obj src\CMakeFiles\cmumps.dir\csol_lr.F.obj src\CMakeFiles\cmumps.dir\csol_omp_m.F.obj src\CMakeFiles\cmumps.dir\cstatic_ptr_m.F.obj src\CMakeFiles\cmumps.dir\cini_driver.F.obj src\CMakeFiles\cmumps.dir\cana_driver.F.obj src\CMakeFiles\cmumps.dir\cfac_driver.F.obj src\CMakeFiles\cmumps.dir\csol_driver.F.obj src\CMakeFiles\cmumps.dir\csol_distrhs.F.obj src\CMakeFiles\cmumps.dir\cend_driver.F.obj src\CMakeFiles\cmumps.dir\cana_aux_ELT.F.obj src\CMakeFiles\cmumps.dir\cana_dist_m.F.obj src\CMakeFiles\cmumps.dir\cana_LDLT_preprocess.F.obj src\CMakeFiles\cmumps.dir\cana_reordertree.F.obj src\CMakeFiles\cmumps.dir\carrowheads.F.obj src\CMakeFiles\cmumps.dir\cbcast_int.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_ELT.F.obj src\CMakeFiles\cmumps.dir\cfac_asm.F.obj src\CMakeFiles\cmumps.dir\cfac_b.F.obj src\CMakeFiles\cmumps.dir\cfac_distrib_distentry.F.obj src\CMakeFiles\cmumps.dir\cfac_distrib_ELT.F.obj src\CMakeFiles\cmumps.dir\cfac_lastrtnelind.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_alloc_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_compress_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_free_block_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_stack_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_stack.F.obj src\CMakeFiles\cmumps.dir\cfac_process_band.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blfac_slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blocfacto_LDLT.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blocfacto.F.obj src\CMakeFiles\cmumps.dir\cfac_process_bf.F.obj src\CMakeFiles\cmumps.dir\cfac_process_end_facto_slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type3.F.obj src\CMakeFiles\cmumps.dir\cfac_process_maprow.F.obj src\CMakeFiles\cmumps.dir\cfac_process_master2.F.obj src\CMakeFiles\cmumps.dir\cfac_process_message.F.obj src\CMakeFiles\cmumps.dir\cfac_process_root2slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_root2son.F.obj src\CMakeFiles\cmumps.dir\cfac_process_rtnelind.F.obj src\CMakeFiles\cmumps.dir\cfac_root_parallel.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings.F.obj src\CMakeFiles\cmumps.dir\cfac_determinant.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings_simScaleAbs.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings_simScale_util.F.obj src\CMakeFiles\cmumps.dir\cfac_sol_pool.F.obj src\CMakeFiles\cmumps.dir\cfac_type3_symmetrize.F.obj src\CMakeFiles\cmumps.dir\cini_defaults.F.obj src\CMakeFiles\cmumps.dir\cmumps_driver.F.obj src\CMakeFiles\cmumps.dir\cmumps_f77.F.obj src\CMakeFiles\cmumps.dir\cmumps_gpu.c.obj src\CMakeFiles\cmumps.dir\cmumps_iXamax.F.obj src\CMakeFiles\cmumps.dir\cana_mtrans.F.obj src\CMakeFiles\cmumps.dir\cooc_panel_piv.F.obj src\CMakeFiles\cmumps.dir\crank_revealing.F.obj src\CMakeFiles\cmumps.dir\csol_aux.F.obj src\CMakeFiles\cmumps.dir\csol_bwd_aux.F.obj src\CMakeFiles\cmumps.dir\csol_bwd.F.obj src\CMakeFiles\cmumps.dir\csol_c.F.obj src\CMakeFiles\cmumps.dir\csol_fwd_aux.F.obj src\CMakeFiles\cmumps.dir\csol_fwd.F.obj src\CMakeFiles\cmumps.dir\csol_matvec.F.obj src\CMakeFiles\cmumps.dir\csol_root_parallel.F.obj src\CMakeFiles\cmumps.dir\ctools.F.obj src\CMakeFiles\cmumps.dir\ctype3_root.F.obj /out:src\cmumps.dll /implib:src\cmumps.lib /pdb:src\cmumps.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO /DEF:src\CMakeFiles\cmumps.dir.\exports.def src\mumps_common.lib PORD\pord.lib "C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_scalapack_lp64.lib" "C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_blacs_intelmpi_lp64.lib" "C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_intel_lp64.lib" "C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_sequential.lib" "C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_core.lib" "C:\Tools\Microsoft MPI\SDK\Lib\x64\msmpifec.lib" "C:\Tools\Microsoft MPI\SDK\Lib\x64\msmpi.lib" user32.lib && cd ."
LINK: command "xilink /nologo src\CMakeFiles\cmumps.dir\mumps_c.c.obj src\CMakeFiles\cmumps.dir\cana_aux.F.obj src\CMakeFiles\cmumps.dir\cana_aux_par.F.obj src\CMakeFiles\cmumps.dir\cana_lr.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_master_ELT_m.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_master_m.F.obj src\CMakeFiles\cmumps.dir\cfac_front_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LU_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LU_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LDLT_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_front_LDLT_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_front_type2_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_sispointers_m.F.obj src\CMakeFiles\cmumps.dir\cfac_lr.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_dynamic.F.obj src\CMakeFiles\cmumps.dir\cfac_omp_m.F.obj src\CMakeFiles\cmumps.dir\cfac_par_m.F.obj src\CMakeFiles\cmumps.dir\cfac_sol_l0omp_m.F.obj src\CMakeFiles\cmumps.dir\clr_core.F.obj src\CMakeFiles\cmumps.dir\clr_stats.F.obj src\CMakeFiles\cmumps.dir\clr_type.F.obj src\CMakeFiles\cmumps.dir\cmumps_comm_buffer.F.obj src\CMakeFiles\cmumps.dir\cmumps_config_file.F.obj src\CMakeFiles\cmumps.dir\cmumps_load.F.obj src\CMakeFiles\cmumps.dir\cmumps_lr_data_m.F.obj src\CMakeFiles\cmumps.dir\cmumps_ooc_buffer.F.obj src\CMakeFiles\cmumps.dir\cmumps_ooc.F.obj src\CMakeFiles\cmumps.dir\cmumps_sol_es.F.obj src\CMakeFiles\cmumps.dir\cmumps_save_restore.F.obj src\CMakeFiles\cmumps.dir\cmumps_save_restore_files.F.obj src\CMakeFiles\cmumps.dir\cmumps_struc_def.F.obj src\CMakeFiles\cmumps.dir\comp_tps_m.F.obj src\CMakeFiles\cmumps.dir\csol_lr.F.obj src\CMakeFiles\cmumps.dir\csol_omp_m.F.obj src\CMakeFiles\cmumps.dir\cstatic_ptr_m.F.obj src\CMakeFiles\cmumps.dir\cini_driver.F.obj src\CMakeFiles\cmumps.dir\cana_driver.F.obj src\CMakeFiles\cmumps.dir\cfac_driver.F.obj src\CMakeFiles\cmumps.dir\csol_driver.F.obj src\CMakeFiles\cmumps.dir\csol_distrhs.F.obj src\CMakeFiles\cmumps.dir\cend_driver.F.obj src\CMakeFiles\cmumps.dir\cana_aux_ELT.F.obj src\CMakeFiles\cmumps.dir\cana_dist_m.F.obj src\CMakeFiles\cmumps.dir\cana_LDLT_preprocess.F.obj src\CMakeFiles\cmumps.dir\cana_reordertree.F.obj src\CMakeFiles\cmumps.dir\carrowheads.F.obj src\CMakeFiles\cmumps.dir\cbcast_int.F.obj src\CMakeFiles\cmumps.dir\cfac_asm_ELT.F.obj src\CMakeFiles\cmumps.dir\cfac_asm.F.obj src\CMakeFiles\cmumps.dir\cfac_b.F.obj src\CMakeFiles\cmumps.dir\cfac_distrib_distentry.F.obj src\CMakeFiles\cmumps.dir\cfac_distrib_ELT.F.obj src\CMakeFiles\cmumps.dir\cfac_lastrtnelind.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_alloc_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_compress_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_free_block_cb.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_stack_aux.F.obj src\CMakeFiles\cmumps.dir\cfac_mem_stack.F.obj src\CMakeFiles\cmumps.dir\cfac_process_band.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blfac_slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blocfacto_LDLT.F.obj src\CMakeFiles\cmumps.dir\cfac_process_blocfacto.F.obj src\CMakeFiles\cmumps.dir\cfac_process_bf.F.obj src\CMakeFiles\cmumps.dir\cfac_process_end_facto_slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type1.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type2.F.obj src\CMakeFiles\cmumps.dir\cfac_process_contrib_type3.F.obj src\CMakeFiles\cmumps.dir\cfac_process_maprow.F.obj src\CMakeFiles\cmumps.dir\cfac_process_master2.F.obj src\CMakeFiles\cmumps.dir\cfac_process_message.F.obj src\CMakeFiles\cmumps.dir\cfac_process_root2slave.F.obj src\CMakeFiles\cmumps.dir\cfac_process_root2son.F.obj src\CMakeFiles\cmumps.dir\cfac_process_rtnelind.F.obj src\CMakeFiles\cmumps.dir\cfac_root_parallel.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings.F.obj src\CMakeFiles\cmumps.dir\cfac_determinant.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings_simScaleAbs.F.obj src\CMakeFiles\cmumps.dir\cfac_scalings_simScale_util.F.obj src\CMakeFiles\cmumps.dir\cfac_sol_pool.F.obj src\CMakeFiles\cmumps.dir\cfac_type3_symmetrize.F.obj src\CMakeFiles\cmumps.dir\cini_defaults.F.obj src\CMakeFiles\cmumps.dir\cmumps_driver.F.obj src\CMakeFiles\cmumps.dir\cmumps_f77.F.obj src\CMakeFiles\cmumps.dir\cmumps_gpu.c.obj src\CMakeFiles\cmumps.dir\cmumps_iXamax.F.obj src\CMakeFiles\cmumps.dir\cana_mtrans.F.obj src\CMakeFiles\cmumps.dir\cooc_panel_piv.F.obj src\CMakeFiles\cmumps.dir\crank_revealing.F.obj src\CMakeFiles\cmumps.dir\csol_aux.F.obj src\CMakeFiles\cmumps.dir\csol_bwd_aux.F.obj src\CMakeFiles\cmumps.dir\csol_bwd.F.obj src\CMakeFiles\cmumps.dir\csol_c.F.obj src\CMakeFiles\cmumps.dir\csol_fwd_aux.F.obj src\CMakeFiles\cmumps.dir\csol_fwd.F.obj src\CMakeFiles\cmumps.dir\csol_matvec.F.obj src\CMakeFiles\cmumps.dir\csol_root_parallel.F.obj src\CMakeFiles\cmumps.dir\ctools.F.obj src\CMakeFiles\cmumps.dir\ctype3_root.F.obj /out:src\cmumps.dll /implib:src\cmumps.lib /pdb:src\cmumps.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO /DEF:src\CMakeFiles\cmumps.dir.\exports.def src\mumps_common.lib PORD\pord.lib C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_scalapack_lp64.lib C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_blacs_intelmpi_lp64.lib C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_intel_lp64.lib C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_sequential.lib C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64\mkl_core.lib C:\Tools\Microsoft MPI\SDK\Lib\x64\msmpifec.lib C:\Tools\Microsoft MPI\SDK\Lib\x64\msmpi.lib user32.lib /MANIFEST /MANIFESTFILE:src\cmumps.dll.manifest" failed (exit code 1120) with the following output:
Creating library src\cmumps.lib and object src\cmumps.exp
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
cooc_panel_piv.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
csol_bwd_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
csol_fwd_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
cfac_front_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
cfac_front_LU_type1.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
cfac_front_LU_type2.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_U
ctools.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_process_blocfacto.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cooc_panel_piv.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
csol_bwd_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
csol_fwd_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_par_m.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cmumps_ooc_buffer.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_process_blocfacto_LDLT.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_front_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_front_LDLT_type1.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_front_LDLT_type2.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cfac_front_type2_aux.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_L
cmumps_load.F.obj : error LNK2019: unresolved external symbol MUMPS_FUTURE_NIV2_mp_FUTURE_NIV2 referenced in function CMUMPS_LOAD_mp_CMUMPS_LOAD_UPDATE
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_ERR_STR_OOC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_ERR_STR_OOC
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_DIM_ERR_STR_OOC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_DIM_ERR_STR_OOC
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_MYID_OOC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_MYID_OOC
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_ICNTL1 referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_ICNTL1
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_LOW_LEVEL_STRAT_IO referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_LOW_LEVEL_STRAT_IO
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_VADDR referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_VADDR
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_STEP_OOC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_STEP_OOC
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_INODE_SEQUENCE referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_DO_IO_AND_CHBUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_INODE_SEQUENCE
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_NB_FILE_TYPE referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_BUF_CLEAN_PENDING
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_NB_FILE_TYPE
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_ADDVIRTLIBRE referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_END_OOC_BUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_ADDVIRTLIBRE
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_HBUF_SIZE referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_COPY_DATA_TO_BUFFER
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_HBUF_SIZE
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_STRAT_IO_ASYNC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_INIT_DB_BUFFER_PANEL
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_STRAT_IO_ASYNC
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_DIM_BUF_IO referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_OOC_INIT_DB_BUFFER_PANEL
cmumps_ooc_buffer.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_KEEP_OOC referenced in function CMUMPS_OOC_BUFFER_mp_CMUMPS_INIT_OOC_BUF
cmumps_ooc.F.obj : error LNK2001: unresolved external symbol MUMPS_OOC_COMMON_mp_KEEP_OOC
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_OOC_FCT_TYPE referenced in function CMUMPS_OOC_mp_CMUMPS_IS_THERE_FREE_SPACE
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_WITH_BUF referenced in function CMUMPS_OOC_mp_CMUMPS_NEW_FACTOR
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_PROCNODE_OOC referenced in function CMUMPS_OOC_mp_CMUMPS_OOC_END_FACTO
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_SLAVEF_OOC referenced in function CMUMPS_OOC_mp_CMUMPS_OOC_INIT_SOLVE
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_TYPEF_CB referenced in function CMUMPS_OOC_mp_CMUMPS_OOC_INIT_SOLVE
cmumps_ooc.F.obj : error LNK2019: unresolved external symbol MUMPS_OOC_COMMON_mp_SOLVE referenced in function CMUMPS_OOC_mp_CMUMPS_OOC_INIT_SOLVE
cfac_process_band.F.obj : error LNK2019: unresolved external symbol MUMPS_FAC_DESCBAND_DATA_M_mp_INODE_WAITED_FOR referenced in function CMUMPS_PROCESS_DESC_BANDE
src\cmumps.dll : fatal error LNK1120: 24 unresolved externals
[873/887] Building Fortran object src\CMakeFiles\zmumps.dir\zmumps_save_restore.F.obj
ninja: build stopped: subcommand failed.

I imagine these symbols are supposed to be in mumps_common.dll/mumps_common.lib. When I run dumpbin /exports mumps_common.lib I see that some of the unresolved symbols above are in mumps_common.lib but others aren't. Any ideas on how to build a shared library in this context?

P.S.: It is possible to build a shared library using MSYS2 and Mingw64 on Windows by specifying -DCMAKE_GNUtoMS=on -DBUILD_SHARED_LIBS=on but I can't use this approach because of an unrelated bug with gfortran and MSMPI.

Thanks.

@scivision
Copy link
Owner

OK Thanks I normally build static libraries, but I think it's good to also support shared libraries. Thanks for reporting!

@scivision scivision transferred this issue from another repository Apr 30, 2021
@scivision
Copy link
Owner

I added a warning in 751f825 that this setup (shared libs with MSVC/Intel on Windows) isn't supported. I don't have the time to fix that, but if you have a fix I could try it.

It does work with MSYS2 / MinGW and BUILD_SHARED_LIBS=on

@scivision scivision reopened this Oct 4, 2021
@scivision scivision added enhancement New feature or request Windows Microsoft Windows specific labels Oct 4, 2021
@scivision
Copy link
Owner

I've refactored some build options to help shared builds on other platforms, which work. However, Windows + Intel oneAPI + shared libs still doesn't work with similar errors to above.
I think this might be an issue for upstream MUMPS library. I simply am providing an easy CMake build instead of the Makefiles that upstream MUMPS provides.

@scivision scivision added upstream problems with Upstream MUMPS library and removed enhancement New feature or request labels Nov 1, 2021
Repository owner locked and limited conversation to collaborators Nov 1, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
upstream problems with Upstream MUMPS library Windows Microsoft Windows specific
Projects
None yet
Development

No branches or pull requests

2 participants