compiling lapack 64 bit

Post here if you have having problem using the Makefile build process.

compiling lapack 64 bit

Postby daanmeerburg » Fri Jan 21, 2011 10:43 am

Hi,
I have been trying to compile lapack for 2 days with no success. I have installed lapack on my system (apple osx 10.6.6, intel, core 2 duo), but it was build 32 bit, which gives architecture issues once I try to compile some other programs in 64 (that use the libs). Now, since I already compiled it before I thought it would be no problem to compile it again in 64 bit. Well, I was wrong.. many many hours later, I am still not able to compile lapack!!! I went through all possible forums, but no-one seems to have problems that are related. In any case, currently I am stuck with two versions (I have tried to recompile my own version (v 3.1.1), after that I downloaded the latest to see if that would work)

The error I get now (one of many I have overcome, but now I looking for an expert telling me what to do next) v 3.3.0:

../../tmglib_DARWIN.a ../../lapack_DARWIN.a ../../blas_DARWIN.a -o xlintsts && mv xlintsts ../xlintsts
gfortran: ../../blas_DARWIN.a: No such file or directory
make[2]: *** [../xlintsts] Error 1
make[1]: *** [xlintsts] Error 2
make: *** [lapack_testing] Error 2

So there is no blas lib, but I though lapack is supposed to make this?!?! Maybe I am wrong (most probaly I am, I am not an expert). The makefile (make.inc) I use is:

# -*- Makefile -*-
####################################################################
# LAPACK make include file. #
# LAPACK, Version 3.3.0 #
# November 2010 #
####################################################################
#
# See the INSTALL/ directory for more examples.
#
SHELL = /bin/sh
#
# The machine (platform) identifier to append to the library names
#
PLAT = _DARWIN
#
# 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 = gfortran -fimplicit-none -g
OPTS = -O2 -DEXPRECISION -m128bit-long-double -Wall -m64 -DF_INTERFACE_GFORT -fPIC
DRVOPTS = $(OPTS)
NOOPT = -g -O0
LOADER = gfortran -g
LOADOPTS =
#
# Timer for the SECOND and DSECND routines
#
# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
# TIMER = EXT_ETIME
# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
# TIMER = EXT_ETIME_
# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME
# TIMER = INT_ETIME
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
# SECOND and DSECND will use a call to the Fortran standard INTERNAL FUNCTION CPU_TIME
TIMER = INT_CPU_TIME
# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0
# TIMER = NONE
#
# 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 = ranlib
#
# The location of BLAS library for linking the testing programs.
# The target's machine-specific, optimized BLAS library should be
# used whenever possible.
#
BLASLIB = ../../blas$(PLAT).a
#
# Location of the extended-precision BLAS (XBLAS) Fortran library
# used for building and testing extended-precision routines. The
# relevant routines will be compiled and XBLAS will be linked only if
# USEXBLAS is defined.
#
# USEXBLAS = Yes
#XBLASLIB =
# XBLASLIB = -lxblas
#
# Names of generated libraries.
#
LAPACKLIB = lapack$(PLAT).a
TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a
LINSRCLIB = linsrc$(PLAT).a

Any help would be appreciated.
regards
daan

I have also uploaded the makefile output
daanmeerburg
 
Posts: 3
Joined: Fri Jan 21, 2011 8:59 am

Re: compiling lapack 64 bit

Postby admin » Fri Jan 21, 2011 11:54 am

Move the -m64 to the FORTRAN line
Either OPTS or NOOPT are used, so I guess all the "NOOPT routines" were missing the 64 bits flag.
Code: Select all
FORTRAN = gfortran -fimplicit-none -g -m64
OPTS = -O2 -DEXPRECISION -m128bit-long-double -Wall -DF_INTERFACE_GFORT -fPIC
DRVOPTS = $(OPTS)
NOOPT =  -O0
LOADER = gfortran -g
LOADOPTS =

Feel free also to try the CMAKE build system, it is easier.
Julie
admin
Site Admin
 
Posts: 486
Joined: Wed Dec 08, 2004 7:07 pm

Re: compiling lapack 64 bit

Postby daanmeerburg » Sat Jan 22, 2011 7:35 am

Thanx,
Unfortunately I keep getting the same error:

../../tmglib_DARWIN.a ../../lapack_DARWIN.a ../../blas_DARWIN.a -o xlintsts && mv xlintsts ../xlintsts
gfortran: ../../blas_DARWIN.a: No such file or directory
make[2]: *** [../xlintsts] Error 1
make[1]: *** [xlintsts] Error 2
make: *** [lapack_testing] Error 2

In the 3.1.1 version I get a similar error, but already for the lapack_DARWIN.a lib:

none ../lapack_DARWIN.a
make[1]: none: No such file or directory
make[1]: *** [../lapack_DARWIN.a] Error 1
make: *** [lapacklib] Error 2

in the make.out file you see that there exist lots of functions that have arguments that are unused? You think it might have something to do with this?
Thanks again for your comments. Hope that you have some other ideas.
kind regards
daan
daanmeerburg
 
Posts: 3
Joined: Fri Jan 21, 2011 8:59 am

Re: compiling lapack 64 bit

Postby admin » Sat Jan 22, 2011 7:39 am

Try
Code: Select all
make blaslib
then
Code: Select all
make
admin
Site Admin
 
Posts: 486
Joined: Wed Dec 08, 2004 7:07 pm

Re: compiling lapack

Postby rajapa53 » Tue Oct 04, 2011 1:44 am

make_inc_RS6K.txt
make.inc.RS6K
(2.34 KiB) Downloaded 49 times
Makefile.txt
Makefile
(3.12 KiB) Downloaded 43 times

HI,
I m trying to install lapack on IBM P6 machine in AIX 5.3 OS, I m while gmake i m getting error like

gmake[1]: Entering directory `/gpfs2/home/raja/lapack-3.3.1/SRC'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/gpfs2/home/raja/lapack-3.3.1/SRC'
( cd TESTING/MATGEN; gmake )
gmake[1]: Entering directory `/gpfs2/home/raja/lapack-3.3.1/TESTING/MATGEN'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/gpfs2/home/raja/lapack-3.3.1/TESTING/MATGEN'
( cd TESTING ; gmake )
gmake[1]: Entering directory `/gpfs2/home/raja/lapack-3.3.1/TESTING'
cd EIG ; gmake single
gmake[2]: Entering directory `/gpfs2/home/raja/lapack-3.3.1/TESTING/EIG'
\
xlf_r -o xeigtsts \
schkee.o sbdt01.o sbdt02.o sbdt03.o schkbb.o schkbd.o schkbk.o schkbl.o schkec.o schkgg.o schkgk.o schkgl.o schkhs.o schksb.o schkst.o sckcsd.o sckglm.o sckgqr.o sckgsv.o scklse.o scsdts.o sdrges.o sdrgev.o sdrgsx.o sdrgvx.o sdrvbd.o sdrves.o sdrvev.o sdrvgg.o sdrvsg.o sdrvst.o sdrvsx.o sdrvvx.o serrbd.o serrec.o serred.o serrgg.o serrhs.o serrst.o sget02.o sget10.o sget22.o sget23.o sget24.o sget31.o sget32.o sget33.o sget34.o sget35.o sget36.o sget37.o sget38.o sget39.o sget51.o sget52.o sget53.o sget54.o sglmts.o sgqrts.o sgrqts.o sgsvts.o shst01.o slarfy.o slarhs.o slatm4.o slctes.o slctsx.o slsets.o sort01.o sort03.o ssbt21.o ssgt01.o sslect.o sspt21.o sstt21.o sstt22.o ssyt21.o ssyt22.o slafts.o slahd2.o slasum.o slatb9.o sstech.o sstect.o ssvdch.o ssvdct.o ssxt1.o alahdg.o alasum.o alasvm.o alareq.o ilaenv.o xerbla.o xlaenv.o chkxer.o ../../tmglib_RS6K.a \
../../lapack_RS6K.a -lessl && mv xeigtsts ../xeigtsts
ld: 0711-317 ERROR: Undefined symbol: .srotm
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake[2]: *** [../xeigtsts] Error 8
gmake[2]: Leaving directory `/gpfs2/home/raja/lapack-3.3.1/TESTING/EIG'
gmake[1]: *** [xeigtsts] Error 2
gmake[1]: Leaving directory `/gpfs2/home/raja/lapack-3.3.1/TESTING'
gmake: *** [lapack_testing] Error 2

here with i attach Makefile and make.in.RS6K
Any help would be appreciated.

Regards
Rajamanickam
HCL Infosystems Ltd
rajapa53
 
Posts: 1
Joined: Tue Oct 04, 2011 12:25 am

Re: compiling lapack 64 bit

Postby admin » Tue Jan 17, 2012 2:45 pm

Which machine and which compiler are you using?
What is your error?
admin
Site Admin
 
Posts: 486
Joined: Wed Dec 08, 2004 7:07 pm

Re: compiling lapack 64 bit

Postby jwhite » Wed Dec 18, 2013 2:43 pm

I am having the same problem working in RedHat linux.

make blaslib works ok, but then 'make' fails at the test stage.

What should I do to finish this installation.

JWhite
jwhite
 
Posts: 6
Joined: Tue Dec 17, 2013 3:59 pm

Re: compiling lapack 64 bit

Postby jwhite » Wed Dec 18, 2013 3:14 pm

RHEL 6.1
gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC)

[root@ogi lapack-3.5.0]# make
( cd INSTALL; make; ./testlsame; ./testslamch; ./testdlamch; \
./testsecond; ./testdsecnd; ./testieee; ./testversion )
make[1]: Entering directory `/downloads/lapack-3.5.0/INSTALL'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/INSTALL'
ASCII character set
Tests completed
Epsilon = 5.96046448E-08
Safe minimum = 1.17549435E-38
Base = 2.0000000
Precision = 1.19209290E-07
Number of digits in mantissa = 24.000000
Rounding mode = 1.0000000
Minimum exponent = -125.00000
Underflow threshold = 1.17549435E-38
Largest exponent = 128.00000
Overflow threshold = 3.40282347E+38
Reciprocal of safe minimum = 8.50705917E+37
Epsilon = 1.11022302462515654E-016
Safe minimum = 2.22507385850720138E-308
Base = 2.0000000000000000
Precision = 2.22044604925031308E-016
Number of digits in mantissa = 53.000000000000000
Rounding mode = 1.0000000000000000
Minimum exponent = -1021.0000000000000
Underflow threshold = 2.22507385850720138E-308
Largest exponent = 1024.0000000000000
Overflow threshold = 1.79769313486231571E+308
Reciprocal of safe minimum = 4.49423283715578977E+307
Time for 0.100E+09 SAXPY ops = 0.550E-01 seconds
SAXPY performance rate = 0.182E+04 mflops
Including SECOND, time = 0.510E-01 seconds
Time for 0.100E+09 DAXPY ops = 0.500E-01 seconds
DAXPY performance rate = 0.200E+04 mflops
Including DSECND, time = 0.510E-01 seconds
Average time for DSECND = 0.200E-04 milliseconds
Equivalent floating point ops = 40.0 ops
We are about to check whether infinity arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 10 in LAPACK/SRC/ilaenv.f

Infinity arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that infinity arithmetic meets the ieee spec.

We are about to check whether NaN arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 11 in LAPACK/SRC/ilaenv.f

NaN arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that NaN arithmetic meets the ieee spec.

LAPACK 3 . 5 . 0
( cd SRC; make )
make[1]: Entering directory `/downloads/lapack-3.5.0/SRC'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/SRC'
( cd TESTING/MATGEN; make )
make[1]: Entering directory `/downloads/lapack-3.5.0/TESTING/MATGEN'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/TESTING/MATGEN'
( cd BLAS/TESTING; make -f Makeblat1 )
make[1]: Entering directory `/downloads/lapack-3.5.0/BLAS/TESTING'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/BLAS/TESTING'
( cd BLAS; ./xblat1s > sblat1.out ; \
./xblat1d > dblat1.out ; \
./xblat1c > cblat1.out ; \
./xblat1z > zblat1.out )
( cd BLAS/TESTING; make -f Makeblat2 )
make[1]: Entering directory `/downloads/lapack-3.5.0/BLAS/TESTING'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/BLAS/TESTING'
( cd BLAS; ./xblat2s < sblat2.in ; \
./xblat2d < dblat2.in ; \
./xblat2c < cblat2.in ; \
./xblat2z < zblat2.in )
( cd BLAS/TESTING; make -f Makeblat3 )
make[1]: Entering directory `/downloads/lapack-3.5.0/BLAS/TESTING'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/downloads/lapack-3.5.0/BLAS/TESTING'
( cd BLAS; ./xblat3s < sblat3.in ; \
./xblat3d < dblat3.in ; \
./xblat3c < cblat3.in ; \
./xblat3z < zblat3.in )
( cd TESTING ; make )
make[1]: Entering directory `/downloads/lapack-3.5.0/TESTING'
cd LIN ; make single
make[2]: Entering directory `/downloads/lapack-3.5.0/TESTING/LIN'
gfortran -O2 -frecursive -c stbt05.f -o stbt05.o
stbt05.f: In function ‘stbt05’:
stbt05.f:189: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [stbt05.o] Error 1
make[2]: Leaving directory `/downloads/lapack-3.5.0/TESTING/LIN'
make[1]: *** [xlintsts] Error 2
make[1]: Leaving directory `/downloads/lapack-3.5.0/TESTING'
make: *** [lapack_testing] Error 2
jwhite
 
Posts: 6
Joined: Tue Dec 17, 2013 3:59 pm

Re: compiling lapack 64 bit

Postby Julien Langou » Wed Dec 18, 2013 3:43 pm

I am trying the command:
Code: Select all
gfortran -O2 -frecursive -c stbt05.f -o stbt05.o

and this works just fine on my laptop. I am using gfortran 4.8.2 and I am using a MacBook Pro.
Can you try just:
Code: Select all
cd /downloads/lapack-3.5.0/TESTING/LIN; gfortran -O2 -frecursive -c stbt05.f -o stbt05.o

You should get the same error, then maybe check your gfortran version.
No idea why your install is crashing.
Julien.
Julien Langou
 
Posts: 733
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

Re: compiling lapack 64 bit

Postby jwhite » Wed Dec 18, 2013 3:50 pm

Thanks for your response. Yes, I got the same error.
Should I use a different make.inc file for RHEL running on Dell R710 server.
uname -a
Linux ogi.meei.harvard.edu 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

Regards,
Joe

[root@ogi LIN]# gfortran --version
GNU Fortran (GCC) 4.4.5 20110214 (Red Hat 4.4.5-6)
Copyright (C) 2010 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

[root@ogi LIN]# gfortran -O2 -frecursive -c stbt05.f -o stbt05.o -version
gfortran: unrecognized option '-version'
stbt05.f: In function ‘stbt05’:
stbt05.f:189: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
jwhite
 
Posts: 6
Joined: Tue Dec 17, 2013 3:59 pm

Re: compiling lapack 64 bit

Postby Julien Langou » Wed Dec 18, 2013 5:45 pm

Hi Joe,
Should I use a different make.inc file for RHEL running on Dell R710 server.

First we need to find a compiler that will compile this file. Then, yes, the next step would be to change make.inc so that it relies on the compiler that works for LAPACK. So changing make.inc is the second step not the first. I have no idea why your gfortran 4.4.5 does not compile our file. Maybe try to update your gfortran and then re-run
Code: Select all
gfortran -O2 -frecursive -c stbt05.f -o stbt05.

and see if this is better. (An older version if installed could also do the trick, but newer is better.)

Also, please note that the problem is in the TESTING directory, so, at this point, you should have a complete LAPACK library installed under liblapack.a in the LAPACK directory. So you cannot test and check the library, but the library should be there and should be ready to use and you should not have any problem with it.

Cheers,
Julien.
Julien Langou
 
Posts: 733
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to Makefile

Who is online

Users browsing this forum: No registered users and 1 guest

cron