Skip to content

Armadillo library has undefined symbols #1299

@adamjstewart

Description

@adamjstewart

I'm not sure if anyone else is using Armadillo, but a user discovered that the library I built is missing symbols. I can confirm this by running:

$ ldd -r libarmadillo.so
    linux-vdso.so.1 =>  (0x00007ffdd8b61000)
    libopenblas.so.0 => /blues/gpfs/home/software/spack/opt/spack/linux-centos6-x86_64/gcc-6.1.0/openblas-0.2.18-avx2mvh76o62v5a2dr5u6zz2ewer5p7w/lib/libopenblas.so.0 (0x00002b8a88ba1000)
    libstdc++.so.6 => /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/gcc-5.3.0/gcc-6.1.0-q2zosj3igepi3pjnqt74bwazmptr5gpj/lib64/libstdc++.so.6 (0x00002b8a89b7f000)
    libm.so.6 => /lib64/libm.so.6 (0x00002b8a89f16000)
    libgcc_s.so.1 => /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/gcc-5.3.0/gcc-6.1.0-q2zosj3igepi3pjnqt74bwazmptr5gpj/lib64/libgcc_s.so.1 (0x00002b8a8a19a000)
    libc.so.6 => /lib64/libc.so.6 (0x00002b8a8a3b1000)
    /lib64/ld-linux-x86-64.so.2 (0x00002b8a886f1000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b8a8a745000)
    libgfortran.so.3 => /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/gcc-5.3.0/gcc-6.1.0-q2zosj3igepi3pjnqt74bwazmptr5gpj/lib64/libgfortran.so.3 (0x00002b8a8a963000)
    libquadmath.so.0 => /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/gcc-5.3.0/gcc-6.1.0-q2zosj3igepi3pjnqt74bwazmptr5gpj/lib64/../lib64/libquadmath.so.0 (0x00002b8a8ac8a000)
undefined symbol: zvout_    (./libarmadillo.so)
undefined symbol: dvout_    (./libarmadillo.so)
undefined symbol: cvout_    (./libarmadillo.so)
undefined symbol: dmout_    (./libarmadillo.so)
undefined symbol: smout_    (./libarmadillo.so)
undefined symbol: cmout_    (./libarmadillo.so)
undefined symbol: svout_    (./libarmadillo.so)
undefined symbol: zmout_    (./libarmadillo.so)
undefined symbol: ivout_    (./libarmadillo.so)

I believe these missing symbols come from the ARPACK library, which should be in the RPATH. The CMake build appears to pick up the correct ARPACK installation so I'm not sure what's up. Does anyone have any ideas/suggestions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions