Hi,
The end goal of all of this is to be able to compile a parallel version of molpro. I have already been able to do this with the pathscale compiler 2.3 and prebuild atlas libraries. I am hoping if I can compile atlas (already done, worked fine) and lapack using the pathscale compiler I will get bettter overall performance. As of right now I can't get the molpro compile to accept the lapack library b/c it has a bunch of undefined reference errors which I think are coming from its incomplete lapack library.
Now to the problem at hand. I am unsure which blas library I should link to in the lapack make.inc file. I have tried libptf77blas.a and libatlas.a from the precompiled atlas 3.6.0 and from the 3.6.0 I compiled with pathscale 2.2.1 and 3.6.0 I compiled with 2.3. The libatlas.a give me errors of the sort:
libptf77blas.a errors
-------------------------------------
/ab/atlas_dirs/3.6.0_test/libptf77blas.a(ATL_F77wrap_sptrotg.o): In function `at
l_f77wrap_srotg__':
: undefined reference to `ATL_srotg'
/ab/atlas_dirs/3.6.0_test/libptf77blas.a(ATL_F77wrap_sptscal.o): In function `at
l_f77wrap_sscal__':
: undefined reference to `ATL_sscal'
/ab/atlas_dirs/3.6.0_test/libptf77blas.a(ATL_F77wrap_sptnrm2.o): In function `at
l_f77wrap_snrm2__':
: undefined reference to `ATL_snrm2'
/ab/atlas_dirs/3.6.0_test/libptf77blas.a(ATL_F77wrap_sptasum.o): In function `at
l_f77wrap_sasum__':
libatlas.a errors
-------------------------------------
../../lapack_AMD64.a(slauu2.o): In function `slauu2_':
/comp/ab/LAPACK/SRC/slauu2.f:112: undefined reference to `sscal_'
/comp/ab/LAPACK/SRC/slauu2.f:108: undefined reference to `sdot_'
/comp/ab/LAPACK/SRC/slauu2.f:109: undefined reference to `sgemv_'
/comp/ab/LAPACK/SRC/slauu2.f:127: undefined reference to `sscal_'
/comp/ab/LAPACK/SRC/slauu2.f:123: undefined reference to `sdot_'
/comp/ab/LAPACK/SRC/slauu2.f:124: undefined reference to `sgemv_'
There are many more, this was just the last one it spit out. I believe I have included my make.inc file below. Notably, I changed the NOOPT variable to nothing b/c pathscale didn't recognize either flag.
####################################################################
# LAPACK make include file. #
# LAPACK, Version 3.0 #
# June 30, 1999 #
####################################################################
#
SHELL = /bin/sh
#
# The machine (platform) identifier to append to the library names
#
PLAT = _AMD64
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
# refers to the compiler options desired when NO OPTIMIZATION is
# selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine.
#
FORTRAN = /opt/pathscale/bin/pathf90
#OPTS = -O4 -u -f -mt
#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
OPTS = -i8 -O3 -OPT:Ofast
DRVOPTS = $(OPTS)
#NOOPT = -u -f
NOOPT = -i8
#NOOPT = -u -f -mt
LOADER = /opt/pathscale/bin/pathf90
#LOADOPTS = -mt
#LOADOPTS = -f -dalign -native -xO5 -xarch=v8plusa
LOADOPTS = -i8 -O3 -OPT:Ofast
#
# The archiver and the flag(s) to use when building archive (library)
# If you system has no ranlib, set RANLIB = echo.
#
ARCH = ar
ARCHFLAGS= cr
RANLIB = echo
#
# The location of the libraries to which you will link. (The
# machine-specific, optimized BLAS library should be used whenever
# possible.)
#
#BLASLIB = ../../blas$(PLAT).a
#BLASLIB = -xlic_lib=sunperf_mt
#BLASLIB = -xlic_lib=sunperf
BLASLIB = /ab/atlas_dirs/3.6.0_test/libatlas.a
LAPACKLIB = lapack$(PLAT).a
TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a
LINSRCLIB = linsrc$(PLAT).a
Any help would be greatly appreciated.