Skip to content

Build with vcpkg dlib - lapack linker error #23109

@andreear-23

Description

@andreear-23

Describe the bug
I have a C++ project that requires dlib and other libraries. The project is being built using CMake so I'm including dlib like this:
find_package(dlib REQUIRED)
If I try to compile this project, I end up with linker errors regarding lapack (I think). See the below failure logs.
If I include dlib into my project using dependency fetching, like below, the project compiles successfully.

include(FetchContent)
 FetchContent_Declare(dlib
     GIT_REPOSITORY https://github.com/davisking/dlib.git
     GIT_TAG        v19.18
 )
 FetchContent_MakeAvailable(dlib)

Environment

  • OS: Linux
  • compiler version: GNU 9.3.0

To Reproduce
Steps to reproduce the behavior:

  1. ./vcpkg install dlib:x64-linux
  2. Build and compile project

Expected behavior
I expect the project to correctly compile.
[100%] Built target TestProject

Failure logs

/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dgesdd.f.o): in function `dgesdd_':                                                                                                           
dgesdd.f:(.text+0xba8): undefined reference to `dgemm_'                                                                                                                                                                           
/usr/bin/ld: dgesdd.f:(.text+0x144e): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesdd.f:(.text+0x21bd): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesdd.f:(.text+0x255d): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesdd.f:(.text+0x3309): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dgesdd.f.o):dgesdd.f:(.text+0x3819): more undefined references to `dgemm_' follow                                                             
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dgesvd.f.o): in function `dgesvd_':                                                                                                           
dgesvd.f:(.text+0x992): undefined reference to `_gfortran_concat_string'                                                                                                                                                          
/usr/bin/ld: dgesvd.f:(.text+0xc26): undefined reference to `_gfortran_concat_string'                                                                                                                                             
/usr/bin/ld: dgesvd.f:(.text+0x12d2): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesvd.f:(.text+0x2252): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesvd.f:(.text+0x2dda): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesvd.f:(.text+0x35e2): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: dgesvd.f:(.text+0x43d3): undefined reference to `dgemm_'                                                                                                                                                             
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dgesvd.f.o):dgesvd.f:(.text+0x478a): more undefined references to `dgemm_' follow                                                             
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dormbr.f.o): in function `dormbr_':
dormbr.f:(.text+0x3b4): undefined reference to `_gfortran_concat_string'                                                                                                                                                          
/usr/bin/ld: dormbr.f:(.text+0x579): undefined reference to `_gfortran_concat_string'                                                                                                                                             
/usr/bin/ld: dormbr.f:(.text+0x6a1): undefined reference to `_gfortran_concat_string'                                                                                                                                             
/usr/bin/ld: dormbr.f:(.text+0x6e9): undefined reference to `_gfortran_concat_string'                                                                                                                                             
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dormlq.f.o): in function `dormlq_':
dormlq.f:(.text+0x2d5): undefined reference to `_gfortran_concat_string'                                                                                                                                                          
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dormlq.f.o):dormlq.f:(.text+0x772): more undefined references to `_gfortran_concat_string' follow
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dbdsdc.f.o): in function `dbdsdc_':
dbdsdc.f:(.text+0x45f): undefined reference to `dswap_'                                                          
/usr/bin/ld: dbdsdc.f:(.text+0x48c): undefined reference to `dswap_'                                                                                                                                                              
/usr/bin/ld: dbdsdc.f:(.text+0xbb1): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: dbdsdc.f:(.text+0xbf5): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dbdsqr.f.o): in function `dbdsqr_':
dbdsqr.f:(.text+0x6c3): undefined reference to `drot_'                                                           
/usr/bin/ld: dbdsqr.f:(.text+0x775): undefined reference to `drot_'                                                                                                                                                               
/usr/bin/ld: dbdsqr.f:(.text+0x80a): undefined reference to `drot_'                                                                                                                                                               
/usr/bin/ld: dbdsqr.f:(.text+0x8cc): undefined reference to `dscal_'                                                                                                                                                              
/usr/bin/ld: dbdsqr.f:(.text+0x9b8): undefined reference to `dswap_'                                                                                                                                                              
/usr/bin/ld: dbdsqr.f:(.text+0xa1b): undefined reference to `dswap_'                                                                                                                                                              
/usr/bin/ld: dbdsqr.f:(.text+0xa4f): undefined reference to `dswap_'                                                                                                                                                              
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dlasd2.f.o): in function `dlasd2_':
dlasd2.f:(.text+0x7ad): undefined reference to `drot_'                                                           
/usr/bin/ld: dlasd2.f:(.text+0x7de): undefined reference to `drot_'                                                                                                                                                               
/usr/bin/ld: dlasd2.f:(.text+0xa9d): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: dlasd2.f:(.text+0xacb): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: dlasd2.f:(.text+0xbc2): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: dlasd2.f:(.text+0xdd0): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: dlasd2.f:(.text+0xe3e): undefined reference to `dcopy_'                                                                                                                                                              
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dlasd2.f.o):dlasd2.f:(.text+0xeaa): more undefined references to `dcopy_' follow
/usr/bin/ld: /home/andreear/workspace/git/vcpkg/installed/x64-linux/lib/liblapack.a(dlasd3.f.o): in function `dlasd3_':
dlasd3.f:(.text+0x2a1): undefined reference to `dnrm2_'                                                          
/usr/bin/ld: dlasd3.f:(.text+0x70f): undefined reference to `dnrm2_'                                                                                                                                                              
/usr/bin/ld: dlasd3.f:(.text+0x893): undefined reference to `dgemm_'                                                                                                                                                              
/usr/bin/ld: dlasd3.f:(.text+0x8d7): undefined reference to `dcopy_'                                                                                                          

Additional context
Add any other context about the problem here.

Metadata

Metadata

Labels

category:port-bugThe issue is with a library, which is something the port should already support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions