I have some trouble to compile ccx with pardiso (using ubuntu 20.04). I downloaded the .so pardiso file and stored the licence key in pardiso.lic as recommended, but I’m not sure how to link this at the makefile and I guess I need some additional files. The ccx documentation is quite short at this point.
Has someone here a working makefile for this case or can say me what additional steps are necessary? Would help me a lot…
Below a makefile I used and it worked for 2.16. I’m fairly new to calculix and building from source.
CFLAGS = -Wall -g -O2 -fopenmp -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DPARDISO -DARPACK -DMATRIXSTORAGE -DUSE_MT=1
FFLAGS = -Wall -g -O2 -fopenmp
$(CC) $(CFLAGS) -c $<
$(FC) $(FFLAGS) -c $<
SCCXMAIN = ccx_2.16.c
OCCXF = $(SCCXF:.f=.o)
OCCXC = $(SCCXC:.c=.o)
OCCXMAIN = $(SCCXMAIN:.c=.o)
LIBS = \
-L/usr/local/lib/pardiso -lpardiso600-GNU800-X86-64 -lpthread -lm -lblas -llapack -lc
ccx_2.16_MT: $(OCCXMAIN) ccx_2.16_MT.a
./date.pl; $(CC) $(CFLAGS) -c ccx_2.16.c; $(FC) -fopenmp -Wall -O2 -g -o $@ $(OCCXMAIN) ccx_2.16_MT.a $(LIBS)
ccx_2.16_MT.a: $(OCCXF) $(OCCXC)
ar vr $@ $?
Now it works, I made a simple mistake.
Your reply is one of the best news for me this week! Thanks a lot!
I have been getting following error while compiling with Pardiso:
*** No rule to make target '-L/home/pc/CalculiX_mod/PARDISO/'
The so file is in the location specified after -L.
If anyone could point out what might be the reason, that would be so helpful
Hi Manny, could you share your Makefile? This way I can compare and see what is going on… Note that I used the file from the direct Pardiso Project named:
Thanks for your response. I got it to work with the MKL version. The makefile is in another post here:
makefile for intel mkl pardiso with gcc