- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 Linux, I 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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
In addition, We would like to request you to share your environment details as well.
Best Regards,
Shanmukh.SS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please refer to the below link regarding the compatibility and system requirements of Intel oneMKL.
Best Regards,
Shanmukh.SS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm going to add the CalculiX package to the msys2/mingw repository by PKGBUILD: https://github.com/msys2/MINGW-packages .
I would like the CalculiX program (ccx: https://www.calculix.de/) to be compiled to use the oneMKL libraries, more precisely PARDISO (required files for compilation: mkl_rt.lib and mkl.h).
My question is whether I can add the required files to build the package, and if so, what is the best way to add them (copy them, is it possible to somehow download individual files from your website)?
MKL=/usr/local/mkl/2022.1.0
CFLAGS=-I$(MKL)/include
LIBS=$(MKL)/lib/intel64/mkl_rt.lib
Later, the end user will have to download the oneAPI package for the program to work properly (required libraries for operation: mkl_gf_lp64.dll, mkl_gnu_thread.dll, mkl_core.dll and mkl_rt.dll).
Maybe Intel itself will add the oneAPI/oneMKL package to the msys2/mingw repo, header files and libraries only "linking" (like mkl_rt)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Similar like this (only for msys2/mingw -> Windows version -> .dll): https://pypi.org/project/mkl/2024.0.0/#files

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page