flame / libflame

High-performance object-based library for DLA computations
Other
235 stars 83 forks source link

Undefined symbols in shared library #24

Closed adamjstewart closed 5 years ago

adamjstewart commented 5 years ago

When I try to build either the 5.2.0 release or the master branch on CentOS 7 with either GCC 7.2.0 or Intel 18.0.1, the installation completes, but the resulting library is missing dozens of symbols. The library is also not executable.

$ ldd -r /home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so
ldd: warning: you do not have execution permission for `/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so'
    linux-vdso.so.1 =>  (0x00007ffce2388000)
    libgfortran.so.4 => /usr/local/gcc/7.2.0/lib64/libgfortran.so.4 (0x00002b75731b1000)
    libm.so.6 => /lib64/libm.so.6 (0x00002b7573583000)
    libquadmath.so.0 => /usr/local/gcc/7.2.0/lib64/libquadmath.so.0 (0x00002b7573885000)
    libc.so.6 => /lib64/libc.so.6 (0x00002b7573ac4000)
    libgcc_s.so.1 => /usr/local/gcc/7.2.0/lib/../lib64/libgcc_s.so.1 (0x00002b7573e91000)
    /lib64/ld-linux-x86-64.so.2 (0x00002b7572088000)
undefined symbol: cgemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cscal_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sdot_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtrmm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhpr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: snrm2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zherk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sspmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cswap_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dswap_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dgemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztrmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zgbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctbsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dger_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtpsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sspr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cher_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: caxpy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztpsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zdrot_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zscal_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sswap_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctpsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dzasum_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: daxpy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctrsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: izamax_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sasum_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsymm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhpr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: stpsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cgbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cgemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssyr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: saxpy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: drotm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dnrm2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctrmm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztbsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtrsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zdotu_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsyr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: srot_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ccopy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zgeru_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: csrot_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: csyr2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctrsm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sscal_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cgerc_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dcopy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: scnrm2_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zgemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sgbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sspr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztrsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cgeru_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dgbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dscal_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chpr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zdscal_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: strmm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssymm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zgemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ddot_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: isamax_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zsyrk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: stbsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: strsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: scasum_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sgemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: scopy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zdotc_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsyr2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsyrk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: csscal_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dasum_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssyr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssyr2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dspr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zher2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtrsm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: idamax_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtbsv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctrmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: strmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zaxpy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zher_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssymv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtrmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zgerc_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chemm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zher2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zswap_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dspmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zsymm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztrmm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dtbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dgemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sgemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chpr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cdotu_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ctpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cher2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: csymm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztrsm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cherk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cdotc_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: csyrk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: stpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chpmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: sger_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: cher2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zsyr2k_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: strsm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dznrm2_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: stbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: chbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsyr2_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zcopy_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dspr_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: icamax_   (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: dsymv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: zhemv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ssyrk_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: srotm_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: drot_ (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)
undefined symbol: ztbmv_    (/home/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/libflame-master-jnhuuve5add5y7ion655bizjmr3s6jui/lib/libflame.so)

I'm passing the following options to configure:

--enable-lapack2flame --enable-static-build --enable-dynamic-build --disable-debug --enable-multithreading=no --disable-supermatrix --enable-max-arg-list-hack

For additional info, see:

fgvanzee commented 5 years ago

@adamjstewart It looks like all of the undefined symbols in your output are those found in the BLAS. libflame does not try to provide BLAS (at least not by default).

As for the library not being executable, are you referring to the execution bit of the user's file permissions? As in, the third character in rwxrwxrwx?

fgvanzee commented 5 years ago

A follow-up on the execution bit issue. I can't seem to reproduce it:

$ ./configure --enable-lapack2flame --enable-static-build --enable-dynamic-build --disable-debug --enable-multithreading=no --disable-supermatrix --enable-max-arg-list-hack
$ make -j5
$ ls -l lib/x86_64-unknown-linux-gnu/
total 40900
-rw-r--r-- 1 field dept 26519656 Sep 23 14:10 libflame.a
-rwxr-xr-x 1 field dept 15183376 Sep 23 14:10 libflame.so
lrwxrwxrwx 1 field dept       11 Sep 23 14:10 libflame.so.1 -> libflame.so

Notice that libflame.so has execute privileges (for user, group, and other).

adamjstewart commented 5 years ago

@fgvanzee Yes, I'm referring to the execution bit. Here are the permissions when I build the master branch:

$ ls -l lib
total 38M
-rw-r--r-- 1 adamjs5 19fa-astr510-eng 24M Sep 18 22:48 libflame.a
lrwxrwxrwx 1 adamjs5 19fa-astr510-eng  17 Sep 18 22:48 libflame.so -> libflame.so.1.0.0
lrwxrwxrwx 1 adamjs5 19fa-astr510-eng  17 Sep 18 22:48 libflame.so.1 -> libflame.so.1.0.0
-rw-r--r-- 1 adamjs5 19fa-astr510-eng 14M Sep 18 22:48 libflame.so.1.0.0

Are you saying that libflame should be built with blas as a dependency, or that it's perfectly normal (and expected) for the library to be missing symbols? I'm trying to build NumPy with common BLAS/LAPACK providers and I'm wondering if NumPy built with only libflame (no BLAS) should work or not.

fgvanzee commented 5 years ago

Hmm, I wasn't installing libflame previously. Once I install it, I see what you mean. So I'll look into that and get back to you.

As for the BLAS dependency: yes, libflame (under normal circumstances) depends on a BLAS library.

fgvanzee commented 5 years ago

@adamjstewart Okay, I've committed 4356779, which will hopefully fix your issue with missing execute bits at install-time.

adamjstewart commented 5 years ago

@fgvanzee That does indeed solve the execute bit problem!

I tried adding a dependency on BLAS, but I still see those undefined symbols, even when I build with RPATH and set LD_LIBRARY_PATH. I tried both BLIS and OpenBLAS.

adamjstewart commented 5 years ago

For the record, I can build NumPy with BLIS + libflame without any issues. All unit tests pass, and the resulting libraries are linked correctly. I'm still curious why libflame shows all those undefined symbols, but I only needed it for NumPy.

fgvanzee commented 5 years ago

For the record, I can build NumPy with BLIS + libflame without any issues. All unit tests pass, and the resulting libraries are linked correctly. I'm still curious why libflame shows all those undefined symbols, but I only needed it for NumPy.

So in the end, you are able to link what you wanted to link? If so, then great; please close this issue at your convenience.

The undefined symbols are likely the result of the fact that we don't make the linker aware that libflame has a secondary dependency on a BLAS library [1]. The reason for this is mostly because there is no standard name for BLAS libraries (e.g. libblas.so). Since the names can vary by implementation (libblas.so, libopenblas.so, libblis.so, libwhatever.so), we can't predict which secondary dependency to name at shared library link-time. (Basically, the convention is that we require the user to choose how to satisfy the secondary dependency.)

[1] http://www.kaizou.org/2015/01/linux-libraries/

adamjstewart commented 5 years ago

Thanks, let me try adding something like LIBS=-lblis to the build.

adamjstewart commented 5 years ago

LIBS=-lblis did indeed solve the issue! Thanks for all of your help.

surak commented 3 years ago

Thanks, let me try adding something like LIBS=-lblis to the build.

Where? How?

adamjstewart commented 3 years ago

@surak I added it to the configure line:

$ ./configure LIBS=-lblis ...

If you use a different BLAS library other than BLIS, you'll need to add the link flag for that specific library.