Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

PARDISO and MINGW64

3rav
Beginner
442 Views

Hi,

 

I am trying to compile CalculiX (ccx) using INTEL MKL PARADISO static libraries .a in mingw but I have this error:

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ccx_PardisoMKL_gcc.a(pardiso.o): in function `pardiso_factor':
C:\msys64\usr\local\CalculiX\ccx_2.15\src/pardiso.c:288: undefined reference to `pardiso_'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ccx_PardisoMKL_gcc.a(pardiso.o): in function `pardiso_solve':
C:\msys64\usr\local\CalculiX\ccx_2.15\src/pardiso.c:319: undefined reference to `pardiso_'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ccx_PardisoMKL_gcc.a(pardiso.o): in function `pardiso_cleanup':
C:\msys64\usr\local\CalculiX\ccx_2.15\src/pardiso.c:341: undefined reference to `pardiso_'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ccx_PardisoMKL_gcc.a(pardiso_as.o): in function `pardiso_factor_as':
C:\msys64\usr\local\CalculiX\ccx_2.15\src/pardiso_as.c:161: undefined reference to `pardiso_'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ccx_PardisoMKL_gcc.a(pardiso_as.o): in function `pardiso_solve_as':
C:\msys64\usr\local\CalculiX\ccx_2.15\src/pardiso_as.c:184: undefined reference to `pardiso_'

 

I would like to add that I managed to compile the Linux version with the same Makefile. I also compiled in the "mingw" environment with the .dll libraries but now I want to compile with .a library.

 

ccx_PardisoMKL_gcc: $(OCCXMAIN) ccx_PardisoMKL_gcc.a \
./date.pl; $(CC) $(CFLAGS) -c ccx_2.15.c; \
$(FC) $(OPT) $(FFLAGS) -o $@ $(OCCXMAIN) ccx_PardisoMKL_gcc.a $(LIBS) $(LDFLAGS) \
-Wl,--start-group \
$(MKL_LIB)/libmkl_gf_lp64.a \
$(MKL_LIB)/libmkl_gnu_thread.a \
$(MKL_LIB)/libmkl_core.a \
-Wl,--end-group \
-lgomp -lpthread -lm -ldl

 

When I delete the library libmkl_gf_lp64.a on LinuxI have similar error:

 

ccx_2.15.c:61:22: warning: ‘nxstate’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     *ipoinpc=NULL,mt,nxstate,nload0,iload,*iuel=NULL;
                      ^~~~~~~
ccx_PardisoMKL_gcc.a(pardiso.o): In function `pardiso_factor':
/usr/local/ccx_2.15/src_t1/pardiso.c:288: undefined reference to `pardiso_'
ccx_PardisoMKL_gcc.a(pardiso.o): In function `pardiso_solve':
/usr/local/ccx_2.15/src_t1/pardiso.c:319: undefined reference to `pardiso_'
ccx_PardisoMKL_gcc.a(pardiso.o): In function `pardiso_cleanup':
/usr/local/ccx_2.15/src_t1/pardiso.c:341: undefined reference to `pardiso_'
ccx_PardisoMKL_gcc.a(pardiso_as.o): In function `pardiso_factor_as':
/usr/local/ccx_2.15/src_t1/pardiso_as.c:161: undefined reference to `pardiso_'
ccx_PardisoMKL_gcc.a(pardiso_as.o): In function `pardiso_solve_as':
/usr/local/ccx_2.15/src_t1/pardiso_as.c:184: undefined reference to `pardiso_'
ccx_PardisoMKL_gcc.a(pardiso_as.o):/usr/local/ccx_2.15/src_t1/pardiso_as.c:200: more undefined references to `pardiso_' follow
collect2: error: ld returned 1 exit status
Makefile_mkl:43: recipe for target 'ccx_PardisoMKL_gcc' failed
make: *** [ccx_PardisoMKL_gcc] Error 1

0 Kudos
6 Replies
ShanmukhS_Intel
Moderator
407 Views

Hi,

 

Thank you for posting on Intel communities.

 

Could you please let us know if you are able to execute the code successfully on oneAPI command prompt? In addition, could you please cross-verify if the dependent libraries were linked correctly using Intel link line advisor? (if you are not able to link using oneAPI command prompt) For more help regarding details and usage of Intel link line advisor, please refer to the below link.

https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html

 

Regarding the compatibility of Intel oneAPI MKL, please refer to the below link.

https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-math-kernel-library-system-requirements.html

 

In addition, We would like to request you to share your environment details as well.

 

Best Regards,

Shanmukh.SS

 

ShanmukhS_Intel
Moderator
360 Views

Hi,


A gentle reminder:

Has the information provided helped? Could you please get back to us with the required details so that we could look further into your issue?


Best Regards,

Shanmukh.SS


3rav
Beginner
341 Views

Yes, I have used this tool, but please note that there is no combination for:

 

Select OS: Windows and Select compiler: GCC/gfortran  (mingw)

 

I also wrote on the mingw forum: https://github.com/msys2/MINGW-packages/issues/12282

ShanmukhS_Intel
Moderator
328 Views

Hi,


Please refer to the below link regarding the compatibility and system requirements of Intel oneMKL.


https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-math-kernel-library-system-requirements.html


Best Regards,

Shanmukh.SS


ShanmukhS_Intel
Moderator
293 Views

Hi,


A gentle reminder:

Has the information provided helped? Kindly let us know if we could close this thread at our end.


Best Regards,

Shanmukh.SS


ShanmukhS_Intel
Moderator
254 Views

Hi,


We assume that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel. 


Best Regards,

Shanmukh.SS




Reply