_gfortran_copy_string missing

Post here if you have some questions about the ScaLAPACK installer

_gfortran_copy_string missing

Postby pandean » Tue Nov 15, 2011 5:14 pm

Hi,

I try to use the new version of scalapack installer 1.0, and run it like this:
./setup.py \
--prefix=.. --downblas --downlapack
When compiling the test routines for scalapack, the error message is:
========================
ScaLAPACK: error building ScaLAPACK test routines
stderr:
****************************************
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status
make[1]: *** [../xsdblu] Error 1
make: *** [scalapackexe] Error 2
****************************************
=========================
with gfortran 4.5 and openmpi/1.4.3

I try to add "-lgfortran" in --ldflags_c and --ldflags_fc, but still can not work.

Could you please help me ?
Thank you so much.

Best wishes,
Ding
pandean
 
Posts: 5
Joined: Tue Nov 15, 2011 5:02 pm

Re: _gfortran_copy_string missing

Postby admin » Tue Nov 15, 2011 5:20 pm

Hi,
Could you give me the complete output please.
Julie
admin
Site Admin
 
Posts: 504
Joined: Wed Dec 08, 2004 7:07 pm

Re: _gfortran_copy_string missing

Postby pandean » Wed Nov 16, 2011 4:19 pm

Hi Julie,

Thanks for your quick reply.
The scalapack installer output and scalog are as follows.

Best wishes,
Ding

========================================
Setting up the framework

Install directory is... /nfs4/fs01/home/ding/program-files/total-gnu
Build directory is... /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build
Looking for MPI binaries... mpicc, mpif90 and mpirun found.
mpicc : /opt/open-mpi/v143-ib-gnu45/bin/mpicc
mpif90 :/opt/open-mpi/v143-ib-gnu45/bin/mpif90
mpirun :/opt/open-mpi/v143-ib-gnu45/bin/mpirun
Looking for mpi.h... found in /opt/open-mpi/v143-ib-gnu45/include
BLAS library is... REFERENCE BLAS ( To download )
LAPACK library is... REFERENCE LAPACK ( To download )
Checking if mpicc works... yes
Checking if mpirun works... yes
Checking if mpif90 works... yes
Checking if the Fortran 90/95 compiler works... yes
Setting Fortran mangling... -DAdd_
Setting download command...
Checking availability of urllib... available
Testing urllib... not working
Checking availablility of wget... available
Testing wget... working
Setting ranlib command... /usr/bin/ranlib
Detecting Fortran compiler... GNU
Detecting C compiler... GNU
C flags are... -O2
Fortran flags are... -O2
Selected loader flags (C main):
Selected loader flags (f90 main):
Selected NOOPT flags: -O0
AR flags are... rc
Checking loader... works

========================================
BLAS installation/verification
========================================
The reference BLAS library is being installed.
Don't expect high performance from this reference library!
If you want performance, you need to use an optimized BLAS library and,
to avoid unnecessary complications, if you need to compile this optimized BLAS
library, use the same compiler you're using here.
Downloading reference BLAS... (package ./blas.tgz already downloaded)... done
Unzip and untar reference BLAS... done
Compile and generate reference BLAS... done
Installation of reference BLAS successful.
(log is in /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/log/blaslog )

========================================
Lapack installation/verification
========================================
The reference LAPACK library is being installed.
Downloading reference LAPACK... (package ./lapack.tgz already downloaded)... done
Unzip and untar reference LAPACK... done
Compile and generate LAPACK... done
Installation of libreflapack.a successful.
(log is in /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/log/lapacklog )
Compiling and Running LAPACK test suite (this will take several minutes)... done
(log is in /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/log/lapack_testing )
LAPACK library is -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack
Checking if provided LAPACK works... yes
Getting LAPACK version number... 3.4.0
Checking if provided LAPACK contains functions for test works... yes
LAPACK library is -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack
Checking if provided LAPACK works... yes
Getting LAPACK version number... 3.4.0
Checking if provided LAPACK contains functions for test works... yes

========================================
ScaLAPACK installer is starting now. Buckle up!
========================================
Downloading ScaLAPACK... (package ./scalapack.tgz already downloaded)... done
Installing scalapack ...
Writing SLmake.inc... done.
Compiling BLACS, PBLAS and ScaLAPACK... done
Installation of ScaLAPACK successful.
(log is in /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/log/scalog )
Compiling test routines...

ScaLAPACK: error building ScaLAPACK test routines
stderr:
****************************************
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status
make[1]: *** [../xsdblu] Error 1
make: *** [scalapackexe] Error 2

