mzolfaghari / ECO-efficient-video-understanding

Code and models of paper " ECO: Efficient Convolutional Network for Online Video Understanding", ECCV 2018
MIT License
436 stars 96 forks source link

CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create' #15

Open SomeO opened 6 years ago

SomeO commented 6 years ago

Determining if the pthread_create exist failed with the following output: Change Dir: /home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_35b4f/fast" /usr/bin/make -f CMakeFiles/cmTC_35b4f.dir/build.make CMakeFiles/cmTC_35b4f.dir/build make[1]: Entering directory '/mnt/raid3/home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_35b4f.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTC_35b4f.dir/CheckSymbolExists.c.o -c /home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_35b4f /usr/local/lib/python3.5/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_35b4f.dir/link.txt --verbose=1 /usr/bin/cc -rdynamic CMakeFiles/cmTC_35b4f.dir/CheckSymbolExists.c.o -o cmTC_35b4f CMakeFiles/cmTC_35b4f.dir/CheckSymbolExists.c.o: In function main': CheckSymbolExists.c:(.text+0x16): undefined reference topthread_create' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_35b4f.dir/build.make:86: recipe for target 'cmTC_35b4f' failed make[1]: [cmTC_35b4f] Error 1 make[1]: Leaving directory '/mnt/raid3/home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_35b4f/fast' failed make: [cmTC_35b4f/fast] Error 2

File /home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: / /

include

int main(int argc, char** argv) { (void)argv;

ifndef pthread_create

return ((int*)(&pthread_create))[argc];

else

(void)argc; return 0;

endif

}

Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_403cc/fast" /usr/bin/make -f CMakeFiles/cmTC_403cc.dir/build.make CMakeFiles/cmTC_403cc.dir/build make[1]: Entering directory '/mnt/raid3/home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_403cc.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_403cc.dir/CheckFunctionExists.c.o -c /usr/local/lib/python3.5/dist-packages/cmake/data/share/cmake-3.12/Modules/Chec kFunctionExists.c Linking C executable cmTC_403cc /usr/local/lib/python3.5/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_403cc.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_403cc.dir/CheckFunctionExists.c.o -o cmTC_403cc -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status CMakeFiles/cmTC_403cc.dir/build.make:86: recipe for target 'cmTC_403cc' failed make[1]: [cmTC_403cc] Error 1 make[1]: Leaving directory '/mnt/raid3/home/lijie/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_403cc/fast' failed make: [cmTC_403cc/fast] Error 2

@mzolfaghari when I run cmake ..,I met this problem above,please help,thanks!

arleyzhang commented 5 years ago

I met the same mistake as you.

If you check the cmake output carefully, you will find there is an error:

CMake Error at docs/CMakeLists.txt:82 (file):
  file STRINGS file
  "/home/host/ECO-efficient-video-understanding/caffe_3d/.Doxyfile"
  cannot be read.

and when you check the ~/ECO-efficient-video-understanding/caffe_3d/build/CMakeFiles/CMakeError.log file, the content was the same as you wrote above. Then you can copy a ".Doxyfile" file from caffe to "ECO-efficient-video-understanding/caffe_3d" or you can also modify the "CMakeList.txt" file: line 24: caffe_option(BUILD_docs "Build documentation" ON IF UNIX OR APPLE) replace this line to: caffe_option(BUILD_docs "Build documentation" OFF)

And then all errors will disappear and you can cmake and make.

TwinkleYR commented 5 years ago

models_ECO_Lite/kinetics/run.sh: 7: models_ECO_Lite/kinetics/run.sh: train: not found when I use run.sh to realize the caffe_model on kinetics,I met this problem above. I think this error is related to the path,but the path is true, please help me thanks!