apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.75k stars 6.8k forks source link

Can't install Mxnet on raspberry pi with opencv 4.0.0 #18471

Closed woreom closed 4 years ago

woreom commented 4 years ago

Description

So I'm following the tutorial on : https://mxnet.apache.org/get_started/?platform=devices&iot=raspberry-pi& I'm trying to use opencv and mxnet together for my project. I tried the prebuild whl but it uses numpy 1.12.4 or something but the opencv needs 1.16.2 or higher.

Error Message

I tried to install with docker I get the error ModuleNotFoundError: No module named 'docker.errors' which is probably because i'm doing something wrong this is not my issue. But my problem is with the native build, when I cmake I get the error " -- Configuring incomplete, errors occurred!" and here is CMakeError

Performing C++ SOURCE FILE Test COMPILER_SUPPORT_MF16C failed with the followin$ Change Dir: /mnt/USB/.mxnet/mxnet/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/ninja" "cmTC_ff7d6" [1/2] Building CXX object CMakeFiles/cmTC_ff7d6.dir/src.cxx.o FAILED:` CMakeFiles/cmTC_ff7d6.dir/src.cxx.o /usr/bin/c++ -Wall -Wno-sign-compare -O3 -fopenmp -DCOMPILER_SUPPORT_MF16C -$ c++: error: unrecognized command line option '-mf16c' ninja: build stopped: subcommand failed.

Source file was: int main() { return 0; }

What have you tried to solve it?

  1. I've tried other versions of mxnet but I get the same errors

Environment

We recommend using our script for collecting the diagnositc information. Run the following command and paste the outputs below:


curl --retry 10 -s https://raw.githubusercontent.com/dmlc/gluon-nlp/master/tools/diagnose.py | python

