0

For my thesis I need to run a routine that measures the equivalent widths of spectral lines (robospect: https://home.ifa.hawaii.edu/users/watersc1/robospect/. I use the most recent version in combination with gsl-1-16, since robospect does not work with gsl-2 or higher. The problem is, when I run the routine i get the error in the title.

Running ldd -d -r /usr/local/lib/libgsl.so.27, I get the following

linux-vdso.so.1 (0x00007fff394e2000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f90cf249000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f90cf021000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f90cf63f000)
undefined symbol: cblas_ctrmv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zswap   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zsymm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cgeru   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sgemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ctrsv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sgemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_srotg   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zgemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cdotu_sub   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dznrm2  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ddot    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_csymm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cher2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zdotu_sub   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sdot    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sdsdot  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cgerc   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_scnrm2  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ctrmm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sscal   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_strmm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zcopy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsyrk   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cherk   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zherk   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zher    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ztrmv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_drotmg  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dswap   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_scopy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_scasum  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zscal   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_drotg   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zdotc_sub   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cscal   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_caxpy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zsyr2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssyr2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_csyr2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ztrsm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ctrsm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssymm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cdotc_sub   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zher2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_saxpy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_idamax  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_snrm2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsdot   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cher    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dger    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cher2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dzasum  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsyr2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssyrk   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_strmv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dgemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cgemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dasum   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsymv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_srotm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sswap   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dtrmv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_isamax  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zhemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zaxpy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dcopy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sasum   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsyr    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_strsm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_drot    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ztrsv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_izamax  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssymv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_chemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zgeru   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dtrsv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_sger    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_srot    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsymm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ztrmm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zdscal  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zher2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssyr    (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dtrmm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zgerc   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_csscal  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dsyr2k  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_chemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dnrm2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_drotm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_icamax  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zgemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zhemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cgemv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ssyr2   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dtbsv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_strsv   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dscal   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dgemm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_srotmg  (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_dtrsm   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_ccopy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_zsyrk   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_cswap   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_daxpy   (/usr/local/lib/libgsl.so.27)
undefined symbol: cblas_csyrk   (/usr/local/lib/libgsl.so.27)

Everything seems to be installed correctly and before my recent update to Ubuntu 22.04.1 LTS it worked as intended. Is there anything I can do? I am in no way a pro when it comes to things like that. Thank you very much in advance!

1 Answers1

0

Sorry for not catching this earlier but it is likely your error is to only link with -lgsl when the GSL documentation and examples make it clear you need both -lgsl -lgslcblas:

$ gcc -Wall -o gsl_spline_example gsl_spline_example.c -lgsl -lgslcblas -lm                  
$ ldd gsl_spline_example
        linux-vdso.so.1 (0x00007ffc51d16000)        
        libgsl.so.27 => /lib/x86_64-linux-gnu/libgsl.so.27 (0x00007f8e9e546000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8e9e45f000)                                
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8e9e237000)                                
        libgslcblas.so.0 => /lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007f8e9e1f5000)                  
        /lib64/ld-linux-x86-64.so.2 (0x00007f8e9e82d000)                                                 
$ ./gsl_spline_example                  
#m=0,S=0                                           
0.000000 1.013392               
0.075377 0.980953                                   
0.150754 1.136930    
[ rest omitted for brevity ]
Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725