Lapack3E installation crashes, using SuSe and ifort

Open discussion regarding features, bugs, issues, vendors, etc.

Lapack3E installation crashes, using SuSe and ifort

Postby wd20lp » Wed Jun 15, 2005 10:09 am

Hello All,


I didn't succeed on LAPACK3E installation. I am
using ifort (v 8.0), SuSe Linux on a Pentium IV laptop.
The lapack's installation crashes on the testing phase.

Can anybody give some help, with make.inc and Makefile
setting up configurations to overcome this problem?
I am not sure if I am using the right options. Please
see below my make.inc and part of the errors I am getting.
Thanks for any help,

Luciano


-----------------------MAKE.inc
#
FORTRAN = ifort
F90 = ifort
F90OPTS = -O3
CC = cc
OPTS = -O3 -mp1
COPTS = -O3
DRVOPTS = $(OPTS)
NOOPT =
REAL32 = -DLA_REALSIZE=4
LOADER = ifort
LOADOPTS =
#
# The following option is used to point to the directory of compiled
# module files.
#
MODINCL = -I
#
# The command m4 is used to create a generic interface module from the
# common source modules files. The types supported are determined by
# defined constants:
# -DLA_HG: Cray 32-bit interfaces
# -DLA_SC: IEEE 32-bit interfaces or Cray 64-bit interfaces
# -DLA_DZ: IEEE 64-bit interfaces
#
M4 = m4
M4FLAGS = -DLA_SC -DLA_DZ
#
# The archiver and the flag(s) to use when building archive (library)
# If your system has no ranlib, set RANLIB = echo.
#
ARCH = ar
ARCHFLAGS= cr
RANLIB = ranlib
#

------------Some of the errors-----------------

spbt01.o(.text+0x143): In function `spbt01_':
: undefined reference to `sdot_'
spbt01.o(.text+0x1af): In function `spbt01_':
: undefined reference to `strmv_'
spbt01.o(.text+0x261): In function `spbt01_':
: undefined reference to `ssyr_'
spbt01.o(.text+0x290): In function `spbt01_':
: undefined reference to `sscal_'
spbt01.o(.text+0x2bc): In function `spbt01_':
: undefined reference to `lsame_'
spbt01.o(.text+0x534): In function `spbt01_':
: undefined reference to `slansb_'
spbt02.o(.text+0x49): In function `spbt02_':
wd20lp
 
Posts: 7
Joined: Thu Jun 09, 2005 8:24 am

Postby Julie » Wed Jun 15, 2005 4:30 pm

Luciano,

You have three modifications to do to make it run correctly:
    1 - Define in the make.inc the $(LAPACKPATH) and $(PLAT)

    2 - Modify the BLAS/SRC/Makefile to use the BLAS provided by LAPACK3E
    it consists in uncommenting some lines and added some missing objects. Here is mine
    Code: Select all
    include ../../make.inc
    #
    all: single double complex complex16
    # all: single complex
     
    #---------------------------------------------------------
    #  Comment out the next 6 definitions if you already have
    #  the Level 1 BLAS.
    #---------------------------------------------------------
    SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
        srot.o srotg.o sscal.o sswap.o srotm.o
    # SBLAS1 = snrm2.o
    $(SBLAS1): $(FRC)

     CBLAS1 = scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
        cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o
    # CBLAS1 = scnrm2.o
    $(CBLAS1): $(FRC)

    DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
        drot.o drotg.o dscal.o dswap.o drotm.o
    # DBLAS1 = dnrm2.o
    $(DBLAS1): $(FRC)

    ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
        zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o
    # ZBLAS1 = dznrm2.o
    $(ZBLAS1): $(FRC)

    CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
    # CB1AUX = snrm2.o
    $(CB1AUX): $(FRC)

    ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
    # ZB1AUX = dnrm2.o
    $(ZB1AUX): $(FRC)

    #---------------------------------------------------------------------
    #  The following line defines auxiliary routines needed by both the
    #  Level 2 and Level 3 BLAS.  Comment it out only if you already have
    #  both the Level 2 and 3 BLAS.
    #---------------------------------------------------------------------
    ALLBLAS  = lsame.o xerbla.o
    # ALLBLAS =
    $(ALLBLAS) : $(FRC)

    #---------------------------------------------------------
    #  Comment out the next 4 definitions if you already have
    #  the Level 2 BLAS.
    #---------------------------------------------------------
    SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
        strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
        sger.o ssyr.o sspr.o ssyr2.o sspr2.o
    # SBLAS2 =
    $(SBLAS2): $(FRC)
    #
    CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
        ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
        cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
    # CBLAS2 =
    $(CBLAS2): $(FRC)
    #
    DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
        dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
        dger.o dsyr.o dspr.o dsyr2.o dspr2.o
    $(DBLAS2): $(FRC)
    #
    ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
        ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
        zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o
    $(ZBLAS2): $(FRC)
    #
    #---------------------------------------------------------
    #  Comment out the next 4 definitions if you already have
    #  the Level 3 BLAS.
    #---------------------------------------------------------
    SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o
    # SBLAS3 =
    $(SBLAS3): $(FRC)
    #
    CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
        chemm.o cherk.o cher2k.o
    # CBLAS3 =
    $(CBLAS3): $(FRC)
    #
    DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
    $(DBLAS3): $(FRC)
    #
    ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
        zhemm.o zherk.o zher2k.o
    $(ZBLAS3): $(FRC)
    #

    single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
       $(SBLAS2) $(SBLAS3)
       $(RANLIB) $(BLASLIB)

    double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
       $(DBLAS2) $(DBLAS3)
       $(RANLIB) $(BLASLIB)

    complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3)
       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \
       $(ALLBLAS) $(CBLAS2) $(CBLAS3)
       $(RANLIB) $(BLASLIB)

    complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
       $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
       $(RANLIB) $(BLASLIB)

    FRC:
       @FRC=$(FRC)

    clean:
       rm -f *.o

    .f.o:
       $(FORTRAN) $(OPTS) -c $*.f


    3- Modify the define ROUNDING_MODE from the SRC/rounding_mode.c
    Code: Select all
    *#define ROUNDING_MODE rounding_mode*/
    #define ROUNDING_MODE rounding_mode_

The c compiler should be icc (the intel compiler),
Code: Select all
CC = icc

It is better not to mix ifort and gcc.

Hope it helps
Julie
Julie
 
Posts: 299
Joined: Wed Feb 23, 2005 12:32 am
Location: ICL, Denver. Colorado

Lapack3E installation crashes, using SuSe and ifort

Postby wd20lp » Wed Jun 22, 2005 8:06 am

Hi Julie,

Your suggestion was very usefull! Just by uncommenting those
lines in the BLAS/SRC Makefile made my LAPACK to work on
my laptop using SuSe Linux and ifort. Now I can compile the
entire code and go through all the tests without any problem!
Now LAPACK is reality and works at my computer!!!

Thank you very much,

Luciano
wd20lp
 
Posts: 7
Joined: Thu Jun 09, 2005 8:24 am


Return to User Discussion

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], Yahoo [Bot] and 2 guests