- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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 kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi,
Please refer to the below link regarding the compatibility and system requirements of Intel oneMKL.
Best Regards,
Shanmukh.SS
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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)?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Similar like this (only for msys2/mingw -> Windows version -> .dll): https://pypi.org/project/mkl/2024.0.0/#files
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite