Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Compilation of Taucs using Intel.

alexvader
Beginner
479 Views
Hi

I have been trying, without much success, to compile Taucs using Icc/ifort compilers.

This package, http://www.tau.ac.il/~stoledo/taucs/2.2/taucs.tgz, calls for libraries of Lapack, blas, and metis, which i have also compiled using intel.

My taucs makefile, linux_intel.mk is as follows :


alex@iskandhar:~/buildfactory/taucs/taucs$ cat config/linux_intel.mk
#########################################################
# Linux #
# Intel Compilers #
# The C compiler defines __INTEL_COMPILER #
#########################################################
OBJEXT=.o
LIBEXT=.a
EXEEXT=
F2CEXT=.f
PATHSEP=/
DEFFLG=-D

FC = ifort
FFLAGS = -O2 -g -Wall -fPIC
FOUTFLG =-o ./

# -Xc: strict ANSI (Xa is extended, -c99 is C99)
# -c99: some c99 features (-c99- to disallow)
# -axW: generate Pentium4 optimized code, as well as generic 386
# -axK: generate Pentium3 optimized code, as well as generic 386
# -xK, -XW: generate Pentium? optimized code only
# -vec_report0: do not report information on vectorization
# -ansi_alias: assume no strange aliases (int to float, etc)
# -fno-fnalias: no array aliasing within functions
CC = icc
CFLAGS = -O2 -D_POSIX_C_SOURCE=199506L -c99 -fPIC -wl
#CFLAGS = -O3 -D_POSIX_C_SOURCE=199506L -Xc -axW -ansi_alias -fno-fnalias -w1 -Werror
#CFLAGS = -c99 -O3 -D_POSIX_C_SOURCE=199506L -Xc \\
# -xK \\
# -vec_report0 \\
# -ansi_alias -fno-fnalias \\
# -w1 -Werror
COUTFLG = -o ./

LD = $(CC)
LDFLAGS = $(CFLAGS)
LOUTFLG = $(COUTFLG)

AR = ar cr
AOUTFLG =

RANLIB = ranlib
RM = rm -rf

LIBBLAS = -L external -lblas
# -L external/lib/linux -lf77blas -lcblas -latlas
LIBLAPACK = -L external -llapack
LIBMETIS = -L external -lmetis

LIBF77 = -lpthread
LIBC = -lm

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


yet when i try to compile the application, i get this error... :






alex@iskandhar:~/buildfactory/taucs/taucs$ export OSTYPE=linux_intel
alex@iskandhar:~/buildfactory/taucs/taucs$ export MACHTYPE=""
alex@iskandhar:~/buildfactory/taucs/taucs$ ./configure
icc -o configurator/configurator configurator/taucs_config.c

alex@iskandhar:~/buildfactory/taucs/taucs$

------------------------------------------------------------

ar cr lib/linux_intel/libtaucs.a obj/linux_intel/taucs_sn_llt.o obj/linux_intel/taucs_sn_llt_D.o obj/linux_intel/taucs_sn_llt_S.o obj/linux_intel/taucs_sn_llt_Z.o obj/linux_intel/taucs_sn_llt_C.o obj/linux_intel/taucs_linsolve.o obj/linux_intel/taucs_logging.o obj/linux_intel/taucs_memory.o obj/linux_intel/taucs_timer.o obj/linux_intel/taucs_ccs_base.o obj/linux_intel/taucs_ccs_base_D.o obj/linux_intel/taucs_ccs_base_S.o obj/linux_intel/taucs_ccs_base_Z.o obj/linux_intel/taucs_ccs_base_C.o obj/linux_intel/taucs_vec_base.o obj/linux_intel/taucs_vec_base_D.o obj/linux_intel/taucs_vec_base_S.o obj/linux_intel/taucs_vec_base_Z.o obj/linux_intel/taucs_vec_base_C.o obj/linux_intel/taucs_ccs_ops.o obj/linux_intel/taucs_ccs_ops_D.o obj/linux_intel/taucs_ccs_ops_S.o obj/linux_intel/taucs_ccs_ops_Z.o obj/linux_intel/taucs_ccs_ops_C.o obj/linux_intel/taucs_ccs_io.o obj/linux_intel/taucs_ccs_io_D.o obj/linux_intel/taucs_ccs_io_S.o obj/linux_intel/taucs_ccs_io_Z.o obj/linux_intel/taucs_ccs_io_C.o obj/linux_intel/taucs_ccs_order.o obj/linux_intel/taucs_ccs_factor_llt.o obj/linux_intel/taucs_ccs_factor_llt_D.o obj/linux_intel/taucs_ccs_factor_llt_S.o obj/linux_intel/taucs_ccs_factor_llt_Z.o obj/linux_intel/taucs_ccs_factor_llt_C.o obj/linux_intel/taucs_ccs_solve_llt.o obj/linux_intel/taucs_ccs_solve_llt_D.o obj/linux_intel/taucs_ccs_solve_llt_S.o obj/linux_intel/taucs_ccs_solve_llt_Z.o obj/linux_intel/taucs_ccs_solve_llt_C.o obj/linux_intel/taucs_complex.o obj/linux_intel/taucs_complex_D.o obj/linux_intel/taucs_complex_S.o obj/linux_intel/taucs_complex_Z.o obj/linux_intel/taucs_complex_C.o obj/linux_intel/taucs_ccs_ooc_llt.o obj/linux_intel/taucs_ccs_ooc_llt_D.o obj/linux_intel/taucs_ccs_ooc_llt_S.o obj/linux_intel/taucs_ccs_ooc_llt_Z.o obj/linux_intel/taucs_ccs_ooc_llt_C.o obj/linux_intel/taucs_ccs_ooc_lu.o obj/linux_intel/taucs_ccs_ooc_lu_D.o obj/linux_intel/taucs_ccs_ooc_lu_S.o obj/linux_intel/taucs_ccs_ooc_lu_Z.o obj/linux_intel/taucs_ccs_ooc_lu_C.o obj/linux_intel/taucs_ooc_io.o obj/linux_intel/taucs_iter_D.o obj/linux_intel/taucs_vaidya_D.o obj/linux_intel/taucs_recvaidya_D.o obj/linux_intel/taucs_gremban_D.o obj/linux_intel/taucs_ccs_xxt_D.o obj/linux_intel/taucs_ccs_generators_D.o obj/linux_intel/taucs_malloc.o obj/linux_intel/readhb.o obj/linux_intel/amdatr.o obj/linux_intel/amdbar.o obj/linux_intel/amdexa.o obj/linux_intel/amdhaf.o obj/linux_intel/amdhat.o obj/linux_intel/amdpre.o obj/linux_intel/amdtru.o obj/linux_intel/genmmd.o obj/linux_intel/colamd.o
ranlib lib/linux_intel/libtaucs.a
icc -c -O2 -D_POSIX_C_SOURCE=199506L -c99 -fPIC -wl -DMACHTYPE_ -I src/ -I build/linux_intel/ -I external/src/ \\
progs/direct.c \\
-o ./obj/linux_intel/direct.o
icc: command line remark #10010: option '-c99' is deprecated and will be removed in a future release. See '-help deprecated'
icc: command line warning #10157: ignoring option '-w'; argument is of wrong type
icc -O2 -D_POSIX_C_SOURCE=199506L -c99 -fPIC -wl \\
-o ./bin/linux_intel/direct \\
obj/linux_intel/direct.o \\
-Llib/linux_intel/ -ltaucs \\
-L external -llapack -L external -lblas -L external -lmetis -lpthread -lm
icc: command line remark #10010: option '-c99' is deprecated and will be removed in a future release. See '-help deprecated'
icc: command line warning #10157: ignoring option '-w'; argument is of wrong type
lib/linux_intel//libtaucs.a(readhb.o): In function `ireadhb':
/home/alex/buildfactory/taucs/taucs/external/src/readhb.f:27: undefined reference to `for_open'

-------------------------------------------------------------------------------

/home/alex/buildfactory/taucs/taucs/external/src/readhb.f:510: undefined reference to `for_write_seq_lis'
/home/alex/buildfactory/taucs/taucs/external/src/readhb.f:511: undefined reference to `for_stop_core'
make: *** [bin/linux_intel/direct] Error 1


Can someone help me with this...?

Has anyone here built Taucs with intec compilers already...?


...I'm at a loss... :(

BRGDS

Alex

0 Kudos
1 Reply
mecej4
Honored Contributor III
479 Views
Either include the Fortran runtime libraries explicitly in the link step (if using icc to link, as in your makefile) or use ifort to do the linking.
0 Kudos
Reply