Compiling ccx 2.17 with pardiso

Hello all,

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…

Best regards
Patrick

Hi Patrick,

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=cc
FC=gfortran

.c.o :
	$(CC) $(CFLAGS) -c $<
.f.o :
	$(FC) $(FFLAGS) -c $<

include Makefile.inc

SCCXMAIN = ccx_2.16.c

OCCXF = $(SCCXF:.f=.o)
OCCXC = $(SCCXC:.c=.o)
OCCXMAIN = $(SCCXMAIN:.c=.o)

DIR=../../../SPOOLES.2.2

LIBS = \
       $(DIR)/MT/src/spoolesMT.a \
       $(DIR)/spooles.a \
       ../../../ARPACK/libarpack_INTEL.a \
       -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 $@ $?
1 Like

Now it works, I made a simple mistake.

Your reply is one of the best news for me this week! Thanks a lot!

1 Like

Hello,

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: libpardiso600-GNU800-X86-64.so.

Hello,
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