Bug#947827: Missing symbols in -lblas ?

Julien Puydt julien.puydt at laposte.net
Tue Dec 31 10:53:26 GMT 2019


Package: libatlas3-base
Version: 3.10.3-9

I tried to work on the scilab package, but couldn't get very far : for
some reason, the configure script was failing to detect the umfpack
library. But looking in config.log, I found out the reason was that the
BLAS used is atlas, and linking to it gives many undefined references :


configure:30844: gcc -o conftest -g -O2 -fdebug-prefix-
map=/home/jpuydt/Debian/build/scilab-6.0.2=. -fstack-protector-strong
-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-
z,relro -Wl,-z,now -Wl,--no-as-needed conftest.c -lumfpack  -lamd
-lblas -lpthread -ldl -lcurses  -lm -lm >&5
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dgeset'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dgemoveT'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sger'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cgeset'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dtrscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cgemaxnrm'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zgeru'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cgemoveT'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dgemaxnrm'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zcplxdivide'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sgemaxnrm'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_csqtrans'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zGetNB'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dGetNB'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dger'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_ztrscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_ssqtrans'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_ccplxdivide'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dgezero'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cgeru'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sgeset'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sgezero'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_xerbla'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_ctrscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zgemaxnrm'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cgezero'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zgezero'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dgescal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_ccplxinvert'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zgemoveT'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_dsqtrans'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zgeset'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_cGetNB'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sGetNB'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_strscal'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zcplxinvert'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_zsqtrans'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sgemoveT'
/usr/bin/ld: /lib/x86_64-linux-gnu/liblapack.so.3: undefined reference
to `ATL_sgescal'
collect2: error: ld returned 1 exit status

I tried to make a simpler failing test.c:
  int umfpack_di_solve();

  int main()
  {
    return umfpack_di_solve();
  }

compiles with gcc -o test test.c -lumfpack
doesn't compile with gcc -o test test.c -lumfpack -lblas
compiles with gcc -o test test.c -lumfpack -llapack -lblas

Hope it helps,

JP



More information about the debian-science-maintainers mailing list