OpenBLAS: undefined reference to `xerblassytrd_sb2st_'

Command

make TARGET=HASWELL CC=gcc FC=ifort

Error

make[1]: Entering directory `/home/jrhammo/OpenBLAS/git/exports'
gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_INTEL -fPIC 
-DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=272 -DASMNAME= 
-DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" 
-DNO_AFFINITY -I..  -shared -o ../libopenblas_haswellp-r0.2.20.dev.so \
-Wl,--whole-archive ../libopenblas_haswellp-r0.2.20.dev.a -Wl,--no-whole-archive \
-Wl,-soname,libopenblas.so.0 -lm -lpthread -lm -lpthread
gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_INTEL -fPIC -DSMP_SERVER 
-DNO_WARMUP -DMAX_CPU_NUMBER=272 -DASMNAME= -DASMFNAME=_ -DNAME=_ 
-DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I..  -w 
-o linktest linktest.c ../libopenblas_haswellp-r0.2.20.dev.so 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/compiler/lib/intel64 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/ipp/lib/intel64 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/compiler/lib/intel64 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/tbb/lib/intel64/gcc4.7 
-L/home/projects/x86-64-knl/git/2.8.2/lib -L/home/projects/x86-64-knl/x11/libx11/1.5.0/lib 
-L/home/projects/x86-64-knl/x11/libxau/1.0.7/lib -L/home/projects/x86-64-knl/tcl/8.6.5/lib 
-L/home/projects/x86-64-knl/zlib/1.2.8/lib -L/home/projects/x86-64-knl/numa/2.0.10/lib 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/compiler/lib/intel64_lin 
-L/home/jrhammo/GCC/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/ 
-L/home/jrhammo/GCC/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../lib64 
-L/home/jrhammo/GCC/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../lib64/ 
-L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/ 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/compiler/lib/intel64/ 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/ 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/ipp/lib/intel64/ 
-L/home/jrhammo/intel/compilers_and_libraries_2017.0.098/linux/tbb/lib/intel64/gcc4.7/ 
-L/home/projects/x86-64-knl/git/2.8.2/lib/ -L/home/projects/x86-64-knl/x11/libx11/1.5.0/lib/ 
-L/home/projects/x86-64-knl/x11/libxau/1.0.7/lib/ -L/home/projects/x86-64-knl/tcl/8.6.5/lib/ 
-L/home/projects/x86-64-knl/zlib/1.2.8/lib/ -L/home/projects/x86-64-knl/numa/2.0.10/lib/ 
-L/home/jrhammo/GCC/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../ -L/lib64 -L/lib/ 
-L/usr/lib64 -L/usr/lib  -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread 
-lsvml -lc -lirc_s -ldl -lc  -lgfortran && echo OK.
../libopenblas_haswellp-r0.2.20.dev.so: undefined reference to `xerblassytrd_sb2st_'
../libopenblas_haswellp-r0.2.20.dev.so: undefined reference to `zsteqrzhetrd_2stage_'
../libopenblas_haswellp-r0.2.20.dev.so: undefined reference to `zlatrszgemm_'
../libopenblas_haswellp-r0.2.20.dev.so: undefined reference to `csteqrchetrd_2stage_'
../libopenblas_haswellp-r0.2.20.dev.so: undefined reference to `xerbladsytrd_sb2st_'
collect2: error: ld returned 1 exit status
make[1]: *** [../libopenblas_haswellp-r0.2.20.dev.so] Error 1
make[1]: Leaving directory `/home/jrhammo/OpenBLAS/git/exports'
make: *** [shared] Error 2

Software

$ uname -srvmpio
Linux 3.10.0-327.el7.mpsp_1.3.0.66.x86_64 #1 SMP Thu Mar 3 09:15:44 EST 2016 x86_64 x86_64 x86_64 GNU/Linux
$ ld -v
GNU ld version 2.23.52.0.1-55.el7 20130226
$ ifort --version
ifort (IFORT) 17.0.0 20160721
Copyright (C) 1985-2016 Intel Corporation.  All rights reserved.
$ gcc --version
gcc (GCC) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/jrhammo/GCC/gcc-6.2.0/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --prefix=/home/jrhammo/GCC/gcc-6.2.0 --enable-shared 
--enable-static --enable-threads=posix --enable-checking=release --with-system-zlib 
--enable-__cxa_atexit --enable-languages=c,c++,fortran --with-tune=native 
--enable-bootstrap --enable-lto --enable-gold=yes --enable-ld=yes --disable-multilib
Thread model: posix
gcc version 6.2.0 (GCC) 

Hardware

This is KNL, but I’m treating it as Haswell.

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                272
On-line CPU(s) list:   0-271
Thread(s) per core:    4
Core(s) per socket:    68
Socket(s):             1
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 87
Model name:            Intel(R) Xeon Phi(TM) CPU 7250 @ 1.40GHz
Stepping:              1
CPU MHz:               1396.793
BogoMIPS:              2793.58
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
NUMA node0 CPU(s):     0-271
NUMA node1 CPU(s):     

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 16

Commits related to this issue

Most upvoted comments

Correction: the “ZHBTRD_HB2ST” in the EXTERNAL statement of TESTING/EIG/zchkhb2stg.f appears to be a typo, it should read ZHETRD_HB2ST - but the ZHETRD_SY2SB and ZHETRD_SB2ST mentioned in the EXTERNAL declarations in zdrvst2stg.f and zerrst.f can simply be removed.

As these functions appear to be used only for some regression tests that come with lapack, I think these errors should not prevent building the library. So you will probably only need to add the missing commas from my patch (click on the “1104” in the “Closed” message above and then click on the “Files changed” to see where the commas need to be added if you do not want to checkout a development version from github)