Bug 1287405

Summary: LAPACK static library missing object files
Product: [Fedora] Fedora Reporter: Susi Lehtola <susi.lehtola>
Component: lapackAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: c.david86, fkluknav, tcallawa
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-04 14:45:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Susi Lehtola 2015-12-02 02:41:59 UTC
OpenBLAS doesn't build against lapack 3.6.0, while the same package built against the earlier version (3.5.0).

Link fails with
/tmp/cciQBTEb.o: In function `main':
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:610: undefined reference to `LAPACKE_cgeqpf'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:611: undefined reference to `LAPACKE_cgeqpf_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:666: undefined reference to `LAPACKE_cggsvd'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:667: undefined reference to `LAPACKE_cggsvd_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:668: undefined reference to `LAPACKE_cggsvp'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:669: undefined reference to `LAPACKE_cggsvp_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1114: undefined reference to `LAPACKE_dgeqpf'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1115: undefined reference to `LAPACKE_dgeqpf_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1172: undefined reference to `LAPACKE_dggsvd'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1173: undefined reference to `LAPACKE_dggsvd_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1174: undefined reference to `LAPACKE_dggsvp'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1175: undefined reference to `LAPACKE_dggsvp_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1604: undefined reference to `LAPACKE_sgeqpf'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1605: undefined reference to `LAPACKE_sgeqpf_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1662: undefined reference to `LAPACKE_sggsvd'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1663: undefined reference to `LAPACKE_sggsvd_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1664: undefined reference to `LAPACKE_sggsvp'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:1665: undefined reference to `LAPACKE_sggsvp_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2086: undefined reference to `LAPACKE_zgeqpf'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2087: undefined reference to `LAPACKE_zgeqpf_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2142: undefined reference to `LAPACKE_zggsvd'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2143: undefined reference to `LAPACKE_zggsvd_work'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2144: undefined reference to `LAPACKE_zggsvp'
/builddir/build/BUILD/openblas-0.2.15/serial/exports/linktest.c:2145: undefined reference to `LAPACKE_zggsvp_work'
../libopenblas-r0.2.15.so: undefined reference to `slagsy_'
../libopenblas-r0.2.15.so: undefined reference to `claghe_'
../libopenblas-r0.2.15.so: undefined reference to `dlagsy_'
../libopenblas-r0.2.15.so: undefined reference to `zlagge_'
../libopenblas-r0.2.15.so: undefined reference to `dlagge_'
../libopenblas-r0.2.15.so: undefined reference to `zlaghe_'
../libopenblas-r0.2.15.so: undefined reference to `zlatms_'
../libopenblas-r0.2.15.so: undefined reference to `clagsy_'
../libopenblas-r0.2.15.so: undefined reference to `dlatms_'
../libopenblas-r0.2.15.so: undefined reference to `clagge_'
../libopenblas-r0.2.15.so: undefined reference to `clatms_'
../libopenblas-r0.2.15.so: undefined reference to `slagge_'
../libopenblas-r0.2.15.so: undefined reference to `zlagsy_'
../libopenblas-r0.2.15.so: undefined reference to `slatms_'
collect2: error: ld returned 1 exit status
Makefile:125: recipe for target '../libopenblas-r0.2.15.so' failed


These symbols have disappeared from the static library.

Comment 1 Tom "spot" Callaway 2015-12-02 15:18:11 UTC
I can fix this for now, but upstream LAPACK has deprecated these functions in 3.6.0, so you should file a bug with OpenBLAS to let them know that they cannot depend on them being there for the next LAPACK release.

Comment 2 Tom "spot" Callaway 2015-12-02 17:51:13 UTC
Fixed in lapack-3.6.0-4.fc24.

Comment 3 Susi Lehtola 2015-12-02 19:19:35 UTC
lapacke symbols are now there, but the lapack symbols are still missing

../libopenblas-r0.2.15.so: undefined reference to `slagsy_'
../libopenblas-r0.2.15.so: undefined reference to `claghe_'
../libopenblas-r0.2.15.so: undefined reference to `dlagsy_'
../libopenblas-r0.2.15.so: undefined reference to `zlagge_'
../libopenblas-r0.2.15.so: undefined reference to `dlagge_'
../libopenblas-r0.2.15.so: undefined reference to `zlaghe_'
../libopenblas-r0.2.15.so: undefined reference to `zlatms_'
../libopenblas-r0.2.15.so: undefined reference to `clagsy_'
../libopenblas-r0.2.15.so: undefined reference to `dlatms_'
../libopenblas-r0.2.15.so: undefined reference to `clagge_'
../libopenblas-r0.2.15.so: undefined reference to `clatms_'
../libopenblas-r0.2.15.so: undefined reference to `slagge_'
../libopenblas-r0.2.15.so: undefined reference to `zlagsy_'
../libopenblas-r0.2.15.so: undefined reference to `slatms_'
collect2: error: ld returned 1 exit status

Comment 4 Tom "spot" Callaway 2015-12-04 14:45:38 UTC
This is actually fixed in lapack-3.6.0-5.fc24. I tested a local build of openblas to confirm it. :)