rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.93k stars 12.68k forks source link

Rust, linking with `cc` failed: exit status: 1 #86552

Closed Mental59 closed 3 years ago

Mental59 commented 3 years ago

Rust, Ubuntu 20.04 (on virtual machine VMware Workstation) trying to build a convolutional neural network and train it on MNIST using PyTorch with Cuda. Getting this message:

error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-Wl,--as-needed" "-L" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.0.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.1.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.2.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.3.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.4.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.5.rcgu.o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.train_conv_net.bgfq48uz-cgu.6.rcgu.o" "-o" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/train_conv_net-d14fcbab9332d959.7bf4zf8079pttvq.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps" "-L" "/home/mental/lib/libtorch/lib" "-L" "/home/mental/Documents/RustCode/train_conv_net/target/debug/build/torch-sys-d1cedc670687c81d/out" "-L" "/home/mental/Documents/RustCode/train_conv_net/target/debug/build/bzip2-sys-f00a836cd5c10a96/out/lib" "-L" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtrain_conv_net-f61dfc08082217a1.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtch-398e7b9f8276637d.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libndarray-62b72e302bd7d33c.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libmatrixmultiply-a831c6dd39c9a978.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libnum_complex-7ebfe02a8623d372.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libnum_integer-750028a94500593f.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libnum_traits-3347d60bb708acde.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/librawpointer-5d564b4c116398d6.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/librand-ea47773d58b75330.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/librand_chacha-ddaf9b804216ab0a.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libppv_lite86-9a1c37bf77d436b5.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/librand_core-9c0e3a89a0ba18d6.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libgetrandom-17a93e97f459667d.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libhalf-deb2b1e282213ae3.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libzip-cbb2081342b11d6e.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtime-83983ee4a4bf797f.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libbzip2-20e79bfccad5a68c.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libbzip2_sys-aaed16f170189503.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libflate2-f349e93ba00ab33d.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libminiz_oxide-7597fab6e8563050.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libadler-e3f4dacf78ca35a8.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libbyteorder-a97d9c1653f3ccb3.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libcrc32fast-7236c971dc1932c0.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libcfg_if-0a6225dcb261749c.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libthiserror-6baf01d505b77aea.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/liblibc-4191f0a4cdd6b949.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/liblazy_static-9702d1010b228fd0.rlib" "/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libanyhow-ee76f21bf6a3bf1b.rlib" "-Wl,--start-group" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b6b48477bfa8c673.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-f560ec02638f7ffe.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-9c8eadb7013c9e0b.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-8b0ec8dbdb85d0bf.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-ba5d5ee707c805d2.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-55166126dbdd5e46.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c327b365eae3b2f3.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-416439b546a0d033.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2581188d29552e15.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-da7b2635bfcce6ef.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-09200ed1945e7b2b.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-223ac369b29f5000.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-39562fe6600dd936.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-9b411bb7a19f81b3.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-64ea0581d80339f7.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-b2dbda88b377d685.rlib" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-2a8415a96ed1d7dc.rlib" "-Wl,--end-group" "/home/mental/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-c4d9a5b072ee3191.rlib" "-Wl,-Bdynamic" "-lstdc++" "-ltorch_cuda" "-ltorch_cuda_cu" "-ltorch_cuda_cpp" "-ltorch" "-ltorch_cpu" "-lc10" "-lgomp" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
  = note: /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::Device::validate()':
          /home/mental/lib/libtorch/include/c10/core/Device.h:105: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/c10/core/Device.h:107: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `caffe2::TypeMeta::fromScalarType(c10::ScalarType)':
          /home/mental/lib/libtorch/include/c10/util/typeid.h:477: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr_target::~intrusive_ptr_target()':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:105: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:108: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::TensorImpl::data() const':
          /home/mental/lib/libtorch/include/c10/core/TensorImpl.h:735: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/c10/core/TensorImpl.h:737: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::TensorImpl::itemsize() const':
          /home/mental/lib/libtorch/include/c10/core/TensorImpl.h:766: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `at::Tensor::backward(at::Tensor const&, c10::optional<bool>, bool, c10::optional<c10::ArrayRef<at::Tensor> >) const':
          /home/mental/lib/libtorch/include/ATen/core/TensorBody.h:564: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::Type::createWithContained(std::vector<std::shared_ptr<c10::Type>, std::allocator<std::shared_ptr<c10::Type> > >) const':
          /home/mental/lib/libtorch/include/ATen/core/jit_type_base.h:216: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o):/home/mental/lib/libtorch/include/ATen/core/qualified_name.h:16: more undefined references to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' follow
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::QualifiedName::QualifiedName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
          /home/mental/lib/libtorch/include/ATen/core/qualified_name.h:23: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/ATen/core/qualified_name.h:31: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::slice(unsigned long, unsigned long) const':
          /home/mental/lib/libtorch/include/c10/util/ArrayRef.h:166: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::OptionalType::create(std::shared_ptr<c10::Type>)':
          /home/mental/lib/libtorch/include/ATen/core/jit_type.h:111: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::OptionalType::createWithContained(std::vector<std::shared_ptr<c10::Type>, std::allocator<std::shared_ptr<c10::Type> > >) const':
          /home/mental/lib/libtorch/include/ATen/core/jit_type.h:129: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::IValue::toComplexDouble() const':
          /home/mental/lib/libtorch/include/ATen/core/ivalue_inl.h:137: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::IValue::toTensor() &&':
          /home/mental/lib/libtorch/include/ATen/core/ivalue_inl.h:142: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::IValue::toTensor() &':
          /home/mental/lib/libtorch/include/ATen/core/ivalue_inl.h:157: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o):/home/mental/lib/libtorch/include/ATen/core/ivalue_inl.h:161: more undefined references to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' follow
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `torch::autograd::AutogradMeta::set_requires_grad(bool, c10::TensorImpl*)':
          /home/mental/lib/libtorch/include/torch/csrc/autograd/variable.h:236: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `torch::autograd::AutogradMeta::AutogradMeta(c10::TensorImpl*, bool, torch::autograd::Edge)':
          /home/mental/lib/libtorch/include/torch/csrc/autograd/variable.h:268: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/torch/csrc/autograd/variable.h:271: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `torch::optim::Adam::Adam(std::vector<torch::optim::OptimizerParamGroup, std::allocator<torch::optim::OptimizerParamGroup> >, torch::optim::AdamOptions)':
          /home/mental/lib/libtorch/include/torch/csrc/api/include/torch/optim/adam.h:53: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/torch/csrc/api/include/torch/optim/adam.h:54: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/torch/csrc/api/include/torch/optim/adam.h:56: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/lib/libtorch/include/torch/csrc/api/include/torch/optim/adam.h:57: undefined reference to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o):/home/mental/lib/libtorch/include/torch/csrc/api/include/torch/optim/adam.h:58: more undefined references to `c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' follow
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `at_save_multi':
          /home/mental/.cargo/registry/src/github.com-1ecc6299db9ec823/torch-sys-0.4.1/libtch/torch_api.cpp:296: undefined reference to `torch::serialize::OutputArchive::write(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, at::Tensor const&, bool)'
          /usr/bin/ld: /home/mental/.cargo/registry/src/github.com-1ecc6299db9ec823/torch-sys-0.4.1/libtch/torch_api.cpp:296: undefined reference to `torch::serialize::OutputArchive::save_to(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr<c10::VariableVersion::VersionCounter, c10::detail::intrusive_target_default_null_type<c10::VariableVersion::VersionCounter> > c10::intrusive_ptr<c10::VariableVersion::VersionCounter, c10::detail::intrusive_target_default_null_type<c10::VariableVersion::VersionCounter> >::make<unsigned int&>(unsigned int&)':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:432: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr<c10::TensorImpl, c10::UndefinedTensorImpl>::retain_()':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:231: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr<c10::ivalue::Object, c10::detail::intrusive_target_default_null_type<c10::ivalue::Object> >::retain_()':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:231: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr<c10::detail::ListImpl, c10::detail::intrusive_target_default_null_type<c10::detail::ListImpl> >::retain_()':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:231: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o): in function `c10::intrusive_ptr<c10::detail::DictImpl, c10::detail::intrusive_target_default_null_type<c10::detail::DictImpl> >::retain_()':
          /home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:231: undefined reference to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
          /usr/bin/ld: /home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtorch_sys-d5e18b36114b0310.rlib(torch_api.o):/home/mental/lib/libtorch/include/c10/util/intrusive_ptr.h:231: more undefined references to `c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' follow
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: could not compile `train_conv_net`

Caused by:
  process didn't exit successfully: `rustc --crate-name train_conv_net --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=d14fcbab9332d959 -C extra-filename=-d14fcbab9332d959 --out-dir /home/mental/Documents/RustCode/train_conv_net/target/debug/deps -C incremental=/home/mental/Documents/RustCode/train_conv_net/target/debug/incremental -L dependency=/home/mental/Documents/RustCode/train_conv_net/target/debug/deps --extern anyhow=/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libanyhow-ee76f21bf6a3bf1b.rlib --extern tch=/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtch-398e7b9f8276637d.rlib --extern train_conv_net=/home/mental/Documents/RustCode/train_conv_net/target/debug/deps/libtrain_conv_net-f61dfc08082217a1.rlib -L native=/home/mental/lib/libtorch/lib -L native=/home/mental/Documents/RustCode/train_conv_net/target/debug/build/torch-sys-d1cedc670687c81d/out -L native=/home/mental/Documents/RustCode/train_conv_net/target/debug/build/bzip2-sys-f00a836cd5c10a96/out/lib` (exit status: 1)
Oliver-Piorun commented 3 years ago

Hi! Make sure you make the required and missing libraries available to the compiler. For reference: https://github.com/LaurentMazare/tch-rs (I think you are using this crate)

PS: This isn't a rust issue btw ;-)

Greetings!

jonas-schievink commented 3 years ago

Yeah, this doesn't look like a Rust bug