# paste outputs here
```----------Python Info----------
Version      : 3.7.3
Compiler     : GCC 8.3.0
Build        : ('default', 'Dec 20 2019 18:57:59')
Arch         : ('32bit', 'ELF')
------------Pip Info-----------
Version      : 20.1.1
Directory    : /home/pi/.virtualenvs/py3/lib/python3.7/site-packages/pip
----------MXNet Info-----------
No MXNet installed.
----------System Info----------
Platform     : Linux-4.19.118-v7l+-armv7l-with-debian-10.4
system       : Linux
node         : raspberrypi
release      : 4.19.118-v7l+
version      : #1311 SMP Mon Apr 27 14:26:42 BST 2020
----------Hardware Info----------
machine      : armv7l
processor    : 
Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
Vendor ID:           ARM
Model:               3
Model name:          Cortex-A72
Stepping:            r0p3
CPU max MHz:         1500.0000
CPU min MHz:         600.0000
BogoMIPS:            270.00
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0555 sec, LOAD: 0.7637 sec.
Timing for GluonNLP GitHub: https://github.com/dmlc/gluon-nlp, DNS: 0.0555 sec, LOAD: 0.8774 sec.
Timing for GluonNLP: http://gluon-nlp.mxnet.io, DNS: 0.0550 sec, LOAD: 5.9179 sec.
Timing for D2L: http://d2l.ai, DNS: 0.0552 sec, LOAD: 0.2132 sec.
Timing for D2L (zh-cn): http://zh.d2l.ai, DNS: 0.0569 sec, LOAD: 0.3506 sec.
Timing for FashionMNIST: https://repo.mxnet.io/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0611 sec, LOAD: 0.7249 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0635 sec, LOAD: 2.4053 sec.
Error open Conda: https://repo.continuum.io/pkgs/free/, HTTP Error 403: Forbidden, DNS finished in 0.06275081634521484 sec.
leezu commented 4 years ago

Please use cmake -DUSE_F16C=0 [...]. It seems the autodetection is not working correctly.

leezu commented 4 years ago

@woreom you can refer to https://github.com/apache/incubator-mxnet/pull/18472 for a improved guide. If you have any issues with the updated guide, please comment on the PR.

leezu commented 4 years ago

Closing as the instructions were updated

woreom commented 4 years ago

Thank you for fast response and investigation. but still running cmake \ -DUSE_SSE=OFF \ -DUSE_CUDA=OFF \ -DUSE_OPENCV=ON \ -DUSE_OPENMP=ON \ -DUSE_MKL_IF_AVAILABLE=OFF \ -DUSE_SIGNAL_HANDLER=ON \ -DCMAKE_BUILD_TYPE=Release \ -GNinja .. will result in the following error although use_cuda is off:

-- The CUDA compiler identification is unknown
CMake Error at CMakeLists.txt:117 (enable_language):
  No CMAKE_CUDA_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
  path to the compiler, or to the compiler name if it is in the PATH.
leezu commented 4 years ago

There's probably some cache issues. You ran cmake with a different command line options before and didn't delete the CMakeCache.txt

woreom commented 4 years ago

I checked but there were no CMakeCache.txt other than the one in /build/ but I rm -rf build every time I use the command cmake

woreom commented 4 years ago

Okay I finally found out what was wrong I use the command: cmake -DUSE_SSE=OFF -DUSE_CUDA=OFF -DUSE_OPENCV=ON -DUSE_OPENMP=ON -DUSE_MKL_IF_AVAILABLE=OFF -DUSE_SIGNAL_HANDLER=ON -DUSE_LAPACK=OFF -DUSE_F16C=0 -DCMAKE_BUILD_TYPE=Release -GNinja .. I add -DUSE_LAPACK=OFF -DUSE_F16C=0 because I encounter:

USE_LAPACK is ON
CMake Error at CMakeLists.txt:462 (add_subdirectory):
  add_subdirectory given source
  "/mnt/USB/.mxnet/mxnet/3rdparty/googletest/googletest" which is not an
  existing directory.

-- Found GTest: gtest  
-- Determining F16C support
-- Performing Test COMPILER_SUPPORT_MF16C
-- Performing Test COMPILER_SUPPORT_MF16C - Failed
CPU does not support F16C instructions
-- Found Python3: /home/pi/.virtualenvs/py3/bin/python3.7 (found version "3.7.3") found components:  Interpreter 

but even after that I still get :

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CROSSCOMPILING FALSE
-- CMAKE_HOST_SYSTEM_PROCESSOR armv7l
-- CMAKE_SYSTEM_PROCESSOR armv7l
-- CMAKE_SYSTEM_NAME Linux
-- CMake version '3.13.4' using generator 'Ninja'
-- Found OpenBLAS libraries: /usr/lib/arm-linux-gnueabihf/libopenblas.so
-- Found OpenBLAS include: /usr/include/arm-linux-gnueabihf
-- Found OpenCV: /usr/local (found version "4.0.0") found components:  core highgui imgproc imgcodecs 
-- OpenCV 4.0.0 found (/usr/local/lib/cmake/opencv4)
--  OpenCV_LIBS=opencv_core;opencv_highgui;opencv_imgproc;opencv_imgcodecs
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
CMake Error at CMakeLists.txt:462 (add_subdirectory):
  add_subdirectory given source
  "/mnt/USB/.mxnet/mxnet/3rdparty/googletest/googletest" which is not an
  existing directory.

-- Found GTest: gtest  
-- Found Python3: /home/pi/.virtualenvs/py3/bin/python3.7 (found version "3.7.3") found components:  Interpreter 
-- Configuring incomplete, errors occurred!
See also "/mnt/USB/.mxnet/mxnet/build/CMakeFiles/CMakeOutput.log".

what version of python did you use to build?

leezu commented 4 years ago

The error is

CMake Error at CMakeLists.txt:462 (add_subdirectory):
  add_subdirectory given source
  "/mnt/USB/.mxnet/mxnet/3rdparty/googletest/googletest" which is not an
  existing directory.

Try git submodule update --init --recursive

woreom commented 4 years ago

Okay so I did what you said and I got to the point that I have to run ninja -j4 everything went fine till the last 4 builds where I got the error: virtual memory exhausted: Cannot allocate memory ninja: build stopped: subcommand failed. I have an armv71 processor and 4gb ram I did it on my own laptop which has an 8gb ram and it still didn't work

leezu commented 4 years ago

https://github.com/apache/incubator-mxnet/issues/18501

You can use swap or help fix this bug or compile the stable mxnet version

woreom commented 4 years ago

18501

You can use swap or help fix this bug or compile the stable mxnet version

I tried increasing swap but it wouldn't use it. also it would be a great help if you reupload the prebuild mxnet-1.5.0.whl on the site

leezu commented 4 years ago

@woreom the wheel is not compliant with ASF licensing policy and it's pointing to an older release. You can still find the link by looking at the commit (search for "whl").

We'll need to fix the licensing issues (don't redistribute libgfortran.so in the whl) and reupload

wkcn commented 4 years ago

Hi @leezu , is it possible to release pre-built MXNet pacakge on ARM?

It seems that the older release could not be re-uploaded because of ASF licensing policy, but is it possible to release pre-built MXNet 1.7 and 2.0+ package on ARM?

leezu commented 4 years ago

Based on https://github.com/apache/incubator-mxnet/pull/18513 we can do portable and compliant binary releases later in principle. But this will require compiling the toolchain ourselves for ARM, as flang compiler binary is not available for ARM.

But for the raspberry pi setup, the portability aspect may not be so important. We can decide to publish non-portable (target one or a few select OS version) binaries. (In that case we don't need to use the flang compiler) If you're interested in building them, I'm happy to discuss more about how to proceed.

woreom commented 4 years ago

@leezu after the result of #18501, I used ninja to make mxnet although it resulted in the error

[1/2] Linking CXX executable im2rec
FAILED: im2rec 
: && /usr/bin/g++  -Wall -Wno-sign-compare -O3 -fopenmp -O3 -DNDEBUG   CMakeFiles/im2rec.dir/tools/im2rec.cc.o  -o im2rec  -Wl,-rpath,/mnt/USB/.mxnet/mxnet/build:/usr/local/lib /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack libmxnet.so 3rdparty/dmlc-core/libdmlc.a /usr/local/lib/libopencv_highgui.so.4.0.0 /usr/local/lib/libopencv_videoio.so.4.0.0 /usr/local/lib/libopencv_imgcodecs.so.4.0.0 /usr/local/lib/libopencv_imgproc.so.4.0.0 /usr/local/lib/libopencv_core.so.4.0.0 /usr/lib/gcc/arm-linux-gnueabihf/7/libgomp.so /usr/lib/arm-linux-gnueabihf/libpthread.so -lrt -ldl /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack && :
/usr/bin/ld: libmxnet.so: undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: libmxnet.so: undefined reference to `__atomic_fetch_sub_8'
/usr/bin/ld: libmxnet.so: undefined reference to `__atomic_store_8'
/usr/bin/ld: libmxnet.so: undefined reference to `__atomic_load_8'
collect2: error: ld returned 1 exit status
[2/2] Linking CXX executable tests/mxnet_unit_tests
FAILED: tests/mxnet_unit_tests 
: && /usr/bin/g++  -Wall -Wno-sign-compare -O3 -fopenmp -O3 -DNDEBUG   tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/engine_shutdown_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/omp_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/thread_local_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/threaded_engine_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/kvstore/gpu_topology_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/misc/base.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/misc/libinfo_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/batchnorm_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/coreop_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/dropout_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/fully_conn_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/krprod_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/mkldnn_operator_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/mkldnn_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/runner/core_op_runner_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/slice_channel_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/storage/storage_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/test_main.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/thread_safety/thread_safety_test.cc.o  -o tests/mxnet_unit_tests  -Wl,-rpath,/mnt/USB/.mxnet/mxnet/build:/usr/local/lib lib/libgtest.a 3rdparty/dmlc-core/libdmlc.a /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack libmxnet.so 3rdparty/dmlc-core/libdmlc.a /usr/lib/gcc/arm-linux-gnueabihf/7/libgomp.so /usr/lib/arm-linux-gnueabihf/libpthread.so -lrt /usr/local/lib/libopencv_highgui.so.4.0.0 /usr/local/lib/libopencv_videoio.so.4.0.0 /usr/local/lib/libopencv_imgcodecs.so.4.0.0 /usr/local/lib/libopencv_imgproc.so.4.0.0 /usr/local/lib/libopencv_core.so.4.0.0 -ldl /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack && :
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/runner/core_op_runner_test.cc.o: in function `mxnet::test::OperatorRunner<mxnet::test::op::CoreOpProp, mxnet::test::op::CoreOpExecutor<float, float> >::TimingTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, int, unsigned int, std::vector<mxnet::TShape, std::allocator<mxnet::TShape> > const&, bool) [clone .constprop.1100]':
core_op_runner_test.cc:(.text+0x487c): undefined reference to `__atomic_load_8'
/usr/bin/ld: core_op_runner_test.cc:(.text+0x48bc): undefined reference to `__atomic_load_8'
/usr/bin/ld: core_op_runner_test.cc:(.text+0x4a20): undefined reference to `__atomic_load_8'
/usr/bin/ld: core_op_runner_test.cc:(.text+0x4a38): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: core_op_runner_test.cc:(.text+0x4a44): undefined reference to `__atomic_load_8'
/usr/bin/ld: core_op_runner_test.cc:(.text+0x4a58): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `ACTIVATION_PERF_TimingCPU_Test::TestBody()':
activation_perf.cc:(.text+0x1bcc): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text+0x1c08): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text+0x1d70): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text+0x1d88): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: activation_perf.cc:(.text+0x1d94): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text+0x1da8): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `dmlc::LogCheckError dmlc::LogCheck_NE<std::atomic<unsigned long long>, unsigned int>(std::atomic<unsigned long long> const&, unsigned int const&)':
activation_perf.cc:(.text._ZN4dmlc11LogCheck_NEISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_[_ZN4dmlc11LogCheck_NEISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_]+0x1c): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN4dmlc11LogCheck_NEISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_[_ZN4dmlc11LogCheck_NEISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_]+0x84): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `dmlc::LogCheckError dmlc::LogCheck_EQ<std::atomic<unsigned long long>, unsigned int>(std::atomic<unsigned long long> const&, unsigned int const&)':
activation_perf.cc:(.text._ZN4dmlc11LogCheck_EQISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_[_ZN4dmlc11LogCheck_EQISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_]+0x1c): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN4dmlc11LogCheck_EQISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_[_ZN4dmlc11LogCheck_EQISt6atomicIyEjEENS_13LogCheckErrorERKT_RKT0_]+0x74): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `mxnet::test::perf::TimingInstrument::Info::Info(mxnet::test::perf::TimingInstrument::Info const&)':
activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument4InfoC2ERKS3_[_ZN5mxnet4test4perf16TimingInstrument4InfoC5ERKS3_]+0x34): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o:activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument4InfoC2ERKS3_[_ZN5mxnet4test4perf16TimingInstrument4InfoC5ERKS3_]+0x50): more undefined references to `__atomic_load_8' follow
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `mxnet::test::perf::TimingInstrument::stopTiming(int, unsigned int)':
activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument10stopTimingEij[_ZN5mxnet4test4perf16TimingInstrument10stopTimingEij]+0x1a4): undefined reference to `__atomic_fetch_sub_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument10stopTimingEij[_ZN5mxnet4test4perf16TimingInstrument10stopTimingEij]+0x450): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument10stopTimingEij[_ZN5mxnet4test4perf16TimingInstrument10stopTimingEij]+0x468): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument10stopTimingEij[_ZN5mxnet4test4perf16TimingInstrument10stopTimingEij]+0x47c): undefined reference to `__atomic_store_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument10stopTimingEij[_ZN5mxnet4test4perf16TimingInstrument10stopTimingEij]+0x490): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `mxnet::test::perf::TimingInstrument::startTiming(int, char const*)':
activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument11startTimingEiPKc[_ZN5mxnet4test4perf16TimingInstrument11startTimingEiPKc]+0xc0): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument11startTimingEiPKc[_ZN5mxnet4test4perf16TimingInstrument11startTimingEiPKc]+0x1a8): undefined reference to `__atomic_store_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `mxnet::test::perf::TimingInstrument::reset()':
activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5resetEv[_ZN5mxnet4test4perf16TimingInstrument5resetEv]+0xe0): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5resetEv[_ZN5mxnet4test4perf16TimingInstrument5resetEv]+0x108): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5resetEv[_ZN5mxnet4test4perf16TimingInstrument5resetEv]+0x2b8): undefined reference to `__atomic_store_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: in function `void mxnet::test::perf::TimingInstrument::print<std::ostream>(std::ostream*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':
activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x1a0): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x1b8): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x1e8): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x2b4): undefined reference to `__atomic_load_8'
/usr/bin/ld: activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x334): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o:activation_perf.cc:(.text._ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN5mxnet4test4perf16TimingInstrument5printISoEEvPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0x368): more undefined references to `__atomic_load_8' follow
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/batchnorm_test.cc.o: in function `mxnet::test::perf::TimingInstrument::operator+=(mxnet::test::perf::TimingInstrument const&)':
batchnorm_test.cc:(.text._ZN5mxnet4test4perf16TimingInstrumentpLERKS2_[_ZN5mxnet4test4perf16TimingInstrumentpLERKS2_]+0x268): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: batchnorm_test.cc:(.text._ZN5mxnet4test4perf16TimingInstrumentpLERKS2_[_ZN5mxnet4test4perf16TimingInstrumentpLERKS2_]+0x274): undefined reference to `__atomic_load_8'
/usr/bin/ld: batchnorm_test.cc:(.text._ZN5mxnet4test4perf16TimingInstrumentpLERKS2_[_ZN5mxnet4test4perf16TimingInstrumentpLERKS2_]+0x288): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/coreop_perf.cc.o: in function `void RunCoreOpTimingTest<float>(bool, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*, char const*) [clone .constprop.1096]':
coreop_perf.cc:(.text+0x2b84): undefined reference to `__atomic_load_8'
/usr/bin/ld: coreop_perf.cc:(.text+0x2bc0): undefined reference to `__atomic_load_8'
/usr/bin/ld: coreop_perf.cc:(.text+0x2d28): undefined reference to `__atomic_load_8'
/usr/bin/ld: coreop_perf.cc:(.text+0x2d40): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: coreop_perf.cc:(.text+0x2d4c): undefined reference to `__atomic_load_8'
/usr/bin/ld: coreop_perf.cc:(.text+0x2d60): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/dropout_perf.cc.o: in function `DROPOUT_PERF_TimingCPU_Test::TestBody()':
dropout_perf.cc:(.text+0x1fa4): undefined reference to `__atomic_load_8'
/usr/bin/ld: dropout_perf.cc:(.text+0x1fe0): undefined reference to `__atomic_load_8'
/usr/bin/ld: dropout_perf.cc:(.text+0x2148): undefined reference to `__atomic_load_8'
/usr/bin/ld: dropout_perf.cc:(.text+0x2160): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: dropout_perf.cc:(.text+0x216c): undefined reference to `__atomic_load_8'
/usr/bin/ld: dropout_perf.cc:(.text+0x2180): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/fully_conn_perf.cc.o: in function `FULLY_CONNECTED_FullyConnectedTimingCPU_Test::TestBody()':
fully_conn_perf.cc:(.text+0x20e8): undefined reference to `__atomic_load_8'
/usr/bin/ld: fully_conn_perf.cc:(.text+0x2124): undefined reference to `__atomic_load_8'
/usr/bin/ld: fully_conn_perf.cc:(.text+0x228c): undefined reference to `__atomic_load_8'
/usr/bin/ld: fully_conn_perf.cc:(.text+0x22a4): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: fully_conn_perf.cc:(.text+0x22b0): undefined reference to `__atomic_load_8'
/usr/bin/ld: fully_conn_perf.cc:(.text+0x22c4): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/slice_channel_perf.cc.o: in function `SLICE_CHANNEL_PERF_TimingCPU_Test::TestBody()':
slice_channel_perf.cc:(.text+0x1934): undefined reference to `__atomic_load_8'
/usr/bin/ld: slice_channel_perf.cc:(.text+0x194c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: slice_channel_perf.cc:(.text+0x1958): undefined reference to `__atomic_load_8'
/usr/bin/ld: slice_channel_perf.cc:(.text+0x196c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o: in function `mxnet::test::tune::TuningTester<long long>::CalculateModeSort(mxnet::test::op::TimingDirection, bool) const':
operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIxE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIxE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x1f8): undefined reference to `__atomic_load_8'
/usr/bin/ld: operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIxE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIxE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x20c): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o: in function `mxnet::test::tune::TuningTester<float>::CalculateModeSort(mxnet::test::op::TimingDirection, bool) const':
operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIfE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIfE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x1f8): undefined reference to `__atomic_load_8'
/usr/bin/ld: operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIfE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIfE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x20c): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o: in function `mxnet::test::tune::TuningTester<mshadow::half::half_t>::CalculateModeSort(mxnet::test::op::TimingDirection, bool) const':
operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIN7mshadow4half6half_tEE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIN7mshadow4half6half_tEE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x1f8): undefined reference to `__atomic_load_8'
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o:operator_tune_test.cc:(.text._ZNK5mxnet4test4tune12TuningTesterIN7mshadow4half6half_tEE17CalculateModeSortENS0_2op15TimingDirectionEb[_ZNK5mxnet4test4tune12TuningTesterIN7mshadow4half6half_tEE17CalculateModeSortENS0_2op15TimingDirectionEb]+0x20c): more undefined references to `__atomic_load_8' follow
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

and libmxnet.so was created so I installed it on my raspberry pi and got an error like this when importing it.

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/mnt/USB/.mxnet/mxnet/python/mxnet/__init__.py", line 23, in <module>
    from .context import Context, current_context, cpu, gpu, cpu_pinned
  File "/mnt/USB/.mxnet/mxnet/python/mxnet/context.py", line 23, in <module>
    from .base import classproperty, with_metaclass, _MXClassPropertyMetaClass
  File "/mnt/USB/.mxnet/mxnet/python/mxnet/base.py", line 351, in <module>
    _LIB = _load_lib()
  File "/mnt/USB/.mxnet/mxnet/python/mxnet/base.py", line 342, in _load_lib
    lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
  File "/usr/lib/python3.7/ctypes/__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /mnt/USB/.mxnet/mxnet/python/mxnet/../../build/libmxnet.so: failed to map segment from shared object
wkcn commented 4 years ago

@woreom Could you please add -latomic into LINK_LIBRARIES of build libmxnet.so in the file build/build.ninja?

build libmxnet.so: CXX_SHARED_LIBRARY_LINKER__mxnet_ CMakeFiles/mxnet.dir/src/api/_api_internal/_api_internal.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_det.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_eig.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_eigvals.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_gesvd.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_inv.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_lstsq.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_matrix_rank.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_norm.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_pinv.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_potrf.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_qr.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_slogdet.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_solve.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_tensorinv.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/linalg/np_tensorsolve.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_bincount_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_broadcast_reduce_op_boolean.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_broadcast_reduce_op_index.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_broadcast_reduce_op_value.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_cross.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_cumsum.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_delete_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_diff_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_ediff1d_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_einsum_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_elemwise_broadcast_logic_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_elemwise_broadcast_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_elemwise_broadcast_op_extended_sec.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_elemwise_unary_op_basic.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_fill_diagonal_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_histogram_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_init_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_insert_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_interp_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_kron.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_matmul_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_matrix_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_memory_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_moments_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_nan_to_num_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_nonzero_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_pad_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_percentile_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_polynomial_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_repeat_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_tensordot_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_trace_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_tri_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_tril_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_triu_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_unique_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_where_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/np_window_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_choice_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_exponential_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_laplace_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_location_scale_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_pareto_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_power_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_rayleigh_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/numpy/random/np_weibull_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/op_utils.cc.o CMakeFiles/mxnet.dir/src/api/operator/random/np_gamma_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/random/np_normal_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/random/np_uniform_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/random/shuffle_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/tensor/elemwise_binary_broadcast_op_extended.cc.o CMakeFiles/mxnet.dir/src/api/operator/tensor/indexing_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/tensor/matrix_op.cc.o CMakeFiles/mxnet.dir/src/api/operator/ufunc_helper.cc.o CMakeFiles/mxnet.dir/src/api/operator/utils.cc.o CMakeFiles/mxnet.dir/src/base.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_error.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_executor.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_function.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_ndarray.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_profile.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_symbolic.cc.o CMakeFiles/mxnet.dir/src/c_api/c_api_test.cc.o CMakeFiles/mxnet.dir/src/c_api/c_predict_api.cc.o CMakeFiles/mxnet.dir/src/common/cuda_utils.cc.o CMakeFiles/mxnet.dir/src/common/exec_utils.cc.o CMakeFiles/mxnet.dir/src/common/rtc.cc.o CMakeFiles/mxnet.dir/src/common/utils.cc.o CMakeFiles/mxnet.dir/src/engine/engine.cc.o CMakeFiles/mxnet.dir/src/engine/naive_engine.cc.o CMakeFiles/mxnet.dir/src/engine/openmp.cc.o CMakeFiles/mxnet.dir/src/engine/threaded_engine.cc.o CMakeFiles/mxnet.dir/src/engine/threaded_engine_perdevice.cc.o CMakeFiles/mxnet.dir/src/engine/threaded_engine_pooled.cc.o CMakeFiles/mxnet.dir/src/executor/attach_op_execs_pass.cc.o CMakeFiles/mxnet.dir/src/executor/attach_op_resource_pass.cc.o CMakeFiles/mxnet.dir/src/executor/eliminate_common_expr_pass.cc.o CMakeFiles/mxnet.dir/src/executor/graph_executor.cc.o CMakeFiles/mxnet.dir/src/executor/infer_graph_attr_pass.cc.o CMakeFiles/mxnet.dir/src/executor/inplace_addto_detect_pass.cc.o CMakeFiles/mxnet.dir/src/executor/pointwise_fusion_pass.cc.o CMakeFiles/mxnet.dir/src/imperative/cached_op.cc.o CMakeFiles/mxnet.dir/src/imperative/cached_op_threadsafe.cc.o CMakeFiles/mxnet.dir/src/imperative/imperative.cc.o CMakeFiles/mxnet.dir/src/imperative/imperative_utils.cc.o CMakeFiles/mxnet.dir/src/imperative/naive_cached_op.cc.o CMakeFiles/mxnet.dir/src/initialize.cc.o CMakeFiles/mxnet.dir/src/io/batchify.cc.o CMakeFiles/mxnet.dir/src/io/dataloader.cc.o CMakeFiles/mxnet.dir/src/io/dataset.cc.o CMakeFiles/mxnet.dir/src/io/image_aug_default.cc.o CMakeFiles/mxnet.dir/src/io/image_det_aug_default.cc.o CMakeFiles/mxnet.dir/src/io/image_io.cc.o CMakeFiles/mxnet.dir/src/io/io.cc.o CMakeFiles/mxnet.dir/src/io/iter_csv.cc.o CMakeFiles/mxnet.dir/src/io/iter_image_det_recordio.cc.o CMakeFiles/mxnet.dir/src/io/iter_image_recordio.cc.o CMakeFiles/mxnet.dir/src/io/iter_image_recordio_2.cc.o CMakeFiles/mxnet.dir/src/io/iter_libsvm.cc.o CMakeFiles/mxnet.dir/src/io/iter_mnist.cc.o CMakeFiles/mxnet.dir/src/io/iter_sampler.cc.o CMakeFiles/mxnet.dir/src/ir/expr.cc.o CMakeFiles/mxnet.dir/src/kvstore/gradient_compression.cc.o CMakeFiles/mxnet.dir/src/kvstore/kvstore.cc.o CMakeFiles/mxnet.dir/src/kvstore/kvstore_utils.cc.o CMakeFiles/mxnet.dir/src/lang/expr.cc.o CMakeFiles/mxnet.dir/src/lang/ir.cc.o CMakeFiles/mxnet.dir/src/libinfo.cc.o CMakeFiles/mxnet.dir/src/ndarray/ndarray.cc.o CMakeFiles/mxnet.dir/src/ndarray/ndarray_function.cc.o CMakeFiles/mxnet.dir/src/nnvm/amp_infer_unknown.cc.o CMakeFiles/mxnet.dir/src/nnvm/gradient.cc.o CMakeFiles/mxnet.dir/src/nnvm/graph_editor.cc.o CMakeFiles/mxnet.dir/src/nnvm/legacy_json_util.cc.o CMakeFiles/mxnet.dir/src/nnvm/legacy_op_util.cc.o CMakeFiles/mxnet.dir/src/nnvm/low_precision_pass.cc.o CMakeFiles/mxnet.dir/src/nnvm/plan_memory.cc.o CMakeFiles/mxnet.dir/src/nnvm/tvm_bridge.cc.o CMakeFiles/mxnet.dir/src/operator/batch_norm_v1.cc.o CMakeFiles/mxnet.dir/src/operator/bilinear_sampler.cc.o CMakeFiles/mxnet.dir/src/operator/c_lapack_api.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/adamw.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/adaptive_avg_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/all_finite.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/allclose_op.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/amp_graph_pass.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/batch_norm_relu.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/bilinear_resize.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/boolean_mask.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/bounding_box.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/count_sketch.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/deformable_convolution.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/deformable_psroi_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/dgl_graph.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/fft.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/gradient_multiplier_op.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/hawkes_ll.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/ifft.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/index_array.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/index_copy.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/krprod.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/modulated_deformable_convolution.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multi_lamb.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multi_lars.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multi_proposal.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multi_sum_sq.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multibox_detection.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multibox_prior.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/multibox_target.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/nnz.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/optimizer_op.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/preloaded_multi_sgd.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/proposal.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/psroi_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/quadratic_op.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/reset_arrays.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/roi_align.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/rroi_align.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/stes_op.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/sync_batch_norm.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/transformer.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/tvmop/dot.cc.o CMakeFiles/mxnet.dir/src/operator/contrib/tvmop/ufunc.cc.o CMakeFiles/mxnet.dir/src/operator/control_flow.cc.o CMakeFiles/mxnet.dir/src/operator/convolution_v1.cc.o CMakeFiles/mxnet.dir/src/operator/correlation.cc.o CMakeFiles/mxnet.dir/src/operator/crop.cc.o CMakeFiles/mxnet.dir/src/operator/cross_device_copy.cc.o CMakeFiles/mxnet.dir/src/operator/custom/custom.cc.o CMakeFiles/mxnet.dir/src/operator/custom/native_op.cc.o CMakeFiles/mxnet.dir/src/operator/custom/ndarray_op.cc.o CMakeFiles/mxnet.dir/src/operator/fusion/fused_op.cc.o CMakeFiles/mxnet.dir/src/operator/grid_generator.cc.o CMakeFiles/mxnet.dir/src/operator/identity_attach_KL_sparse_reg.cc.o CMakeFiles/mxnet.dir/src/operator/image/crop.cc.o CMakeFiles/mxnet.dir/src/operator/image/image_random.cc.o CMakeFiles/mxnet.dir/src/operator/image/resize.cc.o CMakeFiles/mxnet.dir/src/operator/instance_norm.cc.o CMakeFiles/mxnet.dir/src/operator/l2_normalization.cc.o CMakeFiles/mxnet.dir/src/operator/leaky_relu.cc.o CMakeFiles/mxnet.dir/src/operator/loss_binary_op.cc.o CMakeFiles/mxnet.dir/src/operator/make_loss.cc.o CMakeFiles/mxnet.dir/src/operator/nn/activation.cc.o CMakeFiles/mxnet.dir/src/operator/nn/batch_norm.cc.o CMakeFiles/mxnet.dir/src/operator/nn/concat.cc.o CMakeFiles/mxnet.dir/src/operator/nn/convolution.cc.o CMakeFiles/mxnet.dir/src/operator/nn/ctc_loss.cc.o CMakeFiles/mxnet.dir/src/operator/nn/cudnn/cudnn_algoreg.cc.o CMakeFiles/mxnet.dir/src/operator/nn/cudnn/cudnn_batch_norm.cc.o CMakeFiles/mxnet.dir/src/operator/nn/deconvolution.cc.o CMakeFiles/mxnet.dir/src/operator/nn/dropout.cc.o CMakeFiles/mxnet.dir/src/operator/nn/fully_connected.cc.o CMakeFiles/mxnet.dir/src/operator/nn/group_norm.cc.o CMakeFiles/mxnet.dir/src/operator/nn/im2col.cc.o CMakeFiles/mxnet.dir/src/operator/nn/layer_norm.cc.o CMakeFiles/mxnet.dir/src/operator/nn/log_softmax.cc.o CMakeFiles/mxnet.dir/src/operator/nn/lrn.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_act.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_base.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_concat.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_convolution.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_copy.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_deconvolution.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_fully_connected.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_log_softmax.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_reshape.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_rnn.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_slice.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_softmax.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_softmax_output.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_sum.cc.o CMakeFiles/mxnet.dir/src/operator/nn/mkldnn/mkldnn_transpose.cc.o CMakeFiles/mxnet.dir/src/operator/nn/moments.cc.o CMakeFiles/mxnet.dir/src/operator/nn/pooling.cc.o CMakeFiles/mxnet.dir/src/operator/nn/softmax.cc.o CMakeFiles/mxnet.dir/src/operator/nn/softmax_activation.cc.o CMakeFiles/mxnet.dir/src/operator/nn/softmin.cc.o CMakeFiles/mxnet.dir/src/operator/nn/upsampling.cc.o CMakeFiles/mxnet.dir/src/operator/nnpack/nnpack_util.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_eig.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_eigvals.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_gesvd.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_lstsq.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_matrix_rank.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_norm.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_norm_backward.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_norm_forward.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_pinv.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_potrf.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_qr.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_solve.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_tensorinv.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_tensorsolve.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_bincount_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_boolean_mask_assign.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_broadcast_reduce_op_boolean.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_broadcast_reduce_op_index.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_broadcast_reduce_op_value.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_constraint_check.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_cross.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_cumsum.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_delete_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_diff.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_dot.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_ediff1d_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_einsum_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_broadcast_logic_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_broadcast_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_broadcast_op_extended.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_broadcast_op_extended_sec.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_unary_op_basic.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_fill_diagonal_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_init_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_insert_op_scalar.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_insert_op_slice.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_insert_op_tensor.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_interp_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_kron.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_matmul_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_matrix_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_memory_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_moments_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_nonzero_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_pad_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_percentile_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_polynomial_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_repeat_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_tensordot_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_trace_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_tri_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_tril_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_triu_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_true_divide.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_unique_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_where_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/np_window_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/dist_common.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_bernoulli_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_choice_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_exponential_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_gamma_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_laplace_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_location_scale_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_multinomial_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_normal_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_pareto_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_power_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_rayleigh_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_uniform_op.cc.o CMakeFiles/mxnet.dir/src/operator/numpy/random/np_weibull_op.cc.o CMakeFiles/mxnet.dir/src/operator/operator.cc.o CMakeFiles/mxnet.dir/src/operator/operator_tune.cc.o CMakeFiles/mxnet.dir/src/operator/operator_util.cc.o CMakeFiles/mxnet.dir/src/operator/optimizer_op.cc.o CMakeFiles/mxnet.dir/src/operator/pad.cc.o CMakeFiles/mxnet.dir/src/operator/pooling_v1.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/calibrate.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/dequantize.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_act.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_batch_norm.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_concat.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_conv.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_elemwise_add.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_flatten.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_fully_connected.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/mkldnn/mkldnn_quantized_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantize.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantize_graph_pass.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantize_v2.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_activation.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_batch_norm.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_concat.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_conv.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_elemwise_add.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_elemwise_mul.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_flatten.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_fully_connected.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_indexing_op.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/quantized_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/quantization/requantize.cc.o CMakeFiles/mxnet.dir/src/operator/random/multisample_op.cc.o CMakeFiles/mxnet.dir/src/operator/random/pdf_op.cc.o CMakeFiles/mxnet.dir/src/operator/random/sample_multinomial_op.cc.o CMakeFiles/mxnet.dir/src/operator/random/sample_op.cc.o CMakeFiles/mxnet.dir/src/operator/random/shuffle_op.cc.o CMakeFiles/mxnet.dir/src/operator/random/unique_sample_op.cc.o CMakeFiles/mxnet.dir/src/operator/regression_output.cc.o CMakeFiles/mxnet.dir/src/operator/rnn.cc.o CMakeFiles/mxnet.dir/src/operator/roi_pooling.cc.o CMakeFiles/mxnet.dir/src/operator/sequence_last.cc.o CMakeFiles/mxnet.dir/src/operator/sequence_mask.cc.o CMakeFiles/mxnet.dir/src/operator/sequence_reverse.cc.o CMakeFiles/mxnet.dir/src/operator/slice_channel.cc.o CMakeFiles/mxnet.dir/src/operator/softmax_output.cc.o CMakeFiles/mxnet.dir/src/operator/spatial_transformer.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/build_subgraph.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/default_subgraph_property.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/default_subgraph_property_v2.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/mkldnn/mkldnn_conv.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/mkldnn/mkldnn_fc.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/mkldnn/mkldnn_subgraph_property.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/tensorrt/nnvm_to_onnx.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/tensorrt/onnx_to_tensorrt.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph/tensorrt/tensorrt.cc.o CMakeFiles/mxnet.dir/src/operator/subgraph_op_common.cc.o CMakeFiles/mxnet.dir/src/operator/svm_output.cc.o CMakeFiles/mxnet.dir/src/operator/swapaxis.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/amp_cast.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_minmax_value.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_norm_value.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_op_index.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_op_value.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_prod_value.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/broadcast_reduce_sum_value.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/cast_storage.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/control_flow_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/diag_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/dot.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_broadcast_op_basic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_broadcast_op_extended.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_broadcast_op_logic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_op_basic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_op_extended.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_op_logic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_scalar_op_basic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_scalar_op_extended.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_binary_scalar_op_logic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_scatter_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_sum.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_unary_op_basic.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_unary_op_logexp.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_unary_op_pow.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/elemwise_unary_op_trig.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/histogram.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/index_add_backward.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/index_add_forward.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/indexing_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/init_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/la_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/matrix_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/ordering_op.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/ravel.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/sparse_retain.cc.o CMakeFiles/mxnet.dir/src/operator/tensor/square_sum.cc.o CMakeFiles/mxnet.dir/src/operator/tvmop/op_module.cc.o CMakeFiles/mxnet.dir/src/profiler/aggregate_stats.cc.o CMakeFiles/mxnet.dir/src/profiler/nvtx.cc.o CMakeFiles/mxnet.dir/src/profiler/profiler.cc.o CMakeFiles/mxnet.dir/src/profiler/storage_profiler.cc.o CMakeFiles/mxnet.dir/src/profiler/vtune.cc.o CMakeFiles/mxnet.dir/src/resource.cc.o CMakeFiles/mxnet.dir/src/runtime/c_runtime_api.cc.o CMakeFiles/mxnet.dir/src/runtime/container.cc.o CMakeFiles/mxnet.dir/src/runtime/ndarray_handle.cc.o CMakeFiles/mxnet.dir/src/runtime/object.cc.o CMakeFiles/mxnet.dir/src/runtime/registry.cc.o CMakeFiles/mxnet.dir/src/storage/storage.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/c_api/c_api_error.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/c_api/c_api_graph.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/c_api/c_api_symbolic.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/core/graph.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/core/node.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/core/op.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/core/pass.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/core/symbolic.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/correct_layout.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/gradient.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/infer_shape_type.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/order_mutation.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/place_device.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/plan_memory.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/print_graph_ir.cc.o CMakeFiles/mxnet.dir/3rdparty/tvm/nnvm/src/pass/saveload_json.cc.o | 3rdparty/mkldnn/src/libdnnl.a /usr/lib/libopenblas.so /usr/lib/librt.so /usr/lib/libopencv_highgui.so.4.3.0 3rdparty/openmp/runtime/src/libomp.so 3rdparty/dmlc-core/libdmlc.a /usr/lib/libopencv_videoio.so.4.3.0 /usr/lib/libopencv_imgcodecs.so.4.3.0 /usr/lib/libopencv_imgproc.so.4.3.0 /usr/lib/libopencv_core.so.4.3.0 /usr/lib/libgomp.so /usr/lib/libpthread.so || 3rdparty/dmlc-core/libdmlc.a 3rdparty/mkldnn/src/libdnnl.a 3rdparty/openmp/runtime/src/libomp.so
  LANGUAGE_COMPILE_FLAGS = -Wall -Wno-sign-compare -O3 -fopenmp
  LINK_LIBRARIES = -Wl,-rpath,/mnt/wkcn/proj/incubator-mxnet/build/3rdparty/openmp/runtime/src:  -ldl  3rdparty/mkldnn/src/libdnnl.a  /usr/lib/libopenblas.so  /usr/lib/librt.so  /usr/lib/libopencv_highgui.so.4.3.0  3rdparty/openmp/runtime/src/libomp.so  -lpthread  -llapack  3rdparty/dmlc-core/libdmlc.a  /usr/lib/libopencv_videoio.so.4.3.0  /usr/lib/libopencv_imgcodecs.so.4.3.0  /usr/lib/libopencv_imgproc.so.4.3.0  /usr/lib/libopencv_core.so.4.3.0  -ldl  -lpthread  /usr/lib/libgomp.so  /usr/lib/libpthread.so  -lrt -latomic
  OBJECT_DIR = CMakeFiles/mxnet.dir
  POST_BUILD = cd /mnt/wkcn/proj/incubator-mxnet/build && /usr/bin/cmake -E copy /mnt/wkcn/proj/incubator-mxnet/build/3rdparty/mkldnn/include/dnnl_config.h /mnt/wkcn/proj/incubator-mxnet/include/mkldnn/ && /usr/bin/cmake -E copy /mnt/wkcn/proj/incubator-mxnet/build/3rdparty/mkldnn/include/dnnl_version.h /mnt/wkcn/proj/incubator-mxnet/include/mkldnn/
  PRE_LINK = :
  SONAME = libmxnet.so
  SONAME_FLAG = -Wl,-soname,
  TARGET_COMPILE_PDB = CMakeFiles/mxnet.dir/
  TARGET_FILE = libmxnet.so
  TARGET_PDB = libmxnet.pdb
woreom commented 4 years ago

@wkcn I didn't understand where should I add -latomic

wkcn commented 4 years ago

@woreom In the building directory, there is a file named build/build.ninja. Open the file and search build libmxnet.so, append -latomic into the end of LINK_LIBRARIES. (about 4732th line).

woreom commented 4 years ago

@wkcn I did that now only file is not getting build. I get this error

[1/1] Linking CXX executable tests/mxnet_unit_tests
FAILED: tests/mxnet_unit_tests 
: && /usr/bin/g++  -Wall -Wno-sign-compare -O3 -fopenmp -O3 -DNDEBUG   tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/engine_shutdown_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/omp_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/thread_local_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/threaded_engine_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/kvstore/gpu_topology_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/misc/base.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/misc/libinfo_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/batchnorm_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/coreop_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/dropout_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/fully_conn_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/krprod_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/mkldnn_operator_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/mkldnn_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/runner/core_op_runner_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/slice_channel_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/storage/storage_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/test_main.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/thread_safety/thread_safety_test.cc.o  -o tests/mxnet_unit_tests  -Wl,-rpath,/mnt/USB/.mxnet/mxnet/build:/usr/local/lib lib/libgtest.a 3rdparty/dmlc-core/libdmlc.a /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack libmxnet.so 3rdparty/dmlc-core/libdmlc.a /usr/lib/gcc/arm-linux-gnueabihf/7/libgomp.so /usr/lib/arm-linux-gnueabihf/libpthread.so -lrt /usr/local/lib/libopencv_highgui.so.4.0.0 /usr/local/lib/libopencv_videoio.so.4.0.0 /usr/local/lib/libopencv_imgcodecs.so.4.0.0 /usr/local/lib/libopencv_imgproc.so.4.0.0 /usr/local/lib/libopencv_core.so.4.0.0 -ldl /usr/lib/arm-linux-gnueabihf/libopenblas.so /usr/lib/arm-linux-gnueabihf/librt.so -llapack && :
/usr/bin/ld: tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o: undefined reference to symbol '__atomic_fetch_sub_8@@LIBATOMIC_1.0'
/usr/bin/ld: //usr/lib/arm-linux-gnueabihf/libatomic.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
leezu commented 4 years ago

@wkcn @woreom to avoid manually editing the build.ninja file, you can also specify this line

https://github.com/apache/incubator-mxnet/blob/da252734c70164a0983404de076464ba7a526a60/ci/docker/runtime_functions.sh#L235

when configuring the project with cmake. This is currently necessary for the ARMv6 architecture which is used by Raspberry Pi 1. Maybe we can detect this automatically.

Also be sure to apt install ccache to speed up subsequent compilation attempts.

woreom commented 4 years ago

I ended up compiling everything with gcc-4.9 and g++-4.9 (python,OpenCV,mxnet). it also seems the version of your python is also important I used python-3.7.4