Skip to content

Linking error on macOS 14 / arm64 #100

@barracuda156

Description

@barracuda156
Archiving lib/arm-apple-darwin23.2.0/libflame.a
Dynamically linking lib/arm-apple-darwin23.2.0/libflame.dylib
ld: Undefined symbols:
  _caxpy_, referenced from:
      _bl1_caxpy in libflame.a[4](bl1_axpy.o)
  _ccopy_, referenced from:
      _bl1_ccopy in libflame.a[13](bl1_copy.o)
  _cgemm_, referenced from:
      _bl1_cgemm_blas in libflame.a[44](bl1_gemm.o)
  _cgemv_, referenced from:
      _bl1_cgemv_blas in libflame.a[32](bl1_gemv.o)
  _cgerc_, referenced from:
      _bl1_cger in libflame.a[33](bl1_ger.o)
      _bl1_cgerc_blas in libflame.a[33](bl1_ger.o)
  _cgeru_, referenced from:
      _bl1_cger in libflame.a[33](bl1_ger.o)
      _bl1_cgeru_blas in libflame.a[33](bl1_ger.o)
  _chemm_, referenced from:
      _bl1_chemm_blas in libflame.a[45](bl1_hemm.o)
  _chemv_, referenced from:
      _bl1_chemv_blas in libflame.a[34](bl1_hemv.o)
  _cher2_, referenced from:
      _bl1_cher2_blas in libflame.a[36](bl1_her2.o)
  _cher2k_, referenced from:
      _bl1_cher2k_blas in libflame.a[46](bl1_her2k.o)
  _cher_, referenced from:
      _bl1_cher_blas in libflame.a[35](bl1_her.o)
  _cherk_, referenced from:
      _bl1_cherk_blas in libflame.a[47](bl1_herk.o)
  _cscal_, referenced from:
      _bl1_cscal in libflame.a[25](bl1_scal.o)
  _csscal_, referenced from:
      _bl1_csscal in libflame.a[25](bl1_scal.o)
  _cswap_, referenced from:
      _bl1_cswap in libflame.a[29](bl1_swap.o)
  _csymm_, referenced from:
      _bl1_csymv_blas in libflame.a[37](bl1_symv.o)
      _bl1_csymm_blas in libflame.a[48](bl1_symm.o)
  _csyr2k_, referenced from:
      _bl1_csyr2_blas in libflame.a[39](bl1_syr2.o)
      _bl1_csyr2k_blas in libflame.a[49](bl1_syr2k.o)
  _csyrk_, referenced from:
      _bl1_csyr_blas in libflame.a[38](bl1_syr.o)
      _bl1_csyrk_blas in libflame.a[50](bl1_syrk.o)
  _ctrmm_, referenced from:
      _bl1_ctrmm_blas in libflame.a[51](bl1_trmm.o)
  _ctrmv_, referenced from:
      _bl1_ctrmv_blas in libflame.a[40](bl1_trmv.o)
  _ctrsm_, referenced from:
      _bl1_ctrsm_blas in libflame.a[53](bl1_trsm.o)
  _ctrsv_, referenced from:
      _bl1_ctrsv_blas in libflame.a[42](bl1_trsv.o)
  _dasum_, referenced from:
      _bl1_dasum in libflame.a[3](bl1_asum.o)
  _daxpy_, referenced from:
      _bl1_daxpy in libflame.a[4](bl1_axpy.o)
  _dcopy_, referenced from:
      _bl1_dcopy in libflame.a[13](bl1_copy.o)
  _ddot_, referenced from:
      _bl1_ddot in libflame.a[18](bl1_dot.o)
  _dgemm_, referenced from:
      _bl1_dgemm_blas in libflame.a[44](bl1_gemm.o)
  _dgemv_, referenced from:
      _bl1_dgemv_blas in libflame.a[32](bl1_gemv.o)
  _dger_, referenced from:
      _bl1_dger in libflame.a[33](bl1_ger.o)
      _bl1_dger_blas in libflame.a[33](bl1_ger.o)
  _dnrm2_, referenced from:
      _bl1_dnrm2 in libflame.a[24](bl1_nrm2.o)
  _dscal_, referenced from:
      _bl1_dscal in libflame.a[25](bl1_scal.o)
  _dswap_, referenced from:
      _bl1_dswap in libflame.a[29](bl1_swap.o)
  _dsymm_, referenced from:
      _bl1_dsymm_blas in libflame.a[48](bl1_symm.o)
  _dsymv_, referenced from:
      _bl1_dsymv_blas in libflame.a[37](bl1_symv.o)
  _dsyr2_, referenced from:
      _bl1_dsyr2_blas in libflame.a[39](bl1_syr2.o)
  _dsyr2k_, referenced from:
      _bl1_dsyr2k_blas in libflame.a[49](bl1_syr2k.o)
  _dsyr_, referenced from:
      _bl1_dsyr_blas in libflame.a[38](bl1_syr.o)
  _dsyrk_, referenced from:
      _bl1_dsyrk_blas in libflame.a[50](bl1_syrk.o)
  _dtrmm_, referenced from:
      _bl1_dtrmm_blas in libflame.a[51](bl1_trmm.o)
  _dtrmv_, referenced from:
      _bl1_dtrmv_blas in libflame.a[40](bl1_trmv.o)
  _dtrsm_, referenced from:
      _bl1_dtrsm_blas in libflame.a[53](bl1_trsm.o)
  _dtrsv_, referenced from:
      _bl1_dtrsv_blas in libflame.a[42](bl1_trsv.o)
  _dzasum_, referenced from:
      _bl1_zasum in libflame.a[3](bl1_asum.o)
  _dznrm2_, referenced from:
      _bl1_znrm2 in libflame.a[24](bl1_nrm2.o)
  _icamax_, referenced from:
      _bl1_camax in libflame.a[2](bl1_amax.o)
  _idamax_, referenced from:
      _bl1_damax in libflame.a[2](bl1_amax.o)
  _isamax_, referenced from:
      _bl1_samax in libflame.a[2](bl1_amax.o)
  _izamax_, referenced from:
      _bl1_zamax in libflame.a[2](bl1_amax.o)
  _sasum_, referenced from:
      _bl1_sasum in libflame.a[3](bl1_asum.o)
  _saxpy_, referenced from:
      _bl1_saxpy in libflame.a[4](bl1_axpy.o)
  _scasum_, referenced from:
      _bl1_casum in libflame.a[3](bl1_asum.o)
  _scnrm2_, referenced from:
      _bl1_cnrm2 in libflame.a[24](bl1_nrm2.o)
  _scopy_, referenced from:
      _bl1_scopy in libflame.a[13](bl1_copy.o)
  _sdot_, referenced from:
      _bl1_sdot in libflame.a[18](bl1_dot.o)
  _sgemm_, referenced from:
      _bl1_sgemm_blas in libflame.a[44](bl1_gemm.o)
  _sgemv_, referenced from:
      _bl1_sgemv_blas in libflame.a[32](bl1_gemv.o)
  _sger_, referenced from:
      _bl1_sger in libflame.a[33](bl1_ger.o)
      _bl1_sger_blas in libflame.a[33](bl1_ger.o)
  _snrm2_, referenced from:
      _bl1_snrm2 in libflame.a[24](bl1_nrm2.o)
  _sscal_, referenced from:
      _bl1_sscal in libflame.a[25](bl1_scal.o)
  _sswap_, referenced from:
      _bl1_sswap in libflame.a[29](bl1_swap.o)
  _ssymm_, referenced from:
      _bl1_ssymm_blas in libflame.a[48](bl1_symm.o)
  _ssymv_, referenced from:
      _bl1_ssymv_blas in libflame.a[37](bl1_symv.o)
  _ssyr2_, referenced from:
      _bl1_ssyr2_blas in libflame.a[39](bl1_syr2.o)
  _ssyr2k_, referenced from:
      _bl1_ssyr2k_blas in libflame.a[49](bl1_syr2k.o)
  _ssyr_, referenced from:
      _bl1_ssyr_blas in libflame.a[38](bl1_syr.o)
  _ssyrk_, referenced from:
      _bl1_ssyrk_blas in libflame.a[50](bl1_syrk.o)
  _strmm_, referenced from:
      _bl1_strmm_blas in libflame.a[51](bl1_trmm.o)
  _strmv_, referenced from:
      _bl1_strmv_blas in libflame.a[40](bl1_trmv.o)
  _strsm_, referenced from:
      _bl1_strsm_blas in libflame.a[53](bl1_trsm.o)
  _strsv_, referenced from:
      _bl1_strsv_blas in libflame.a[42](bl1_trsv.o)
  _zaxpy_, referenced from:
      _bl1_zaxpy in libflame.a[4](bl1_axpy.o)
  _zcopy_, referenced from:
      _bl1_zcopy in libflame.a[13](bl1_copy.o)
  _zdscal_, referenced from:
      _bl1_zdscal in libflame.a[25](bl1_scal.o)
  _zgemm_, referenced from:
      _bl1_zgemm_blas in libflame.a[44](bl1_gemm.o)
  _zgemv_, referenced from:
      _bl1_zgemv_blas in libflame.a[32](bl1_gemv.o)
  _zgerc_, referenced from:
      _bl1_zger in libflame.a[33](bl1_ger.o)
      _bl1_zgerc_blas in libflame.a[33](bl1_ger.o)
  _zgeru_, referenced from:
      _bl1_zger in libflame.a[33](bl1_ger.o)
      _bl1_zgeru_blas in libflame.a[33](bl1_ger.o)
  _zhemm_, referenced from:
      _bl1_zhemm_blas in libflame.a[45](bl1_hemm.o)
  _zhemv_, referenced from:
      _bl1_zhemv_blas in libflame.a[34](bl1_hemv.o)
  _zher2_, referenced from:
      _bl1_zher2_blas in libflame.a[36](bl1_her2.o)
  _zher2k_, referenced from:
      _bl1_zher2k_blas in libflame.a[46](bl1_her2k.o)
  _zher_, referenced from:
      _bl1_zher_blas in libflame.a[35](bl1_her.o)
  _zherk_, referenced from:
      _bl1_zherk_blas in libflame.a[47](bl1_herk.o)
  _zscal_, referenced from:
      _bl1_zscal in libflame.a[25](bl1_scal.o)
  _zswap_, referenced from:
      _bl1_zswap in libflame.a[29](bl1_swap.o)
  _zsymm_, referenced from:
      _bl1_zsymv_blas in libflame.a[37](bl1_symv.o)
      _bl1_zsymm_blas in libflame.a[48](bl1_symm.o)
  _zsyr2k_, referenced from:
      _bl1_zsyr2_blas in libflame.a[39](bl1_syr2.o)
      _bl1_zsyr2k_blas in libflame.a[49](bl1_syr2k.o)
  _zsyrk_, referenced from:
      _bl1_zsyr_blas in libflame.a[38](bl1_syr.o)
      _bl1_zsyrk_blas in libflame.a[50](bl1_syrk.o)
  _ztrmm_, referenced from:
      _bl1_ztrmm_blas in libflame.a[51](bl1_trmm.o)
  _ztrmv_, referenced from:
      _bl1_ztrmv_blas in libflame.a[40](bl1_trmv.o)
  _ztrsm_, referenced from:
      _bl1_ztrsm_blas in libflame.a[53](bl1_trsm.o)
  _ztrsv_, referenced from:
      _bl1_ztrsv_blas in libflame.a[42](bl1_trsv.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/arm-apple-darwin23.2.0/libflame.dylib] Error 1

Some linker flags are missing?

P. S. Here is the config:

libflame configuration summary

distribution path............................... : .

library version................................. : 5.2.0

shared object (so) version (major).............. : 1
shared object (so) version (minor.build)........ : 0.0

build system type............................... : arm-apple-darwin23.2.0
host system type................................ : arm-apple-darwin23.2.0

OS name......................................... : Darwin
OS version...................................... : 23.2.0

Enable verbose make output...................... : no

Enable maximum argument list hack............... : yes

C compiler...................................... : /usr/bin/clang
C compiler vendor............................... : clang
Library archiver................................ : ar
Library archive indexer......................... : ranlib
Python interpreter.............................. : python3

Enable Windows build (experimental)............. : no

Create static library........................... : yes
Create shared (dynamically-linked) library...... : yes

Enable non-critical code........................ : yes

Enable built-in BLAS implementation............. : no

Enable lapack2flame............................. : no
Enable lapack2flash (experimental).............. : no
Enable legacy lapack............................ : no
Enable external LAPACK for subproblems.......... : no
Enable external LAPACK interfaces............... : no

Enable multithreading support................... : yes
   Threading implementation..................... : POSIX threads

Enable SuperMatrix support...................... : no

Enable GPU support.............................. : no

Enable HIP support.............................. : no

Enable SCC support.............................. : no

Enable support for Texas Instruments' DSP....... : no

Enable vector intrinsics........................ : no

Enable memory alignment......................... : no

C compiler language flags....................... : 

Enable compiler optimizations................... : yes
   C compiler optimization flags................ : 
Enable compiler warnings........................ : yes
   C compiler warning flags..................... : 
Enable compiler debugging symbols............... : no
   C compiler debug flags....................... : 
Enable compiler profiling symbols............... : no
   C compiler profiling flags................... : 
Enable LTO...................................... : no

User-specified CFLAGS (prepended)............... : -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64

Enable internal error checking.................. : yes
   Internal error checking level................ : full

Enable memory leak counter...................... : no

Enable level-3 BLAS front-end control trees..... : no

Enable BLIS use of FLA_malloc()................. : yes

Enable interfaces to internal libgoto symbols... : no

Enable interfaces to CBLAS...................... : no

Enable user-defined default m blocksize......... : no
Enable user-defined default k blocksize......... : no
Enable user-defined default n blocksize......... : no

Enable portable timer........................... : yes
   Portable timer function...................... : clock_gettime()

Autodetect Fortran linker flags................. : yes
   Fortran linker flags......................... :  -L/opt/local/lib -L/opt/local/lib/gcc13/gcc/arm64-apple-darwin23/13.2.0 -L/opt/local/lib/gcc13/gcc/arm64-apple-darwin23/13.2.0/../../.. -lgfortran -lemutls_w -lquadmath
Autodetect Fortran name-mangling................ : yes
   Unmangled name............................... : foobar
   Mangled name................................. : foobar_

Installation directories
   prefix....................................... : /opt/local
   exec_prefix.................................. : ${prefix}

   libraries will be installed in............... : ${exec_prefix}/lib
   header files will be installed in............ : ${prefix}/include

Configuration complete!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions