Linking with PARDISO using ifort/icc

Linking with PARDISO using ifort/icc

alexvader's picture

Hi

I am trying to compile an application, which I have already compiled without using PARDISO library...

Calculix.

My makefile for successful compilation using icc/ifort is as follows :

###############################################################################
CFLAGS = -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE
FFLAGS = -Wall -O3 -fopenmp -nofor-main

CC=icc
FC=ifort

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

include Makefile.inc

SCCXMAIN = ccx_2.2.c

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

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

LIBS = \\
$(DIR)/spooles.a \\
../../../ARPACK/libarpack_INTEL.a \\
-lm -lc

ccx_2.2: $(OCCXMAIN) ccx_2.2.a $(LIBS)
./date.pl; $(CC) $(CFLAGS) -c ccx_2.2.c; $(FC) $(FFLAGS) -o $@ $(OCCXMAIN) ccx_2.2.a -lpthread $(LIBS)

ccx_2.2.a: $(OCCXF) $(OCCXC)
ar vr $@ $?

#########################################################################################################

when I try to link with libpardiso400_INTEL101_IA64.so living in a folder in LD_LIBARARY_PATH

I get this result

##########################################################################################################

./date.pl; icc -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DPARDISO -c ccx_2.2.c; ifort -Wall -O3 -fopenmp -nofor-main -o ccx_2.2 ccx_2.2.o ccx_2.2.a -lpthread ../../../SPOOLES.2.2/spooles.a ../../../ARPACK/libarpack_INTEL.a -lm -lc
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-fopenmp'
ccx_2.2.a(pardiso.o): In function `pardiso_factor':
pardiso.c:(.text+0x266): undefined reference to `pardiso_'
ccx_2.2.a(pardiso.o): In function `pardiso_solve':
pardiso.c:(.text+0x3d7): undefined reference to `pardiso_'
ccx_2.2.a(pardiso.o): In function `pardiso_cleanup':
pardiso.c:(.text+0x49d): undefined reference to `pardiso_'
ccx_2.2.a(pardiso.o): In function `pardiso_main':
pardiso.c:(.text+0x77a): undefined reference to `pardiso_'
pardiso.c:(.text+0x816): undefined reference to `pardiso_'
ccx_2.2.a(pardiso.o):pardiso.c:(.text+0x8db): more undefined references to `pardiso_' follow
make: *** [ccx_2.2] Error 1

#########################################################################################################

A am using this makefile to link with PARDISO :

##########################################################################################################
CFLAGS = -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DPARDISO
FFLAGS = -Wall -O3 -fopenmp -nofor-main

CC=icc
FC=ifort

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

include Makefile.inc

SCCXMAIN = ccx_2.2.c

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

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

LIBS = \\
$(DIR)/spooles.a \\
../../../ARPACK/libarpack_INTEL.a \\
-lm -lc

ccx_2.2: $(OCCXMAIN) ccx_2.2.a $(LIBS)
./date.pl; $(CC) $(CFLAGS) -c ccx_2.2.c; $(FC) $(FFLAGS) -o $@ $(OCCXMAIN) ccx_2.2.a -lpthread $(LIBS)

ccx_2.2.a: $(OCCXF) $(OCCXC)
ar vr $@ $?

###########################################################################################################

How can I link my appliction with PARDISO library...?

BRGDS

Alex

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.