****************************************
=======================================================
scalog
=======================================================

( cd BLACS; make tester )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS'
( cd TESTING ; make )
make[2]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS/TESTING'
make[2]: Nothing to be done for `exe'.
make[2]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS/TESTING'
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS'
( cd PBLAS/TESTING; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TESTING'
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas1tst psblas1tst.o psblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas2tst psblas2tst.o psblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas3tst psblas3tst.o psblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas1tst pdblas1tst.o pdblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas2tst pdblas2tst.o pdblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas3tst pdblas3tst.o pdblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas1tst pcblas1tst.o pcblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas2tst pcblas2tst.o pcblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas3tst pcblas3tst.o pcblastst.o slamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas1tst pzblas1tst.o pzblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas2tst pzblas2tst.o pzblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas3tst pzblas3tst.o pzblastst.o dlamch.o pblastst.o PB_Cwarn.o PB_Cabort.o ../
../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/to
tal-gnu/lib -lrefblas
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TESTING'
( cd PBLAS/TIMING; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TIMING'
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas1tim psblas1tim.o psblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas2tim psblas2tim.o psblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xspblas3tim psblas3tim.o psblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas1tim pdblas1tim.o pdblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas2tim pdblas2tim.o pdblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xdpblas3tim pdblas3tim.o pdblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas1tim pcblas1tim.o pcblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas2tim pcblas2tim.o pcblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xcpblas3tim pcblas3tim.o pcblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas1tim pzblas1tim.o pzblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas2tim pzblas2tim.o pzblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o xzpblas3tim pzblas3tim.o pzblastim.o pblastim.o PB_Cwarn.o PB_Cabort.o ../../libsca
lapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/l
ib -lrefblas
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TIMING'
( cd REDIST/TESTING; make integer single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/REDIST/TESTING'
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xigemr pigemrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xitrmr pitrmrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xsgemr psgemrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xstrmr pstrmrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xdgemr pdgemrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xdtrmr pdtrmrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xcgemr pcgemrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xctrmr pctrmrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xzgemr pzgemrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpicc -o xztrmr pztrmrdrv.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-g
nu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/REDIST/TESTING'
( cd TESTING/LIN; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/TESTING/LIN'
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o ../xslu psludriver.o psluinfo.o psgetrrv.o psmatgen.o pmatgeninc.o pslaschk.o pslaf
chk.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program
-files/total-gnu/lib -lrefblas
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pma
tgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/pro
gram-files/total-gnu/lib -lrefblas
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/TESTING/LIN'
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status
make[1]: *** [../xsdblu] Error 1
make: *** [scalapackexe] Error 2
pandean
 
Posts: 5
Joined: Tue Nov 15, 2011 5:02 pm

Re: _gfortran_copy_string missing

Postby admin » Wed Nov 16, 2011 4:36 pm

I do not see what is wrong, but just make sure that the ScaLAPACK downloaded is the latest version. (rm -rf build/download/*.tgz build/scalapack)
Downloading ScaLAPACK... (package ./scalapack.tgz already downloaded)... done

If it is, the problem does not seem to be in the ScaLAPACK installer, so here is what I would do:

  • First, I would go directly in the LAPACK build folder /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/lapack, and type make lapack_testing to run the LAPACK testing.
    Check that the output is fine, you should have a total of around 300 numerical errors
    If you have a problem, try changing the Fortran compiler from mpif90 to gfortran, then type make clean and make

  • Then do the same for ScaLAPACK go in the ScaLAPACK folder /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack, and type make exe
    Check that the output of the testing is fine (I believe this should not work!)

Thens send me your results, and we will see where we go from there...
Julie
admin
Site Admin
 
Posts: 504
Joined: Wed Dec 08, 2004 7:07 pm

Re: _gfortran_copy_string missing

Postby pandean » Wed Nov 16, 2011 6:19 pm

hi,

Thanks for your suggestions.

I remove the whole build directory and do again.
The error is still there.

For lapack testing, it is fine and this is my testing summary:
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1064911 39 (0.004%) 0 (0.000%)
DOUBLE PRECISION 1052315 203 (0.019%) 0 (0.000%)
COMPLEX 508588 2 (0.000%) 0 (0.000%)
COMPLEX16 530862 28 (0.005%) 0 (0.000%)

--> ALL PRECISIONS 3156676 272 (0.009%) 0 (0.000%)


I check the make.inc file in lapack-3.4.0. It uses gfortran but not mpif90:
FORTRAN = gfortran
OPTS = -O2
DRVOPTS = $(OPTS)
NOOPT = -O0
LOADER = gfortran
LOADOPTS =


mpif90 -v shows
Using built-in specs.
COLLECT_GCC=//opt/gcc/4.5.0/bin/gfortran-4.5.0
COLLECT_LTO_WRAPPER=/opt/gcc/4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/opt/gcc/4.5.0 --srcdir=/root/pkgs/gcc/4.5.0/gcc-4.5.0 --program-suffix=-4.5.0 --with-local-prefix=/opt --with-gmp=/opt/gmp/5.0.1 --with-mpfr=/opt/mpfr/2.4.2 --with-mpc=/opt/mpc/0.8.2 --enable-threads=posix --with-gc=page --with-x --enable-gtk-cairo --enable-languages=c,c++,fortran,java,objc --enable-decimal-float=yes
Thread model: posix
gcc version 4.5.0 (GCC)


For scalapack testing, yes, you are right.
I can not pass and the error message is like what I showed:
( cd BLACS; make tester )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS'
( cd TESTING ; make )
make[2]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS/TESTING'
make[2]: Nothing to be done for `exe'.
make[2]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS/TESTING'
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/BLACS'
( cd PBLAS/TESTING; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TESTING'
make[1]: Nothing to be done for `single'.
make[1]: Nothing to be done for `double'.
make[1]: Nothing to be done for `complex'.
make[1]: Nothing to be done for `complex16'.
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TESTING'
( cd PBLAS/TIMING; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TIMING'
make[1]: Nothing to be done for `single'.
make[1]: Nothing to be done for `double'.
make[1]: Nothing to be done for `complex'.
make[1]: Nothing to be done for `complex16'.
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/PBLAS/TIMING'
( cd REDIST/TESTING; make integer single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/REDIST/TESTING'
make[1]: Nothing to be done for `integer'.
make[1]: Nothing to be done for `single'.
make[1]: Nothing to be done for `double'.
make[1]: Nothing to be done for `complex'.
make[1]: Nothing to be done for `complex16'.
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/REDIST/TESTING'
( cd TESTING/LIN; make single double complex complex16 )
make[1]: Entering directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/TESTING/LIN'
/opt/open-mpi/v143-ib-gnu45/bin/mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status
make[1]: *** [../xsdblu] Error 1
make[1]: Leaving directory `/nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/TESTING/LIN'
make: *** [scalapackexe] Error 2



admin wrote:I do not see what is wrong, but just make sure that the ScaLAPACK downloaded is the latest version. (rm -rf build/download/*.tgz build/scalapack)
Downloading ScaLAPACK... (package ./scalapack.tgz already downloaded)... done

If it is, the problem does not seem to be in the ScaLAPACK installer, so here is what I would do:


  • First, I would go directly in the LAPACK build folder /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/lapack, and type make lapack_testing to run the LAPACK testing.
    Check that the output is fine, you should have a total of around 300 numerical errors
    If you have a problem, try changing the Fortran compiler from mpif90 to gfortran, then type make clean and make

  • Then do the same for ScaLAPACK go in the ScaLAPACK folder /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack, and type make exe
    Check that the output of the testing is fine (I believe this should not work!)

Thens send me your results, and we will see where we go from there...
Julie
pandean
 
Posts: 5
Joined: Tue Nov 15, 2011 5:02 pm

Re: _gfortran_copy_string missing

Postby admin » Wed Nov 16, 2011 6:38 pm

thanks for testing all those stuff, so it seems that your mpif90 is the cause of the problems.
Also could you add /opt/open-mpi/v143-ib-gnu45/bin in your $PATH and /opt/open-mpi/v143-ib-gnu45/lib in your $LD_LIBRARY_PATH/
Could you give the output of:
- which mpif90
- mpif90 --showme
- which gfortran
let's go in /nfs4/fs01/home/ding/program-files/total-gnu/scalapack_installer/build/scalapack/TESTING/LIN
let's try it again
Code: Select all
mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas

if this is still not working let's try to add the gfortran library
Code: Select all
mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas  -lgfortran

if this is still not working let's try to use gfortran.3
Code: Select all
mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas -lgfortran.3

if this is still not working let's try to use the output of mpif90 --showme
Code: Select all
"output of mpif90 --showme" -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
admin
Site Admin
 
Posts: 504
Joined: Wed Dec 08, 2004 7:07 pm

Re: _gfortran_copy_string missing

Postby pandean » Wed Nov 16, 2011 7:15 pm

Hi,

Thanks again for your so prompt reply!
It seems if I miss gfortran library, the compiler would not complain only undefined `_gfortran_copy_string'.
Old version of gfortran like 4.1.* may avoid this problem, but gnu 4.1.* can not work for my code...

Best wishes,
Ding

echo $PATH
/opt/open-mpi/v143-ib-gnu45/bin:/opt/gcc/4.5.0/bin:/opt/vmd/1.9/bin:/opt/gromacs/4.5.4-intel12-ompi/bin:/opt/fftw/3.2.2/bin:/opt/maui/bin:/opt/torque/bin:/usr/lib64/qt-3.3/bin:/opt/bin:/opt/intel/cce/11.1.069/bin/intel64:/opt/intel/fce/11.1.069/bin/intel64:/opt/intel/idbe/11.1.069/bin/intel64:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/NX/bin:/home/ding/bin/:/home/ding/bin:/usr/lib64/lam/lib/


echo $LD_LIBRARY_PATY
/opt/open-mpi/v143-ib-gnu45/lib:/opt/gcc/4.5.0/lib64:/opt/vmd/1.9/lib:/opt/gromacs/4.5.4-intel12-ompi/lib:/opt/fftw/3.2.2/lib:/opt/lib:/opt/intel/Compiler/11.1.069/mkl/lib/em64t:/opt/intel/cce/11.1.069/lib/intel64:/opt/intel/fce/11.1.069/lib/intel64:/usr/lib64/lam/lib/


which mpif90
/opt/open-mpi/v143-ib-gnu45/bin/mpif90


mpif90 --showme
/opt/gcc/4.5.0/bin/gfortran-4.5.0 -I/opt/open-mpi/v143-ib-gnu45/include -pthread -I/opt/open-mpi/v143-ib-gnu45/lib -L/opt/open-mpi/v143-ib-gnu45/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl


which gfortran
alias gfortran='gfortran-4.5.0'
/opt/gcc/4.5.0/bin/gfortran-4.5.0


gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran-4.5.0
COLLECT_LTO_WRAPPER=/opt/gcc/4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/opt/gcc/4.5.0 --srcdir=/root/pkgs/gcc/4.5.0/gcc-4.5.0 --program-suffix=-4.5.0 --with-local-prefix=/opt --with-gmp=/opt/gmp/5.0.1 --with-mpfr=/opt/mpfr/2.4.2 --with-mpc=/opt/mpc/0.8.2 --enable-threads=posix --with-gc=page --with-x --enable-gtk-cairo --enable-languages=c,c++,fortran,java,objc --enable-decimal-float=yes
Thread model: posix
gcc version 4.5.0 (GCC)


mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status


mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas -lgfortran
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status


mpif90 -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas -lgfortran.3
/usr/bin/ld: cannot find -lgfortran.3
collect2: ld returned 1 exit status


/opt/gcc/4.5.0/bin/gfortran-4.5.0 -I/opt/open-mpi/v143-ib-gnu45/include -pthread -I/opt/open-mpi/v143-ib-gnu45/lib -L/opt/open-mpi/v143-ib-gnu45/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl -o ../xsdblu psdbdriver.o psdbinfo.o psdblaschk.o psdbmv1.o psbmatgen.o psmatgen.o pmatgeninc.o ../../libscalapack.a -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -ltmg -lreflapack -L/nfs4/fs01/home/ding/program-files/total-gnu/lib -lrefblas
/nfs4/fs01/home/ding/program-files/total-gnu/lib/libreflapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x273): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x2fa): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x315): undefined reference to `_gfortran_copy_string'
ilaenv.f:(.text+0x32b): undefined reference to `_gfortran_copy_string'
collect2: ld returned 1 exit status
pandean
 
Posts: 5
Joined: Tue Nov 15, 2011 5:02 pm

Re: _gfortran_copy_string missing

Postby pandean » Wed Nov 16, 2011 8:49 pm

Hi,

I update to gnu 4.62 and openmpi 1.4.4.
Now all are fine.
I can pass all the tests in scalapack installer.

ScaLAPACK Installer is a great tool!
Thank you so much.

Best wishes,
Ding
pandean
 
Posts: 5
Joined: Tue Nov 15, 2011 5:02 pm


Return to ScaLAPACK installer

Who is online

Users browsing this forum: No registered users and 1 guest

cron