HPL compile problem

compiled openmpi-1.2 with protalnd compilers (static version)

then when i try to compile HPL benchmark suite i get

make[2]: Entering directory `/share/apps/src/hpl/testing/ptest/Linux_PII_CBLAS’
/share/apps/pgi/linux86-64/7.0/bin/pgf77 -DHPL_CALL_CBLAS -I/share/apps/src/hpl/include -I/share/apps/src/hpl/include/Linux_PII_CBLAS -I/share/apps/openmpi-1.2_pgroup/include -Mnomain -o /share/apps/src/hpl/bin/Linux_PII_CBLAS/xhpl HPL_pddriver.o HPL_pdinfo.o HPL_pdtest.o /share/apps/src/hpl/lib/Linux_PII_CBLAS/libhpl.a /root/netlib/ARCHIVES/Linux_PII/libcblas.a /root/netlib/ARCHIVES/Linux_PII/libatlas.a /share/apps/openmpi-1.2_pgroup/lib/libmpich.a
/usr/bin/ld: /root/netlib/ARCHIVES/Linux_PII/libcblas.a: No such file: No such file or directory

i saw the reference to ‘multiple main’, is the the correct fix becuase it does not work with latest (eval) version of pgcc/pgf77.


[root@swallowtail hpl]# tail -20 Make.Linux_PII_CBLAS


#CC = /usr/bin/gcc
CC = /share/apps/pgi/linux86-64/7.0/bin/pgcc
#CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops

On some platforms, it is necessary to use the Fortran linker to find

the Fortran internals used in the BLAS library.

#LINKER = /usr/bin/g77
LINKER = /share/apps/pgi/linux86-64/7.0/bin/pgf77

RANLIB = echo


Hi Henk,

“-Mnomain” is needed for HPL since the main program is written in C. Without “-Mnomain” pgf77 will link with a PGI supplied version of main in order to interface with the operating system.

However, the actual error you show is that the linker can’t find the “libcblas.a” library. Please make sure that this library exists and that the full path is correct.

  • Mat

i see … i thought they were related errors. anyway i changed my LAdir so now it finds the local copies. i also looked what dell did ‘burning’ in our cluster and followed suit: i referred to mpicc whcih was compiled with your compilers. it then compiled xhpl cleanly. below th elinies i changed in the “arch” makefile.


TOPdir = /share/apps/src/hpl
MPdir = /share/apps/openmpi-1.2_pgroup
MPlib = $(MPdir)/lib/libmpi.a
LAdir = /usr/lib64
CC = /share/apps/openmpi-1.2_pgroup/bin/mpicc
LINKER = /share/apps/openmpi-1.2_pgroup/bin/mpicc