Skip to content

Linking discrepancy compared to manual cmake and makefile invocation #1173

@SylviaZiyuZhang

Description

@SylviaZiyuZhang

Hello!

I am having trouble using scikit-build-core for a C++ project with Intel MKL libraries which require specific linking behaviors to work. I am running into a situation where manually running cmake and make (with Unix Makefile) builds the library and the python module correctly, but installing via pip and scikit-build-core does not.

Details can be found at this repository.
Via the manual build route specified in the repo README, both ctest and Python test for the python module run as expected.
Via pip install -e ., the build experiences mkl issues:

/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libmkl_intel_thread.a(slasr3_par.o): in function `mkl_lapack_slasr3':
      slasr3_omp_gen.f:(.text+0x1d7): undefined reference to `mkl_lapack_xslasr3'
      /usr/bin/ld: slasr3_omp_gen.f:(.text+0x281): undefined reference to `mkl_lapack_xslasr3'
      /usr/bin/ld: slasr3_omp_gen.f:(.text+0x4b77): undefined reference to `mkl_lapack_omp_parallel_enter'
      /usr/bin/ld: slasr3_omp_gen.f:(.text+0x4f43): undefined reference to `mkl_lapack_omp_parallel_exit'
      /usr/bin/ld: slasr3_omp_gen.f:(.text+0x5016): undefined reference to `mkl_lapack_omp_parallel_enter'
      /usr/bin/ld: slasr3_omp_gen.f:(.text+0x5353): undefined reference to `mkl_lapack_omp_parallel_exit
...

When using Ninja as the generator, the error occurs much earlier.

OS: Ubuntu 22.04.5 LTS
CPU:
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8176 CPU @ 2.10GHz

Thank you for your time!

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