LaurentMazare / tch-rs

Rust bindings for the C++ api of PyTorch.
Apache License 2.0
4.23k stars 331 forks source link

Does not build on Mac OS X #270

Closed Anonyfox closed 1 year ago

Anonyfox commented 3 years ago

I just tried to add the project (transient through https://crates.io/crates/rust-bert) to my project. No manual LIBTORCH given whatsoever, since it should download the current version itself. When running cargo build the following happens:

// --snip--
warning: libtch/torch_api.cpp:3:9: fatal error: 'torch/torch.h' file not found
warning: #include<torch/torch.h>
warning:         ^~~~~~~~~~~~~~~
warning: 1 error generated.

error: failed to run custom build command for `torch-sys v0.2.1`

Caused by:
// --snip--
  --- stdout
  cargo:rerun-if-env-changed=TORCH_CUDA_VERSION
  cargo:rerun-if-env-changed=LIBTORCH
  cargo:rustc-link-search=native=/Users/fox/projects/github.com/Repo/Project/target/debug/build/torch-sys-01e8a468de6489ea/out/libtorch/libtorch/lib
  cargo:rerun-if-env-changed=LIBTORCH_USE_CMAKE
  cargo:rerun-if-changed=libtch/torch_api.cpp
  cargo:rerun-if-changed=libtch/torch_api.h
  cargo:rerun-if-changed=libtch/torch_api_generated.cpp.h
  cargo:rerun-if-changed=libtch/torch_api_generated.h
  cargo:rerun-if-changed=libtch/stb_image_write.h
  cargo:rerun-if-changed=libtch/stb_image_resize.h
  cargo:rerun-if-changed=libtch/stb_image.h
  cargo:rerun-if-env-changed=LIBTORCH_CXX11_ABI
  TARGET = Some("x86_64-apple-darwin")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-apple-darwin")
  CXX_x86_64-apple-darwin = None
  CXX_x86_64_apple_darwin = None
  HOST_CXX = None
  CXX = None
  CXXFLAGS_x86_64-apple-darwin = None
  CXXFLAGS_x86_64_apple_darwin = None
  HOST_CXXFLAGS = None
  CXXFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
// --snip--
  cargo:warning=libtch/torch_api.cpp:3:9: fatal error: 'torch/torch.h' file not found
  cargo:warning=#include<torch/torch.h>
  cargo:warning=        ^~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  exit code: 1
dnbaker commented 3 years ago

I have similar problems when I try to compile having downloaded LIBTORCH, with using 1.6.0 Mac OSX release with deps.

It might be due to Rust using clang rather than gcc (which is set to CC).

   Compiling tch v0.1.8 (/Users/dnb/Desktop/code/tch-rs)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-arch" "x86_64" "-L" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.14hh00kik8cjtnx3.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.162lqb9qqga27fnc.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.19qpwdrvnxqd5zhm.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1a3cmxefs6s9vdbx.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1aafix4ycdpp86zn.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1elshcho37f5e7d.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1fbb7atwbfpardr4.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1ilas316dwpo0kl9.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1qtyktd3y0jpwyhb.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1rq1faq5tctw7mxn.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.1t3xs33zymlylo23.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.25qn2a03dbvpibwk.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.25s8tntapbf1ij8j.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.264k54ocxe0cq19t.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2fqlhz9u8zfvpuq7.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2isnrxwmmbaf61ds.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2jzz4ufz2mwxenh4.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2nyrqc87p34hsq2z.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2oj35dyknqh1e7fn.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2qa3hy3ec129jp9p.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2w1who3wqbdevz2k.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2wuccj4eqaghk0dz.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.2xroa5xp1r52h49j.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.30rgky0c6y1hcvww.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3atc9i2va5ouqi16.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3g0oaqjgh95de6ri.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3gh6lxg99ldoaqhq.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3grg73x0vtru314d.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3gv5ahmy5q0mz2mj.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3h5elxire9agx1tn.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3ix9aw2digbqtwd8.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3mi6rxqn13xd30av.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3ot300hh6v4a3ebz.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3p0mjwwze4yp2sbb.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3w9e9ruvlb66ydrp.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3wkysadwfhr9kt7f.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3ws8souj5572h5ly.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3y8ukzez2ljsymwv.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.3z1fqzlzv7im3tkb.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.43umn5kzlm3wsoak.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.47qit96297w422k4.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4b6yeoh5i7o28xt1.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4hmoolu3okics4qc.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4v04h3j43rh0khb3.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4w31nhjjtz5oty0n.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4x5d5u15vrh7j4o0.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4zjf2yir2pxm9ay9.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.4zjsekr1w89s9g6k.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.51ln0hes3c8ksrj1.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.5d55e3pd8k1bm64h.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.5ezqq1hqhw6n1w7q.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.axof4annj4ikne0.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.gvn14hq3i9skqmo.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.imnplxs47z0av5d.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.nnw0hude9bc2hga.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.sagdjin07mlgx9i.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.u9bdtpyryoraxhc.rcgu.o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.umhr9ml5tdf2zxo.rcgu.o" "-o" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist" "/Users/dnb/Desktop/code/tch-rs/target/debug/examples/mnist.c9rpag3nvk25n6r.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps" "-L" "/Users/dnb/Desktop/code/tch-rs/target/debug/build/backtrace-sys-65146212e61a78f6/out" "-L" "/Users/dnb/Desktop/code/tch-rs/libtorch/lib" "-L" "/Users/dnb/Desktop/code/tch-rs/target/debug/build/torch-sys-0bf77c0f9fba709a/out" "-L" "/Users/dnb/Desktop/code/tch-rs/target/debug/build/bzip2-sys-5a34cf786ca88482/out/lib" "-L" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libanyhow-36573bfcbcaa948c.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libtch-2e2f47a8a48ca7fd.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libndarray-38b4deae622fded2.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libmatrixmultiply-f21eaa3018ede287.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libnum_complex-9aa78740e1351ceb.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libnum_integer-93eca715cccd9b35.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libnum_traits-83eb61dc3169e14a.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/librawpointer-7106d747c42df01d.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/librand-e40539c1b0c7e3d0.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/librand_chacha-1e38bb9ffbd213e3.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libppv_lite86-417bf7fea7c1a95b.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/librand_core-752f2662909248bc.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libgetrandom-056b03498bdf169a.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libhalf-3b11083cf004a429.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libtorch_sys-8cd222c6a8014347.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libzip-9f866c68a663de82.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libtime-df822c0ccdb10e8c.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libbzip2-4f1e30b539bf762d.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libbzip2_sys-6f452ad58ed8d976.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libflate2-267030ac764fa957.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libminiz_oxide-e9a8ead83dcbc912.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libadler32-cb7c0fd7b1fc2bdf.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libcrc32fast-815c9055a9cd924d.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libcfg_if-07fd318366bce1e4.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libpodio-f5a0cfba7ed36283.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/libthiserror-a7b951d59dd5bb5b.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/liblibc-4540e8264cc14a2b.rlib" "/Users/dnb/Desktop/code/tch-rs/target/debug/deps/liblazy_static-dbde5ece58e54f97.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-2eead91d91f66ffa.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-ca64d94f6b79d639.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libobject-f7936dd792262a74.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-bb56016a39783030.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libgimli-1873d4fc46d20288.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-55bacf2d542c4144.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-ff8a738b6f2b559a.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-3864ce8d4cb7a483.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b55c7050747b13c5.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-1571a545da17c3ef.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-ff818040cbe57af0.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0a2b336e241cf742.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-465082706ea1ede1.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-e3cd79f6ad1173fd.rlib" "/Users/dnb/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-4071d15d8824a4bb.rlib" "-lc++" "-ltorch" "-ltorch_cpu" "-lc10" "-lSystem" "-lresolv" "-lc" "-lm"
  = note: ld: warning: could not create compact unwind for __ZL22stbir__encode_scanlineP11stbir__infoiPvPfiii: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL22stbir__encode_scanlineP11stbir__infoiPvPfiii.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL22stbir__decode_scanlineP11stbir__infoi: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL22stbir__decode_scanlineP11stbir__infoi.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL19stbi_write_jpg_coreP19stbi__write_contextiiiPKvi.part.0: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL24stbir__calculate_filtersP19stbir__contributorsPf12stbir_filterffii: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL24stbir__calculate_filtersP19stbir__contributorsPf12stbir_filterffii.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL23stbir__resize_arbitraryPvPKviiiS_iiiffffPfiij14stbir_datatype12stbir_filterS4_10stbir_edgeS5_16stbir_colorspace.constprop.0: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL23stbir__resize_arbitraryPvPKviiiS_iiiffffPfiij14stbir_datatype12stbir_filterS4_10stbir_edgeS5_16stbir_colorspace.constprop.0.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZNK3c1010TensorImpl4dataEv: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZNK3c1010TensorImpl8itemsizeEv: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZL20stbi__parse_png_fileP9stbi__pngii: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL20stbi__parse_png_fileP9stbi__pngii.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL31stbi__load_and_postprocess_8bitP13stbi__contextPiS1_S1_i: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL31stbi__load_and_postprocess_8bitP13stbi__contextPiS1_S1_i.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL16stbi__loadf_mainP13stbi__contextPiS1_S1_i: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL32stbi__load_and_postprocess_16bitP13stbi__contextPiS1_S1_i: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZL32stbi__load_and_postprocess_16bitP13stbi__contextPiS1_S1_i.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _stbi_load_from_memory: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _stbi_load_from_memory.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _stbi_write_png_to_mem: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _stbi_write_png_to_mem.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _at_fill_double: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for _at_fill_int64: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c106Device8validateEv: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN2at7Context16defaultGeneratorEN3c106DeviceE: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c1013intrusive_ptrINS_6detail8ListImplENS1_34intrusive_target_default_null_typeIS2_EEE7retain_Ev.isra.0.cold: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c1013intrusive_ptrINS_6ivalue6ObjectENS_6detail34intrusive_target_default_null_typeIS2_EEE7retain_Ev.isra.0.cold: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c10L20typeMetaToScalarTypeEN6caffe28TypeMetaE.cold: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN5torch8autograd12AutogradMeta17set_requires_gradEbPN3c1010TensorImplE: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c10L20scalarTypeToTypeMetaENS_10ScalarTypeE.cold: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c1015checked_convertIxdEET_T0_PKc: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZN3c1015checked_convertIddEET_T0_PKc: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ats_to_string: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ats_to_string.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZN3c106detail12_str_wrapperIJPKcRKdEE4callB5cxx11ERKS3_S5_: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZN5torch5optim3SGDC1ESt6vectorINS0_19OptimizerParamGroupESaIS3_EENS0_10SGDOptionsE: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZN5torch5optim7RMSpropC1ESt6vectorINS0_19OptimizerParamGroupESaIS3_EENS0_14RMSpropOptionsE: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _at_manual_seed.cold: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for _at_save_image: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for _ato_sgd: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ato_sgd.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ato_rms_prop: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ato_rms_prop.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ato_adam: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _ato_adam.cold: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for __ZNKR3c106IValue6toListEv: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c1013intrusive_ptrINS_10TensorImplENS_19UndefinedTensorImplEE7retain_Ev: dwarf uses DW_CFA_GNU_args_size
          ld: warning: could not create compact unwind for __ZN3c1013QualifiedNameC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _at_run_backward: does not use RBP or RSP based frame
          ld: warning: could not create compact unwind for _at_run_backward.cold: does not use RBP or RSP based frame
          Undefined symbols for architecture x86_64:
            "std::invalid_argument::invalid_argument(char const*)", referenced from:
                _at_copy_data.cold in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                _at_tensor_of_data.cold in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()", referenced from:
                c10::detail::_str_wrapper<>::call[abi:cxx11]() (.part.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::__throw_length_error(char const*)", referenced from:
                void std::vector<at::Tensor, std::allocator<at::Tensor> >::_M_realloc_insert<at::Tensor const&>(__gnu_cxx::__normal_iterator<at::Tensor*, std::vector<at::Tensor, std::allocator<at::Tensor> > >, at::Tensor const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::ios_base::Init::~Init()", referenced from:
                __GLOBAL__sub_I_torch_api.cpp in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::ios_base::ios_base()", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::locale::locale()", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "c10::TensorImpl::set_autograd_meta(std::unique_ptr<c10::AutogradMetaInterface, std::default_delete<c10::AutogradMetaInterface> >)", referenced from:
                torch::autograd::make_variable(at::Tensor, bool, bool) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::ios_base::Init::Init()", referenced from:
                __GLOBAL__sub_I_torch_api.cpp in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::ostream::operator<<(short)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
            "std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)", referenced from:
                void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) (.isra.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (.constprop.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "vtable for std::basic_ios<char, std::char_traits<char> >", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
            "c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)", referenced from:
                c10::TensorImpl::data() const in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::TensorImpl::itemsize() const in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::Device::validate() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::intrusive_ptr_target::~intrusive_ptr_target() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::intrusive_ptr_target::~intrusive_ptr_target() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::intrusive_ptr_target::~intrusive_ptr_target() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                torch::autograd::AutogradMeta::set_requires_grad(bool, c10::TensorImpl*) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                ...
            "std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "vtable for std::basic_streambuf<char, std::char_traits<char> >", referenced from:
                std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                ...
            NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
            "std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::__throw_logic_error(char const*)", referenced from:
                void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) (.isra.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (.constprop.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >", referenced from:
                std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                ...
            NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
            "std::ostream& std::ostream::_M_insert<double>(double)", referenced from:
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::ios_base::~ios_base()", referenced from:
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
            "std::locale::~locale()", referenced from:
                std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, short const&>::call[abi:cxx11](char const* const&, short const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::call(char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, caffe2::TypeMeta const&, char const*>::call[abi:cxx11](char const* const&, caffe2::TypeMeta const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, c10::ScalarType const&, char const*>::call[abi:cxx11](char const* const&, c10::ScalarType const&, char const* const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<char const*, double const&>::call[abi:cxx11](char const* const&, double const&) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                ...
            "___emutls_get_address", referenced from:
                _get_and_reset_last_err in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                torch::autograd::AutogradMeta::AutogradMeta(c10::TensorImpl*, bool, torch::autograd::Edge) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                double at_value_at_indexes<double>(at::Tensor*, long long*, int) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                c10::detail::_str_wrapper<>::call[abi:cxx11]() (.part.0) in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                _at_dim.cold in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                _at_shape.cold in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                _at_device.cold in libtorch_sys-8cd222c6a8014347.rlib(torch_api.o)
                ...
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error

error: could not compile `tch`

To learn more, run the command again with --verbose.
vegapit commented 3 years ago

I just tried to add the project (transient through https://crates.io/crates/rust-bert) to my project. No manual LIBTORCH given whatsoever, since it should download the current version itself. When running cargo build the following happens:

This could be an issue in the Cargo.toml file of the project you are trying to build. Latest version of tch-rs is v0.2.2 and I see you are trying to compile v0.2.1. What happens if you point the Toml link to the tch github or force v0.2.2?

vegapit commented 3 years ago

I have similar problems when I try to compile having downloaded LIBTORCH, with using 1.6.0 Mac OSX release with deps.

It might be due to Rust using clang rather than gcc (which is set to CC).

The latest version of libtorch is not compatible with older version of the tch library (current tch version 0.2.2). I am compiling on Mac OSX the current repo with libtorch 1.6.0 with no issue.

LaurentMazare commented 1 year ago

Closing old issues (feel free to re-open if there is still a problem with this).