Skip to content

ld linker error for cgcode on newest xcode/llvm version 13.0.0 #63

@BJWiley233

Description

@BJWiley233

We can build static libraries but when building and linking shared libraries we get the "canonical" ld: symbol(s) not found for architecture x86_64 errors.

example invocation of compiling a cgcode src:

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx11.0.0 -Wundef-prefix=TARGET_OS_ -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -Werror=implicit-function-declaration -emit-obj -mrelax-all --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name depsln.c -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-strict-return -fno-rounding-math -munwind-tables -target-sdk-version=12.1 -fvisibility-inlines-hidden-static-local-var -target-cpu penryn -tune-cpu generic -debugger-tuning=lldb -target-linker-version 711 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0 -dependency-file CMakeFiles/cgcode.dir/depsln.c.o.d -skip-unused-modulemap-deps -MT punc/src/cgcode/CMakeFiles/cgcode.dir/depsln.c.o -sys-header-deps -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk -D cgcode_EXPORTS -I /Users/brian/tools/FETK/punc/../maloc/src/base -I /Users/brian/tools/FETK/punc/../maloc/src/psh -I /Users/brian/tools/FETK/punc/../maloc/src/vsh -I /Users/brian/tools/FETK/punc/../maloc/src/vsys -I /Users/brian/tools/FETK/punc/src/vf2c -I /Users/brian/tools/FETK/punc/src/vf2c/punc -I /Users/brian/tools/FETK/punc/src/cgcode -I /usr/local/Cellar/libomp/13.0.0/include -I /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/local/include -internal-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-final-dtor-non-final-class -Wno-extra-semi-stmt -Wno-misleading-indentation -Wno-quoted-include-in-framework-header -Wno-implicit-fallthrough -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-elaborated-enum-base -fdebug-compilation-dir /Users/brian/tools/FETK/build/punc/src/cgcode -ferror-limit 19 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fmax-type-align=16 -fcommon -fcolor-diagnostics -clang-vendor-feature=+nullptrToBoolConversion -clang-vendor-feature=+messageToSelfInClassMethodIdReturnType -clang-vendor-feature=+disableInferNewAvailabilityFromInit -clang-vendor-feature=+disableNeonImmediateRangeCheck -clang-vendor-feature=+disableNonDependentMemberExprInCurrentInstantiation -fno-odr-hash-protocols -clang-vendor-feature=+revert09abecef7bbf -mllvm -disable-aligned-alloc-awareness=1 -mllvm -enable-dse-memoryssa=0 -o CMakeFiles/cgcode.dir/depsln.c.o -x c /Users/brian/tools/FETK/punc/src/cgcode/depsln.c

And invocation of linker for dylib:

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -dylib -arch x86_64 -dylib_install_name @rpath/libcgcode.dylib -platform_version macos 11.0.0 12.1 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk -o libcgcode.dylib -L/usr/local/Cellar/libomp/13.0.0/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib -L/usr/local/opt/tcl-tk/lib -L/usr/local/opt/tcl-tk/lib -L. -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib -lomp -headerpad_max_install_names CMakeFiles/cgcode.dir/scgdrv.c.o CMakeFiles/cgcode.dir/scg.c.o CMakeFiles/cgcode.dir/scr.c.o CMakeFiles/cgcode.dir/scrind.c.o CMakeFiles/cgcode.dir/spcg.c.o CMakeFiles/cgcode.dir/scgnr.c.o CMakeFiles/cgcode.dir/scgne.c.o CMakeFiles/cgcode.dir/spcgnr.c.o CMakeFiles/cgcode.dir/spcgne.c.o CMakeFiles/cgcode.dir/sppcg.c.o CMakeFiles/cgcode.dir/spcgca.c.o CMakeFiles/cgcode.dir/sdpchb.c.o CMakeFiles/cgcode.dir/scbfix.c.o CMakeFiles/cgcode.dir/sckchb.c.o CMakeFiles/cgcode.dir/scgchk.c.o CMakeFiles/cgcode.dir/sonest.c.o CMakeFiles/cgcode.dir/msstop.c.o CMakeFiles/cgcode.dir/r1mach.c.o CMakeFiles/cgcode.dir/sratqr.c.o CMakeFiles/cgcode.dir/dcgdrv.c.o CMakeFiles/cgcode.dir/dcg.c.o CMakeFiles/cgcode.dir/dcr.c.o CMakeFiles/cgcode.dir/dcrind.c.o CMakeFiles/cgcode.dir/dpcg.c.o CMakeFiles/cgcode.dir/dcgnr.c.o CMakeFiles/cgcode.dir/dcgne.c.o CMakeFiles/cgcode.dir/dpcgnr.c.o CMakeFiles/cgcode.dir/dpcgne.c.o CMakeFiles/cgcode.dir/dppcg.c.o CMakeFiles/cgcode.dir/dpcgca.c.o CMakeFiles/cgcode.dir/ddpchb.c.o CMakeFiles/cgcode.dir/dcbfix.c.o CMakeFiles/cgcode.dir/dckchb.c.o CMakeFiles/cgcode.dir/dcgchk.c.o CMakeFiles/cgcode.dir/donest.c.o CMakeFiles/cgcode.dir/mdstop.c.o CMakeFiles/cgcode.dir/d1mach.c.o CMakeFiles/cgcode.dir/dratqr.c.o CMakeFiles/cgcode.dir/depsln.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/lib/darwin/libclang_rt.osx.a

Gives these errors:

Undefined symbols for architecture x86_64:
  "_daxpy_", referenced from:
      _dcg_ in dcg.c.o
      _dcr_ in dcr.c.o
      _dpcg_ in dpcg.c.o
      _dcgnr_ in dcgnr.c.o
      _dcgne_ in dcgne.c.o
      _dpcgnr_ in dpcgnr.c.o
      _dpcgne_ in dpcgne.c.o
      ...
  "_dcopy_", referenced from:
      _dcg_ in dcg.c.o
      _dcr_ in dcr.c.o
      _dpcgca_ in dpcgca.c.o
      _dcbfix_ in dcbfix.c.o
  "_ddot_", referenced from:
      _dcg_ in dcg.c.o
      _dcr_ in dcr.c.o
      _dcrind_ in dcrind.c.o
      _dpcg_ in dpcg.c.o
      _dppcg_ in dppcg.c.o
      _dpcgca_ in dpcgca.c.o
  "_dnrm2_", referenced from:
      _dcg_ in dcg.c.o
      _dcr_ in dcr.c.o
      _dcrind_ in dcrind.c.o
      _dpcg_ in dpcg.c.o
      _dcgnr_ in dcgnr.c.o
      _dcgne_ in dcgne.c.o
      _dpcgnr_ in dpcgnr.c.o
      ...
  "_do_fio", referenced from:
      _scgdrv_ in scgdrv.c.o
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _scrind_ in scrind.c.o
      _spcg_ in spcg.c.o
      _scgnr_ in scgnr.c.o
      _scgne_ in scgne.c.o
      ...
  "_e_wsfe", referenced from:
      _scgdrv_ in scgdrv.c.o
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _scrind_ in scrind.c.o
      _spcg_ in spcg.c.o
      _scgnr_ in scgnr.c.o
      _scgne_ in scgne.c.o
      ...
  "_pow_dd", referenced from:
      _sdpchb_ in sdpchb.c.o
      _ddpchb_ in ddpchb.c.o
  "_pow_di", referenced from:
      _ddpchb_ in ddpchb.c.o
  "_pow_ri", referenced from:
      _sdpchb_ in sdpchb.c.o
  "_s_stop", referenced from:
      _sckchb_ in sckchb.c.o
      _scgchk_ in scgchk.c.o
      _dckchb_ in dckchb.c.o
      _dcgchk_ in dcgchk.c.o
  "_s_wsfe", referenced from:
      _scgdrv_ in scgdrv.c.o
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _scrind_ in scrind.c.o
      _spcg_ in spcg.c.o
      _scgnr_ in scgnr.c.o
      _scgne_ in scgne.c.o
      ...
  "_saxpy_", referenced from:
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _spcg_ in spcg.c.o
      _scgnr_ in scgnr.c.o
      _scgne_ in scgne.c.o
      _spcgnr_ in spcgnr.c.o
      _spcgne_ in spcgne.c.o
      ...
  "_scopy_", referenced from:
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _spcgca_ in spcgca.c.o
      _scbfix_ in scbfix.c.o
  "_sdot_", referenced from:
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _scrind_ in scrind.c.o
      _spcg_ in spcg.c.o
      _sppcg_ in sppcg.c.o
      _spcgca_ in spcgca.c.o
  "_snrm2_", referenced from:
      _scg_ in scg.c.o
      _scr_ in scr.c.o
      _scrind_ in scrind.c.o
      _spcg_ in spcg.c.o
      _scgnr_ in scgnr.c.o
      _scgne_ in scgne.c.o
      _spcgnr_ in spcgnr.c.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [punc/src/cgcode/libcgcode.dylib] Error 1
make[1]: *** [punc/src/cgcode/CMakeFiles/cgcode.dir/all] Error 2

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