BVLC / caffe

Caffe: a fast open framework for deep learning.
http://caffe.berkeleyvision.org/
Other
34.06k stars 18.7k forks source link

BUG: error happens while building the project using cmake, if without preinstall `gflags`. #7052

Closed yanxiuzi closed 2 years ago

yanxiuzi commented 2 years ago

Issue summary

BUG: error happens while building the project using cmake, if without preinstall gflags.

Steps to reproduce

I build this by docker nvcr.io/nvidia/cuda:11.3.0-devel-ubuntu20.04. This is not without its impact. The file build.make that auto generated by cmake during build time has shown the reason. Please focus on -BUILD_CONFIG_TESTS=OFF. This will set cmake build dir to UILD_CONFIG_TESTS=OFF, then cmake try to open dir /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-build then exec $(MAKE) command.

external/gflags-prefix/src/gflags-stamp/gflags-configure: external/gflags-prefix/tmp/gflags-cfgcmd.txt
external/gflags-prefix/src/gflags-stamp/gflags-configure: external/gflags-prefix/src/gflags-stamp/gflags-update
external/gflags-prefix/src/gflags-stamp/gflags-configure: external/gflags-prefix/src/gflags-stamp/gflags-patch
    @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/ivs-dl-sdk-demo/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Performing configure step for 'gflags'"
    cd /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-build && /usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/ivs-dl-sdk-demo/build/external/gflags-install -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DBUILD_PACKAGING=OFF -DBUILD_TESTING=OFF -DBUILD_NC_TESTS=OFF -BUILD_CONFIG_TESTS=OFF -DINSTALL_HEADERS=ON -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC "-GUnix Makefiles" /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags
    cd /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-build && /usr/bin/cmake -E touch /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-stamp/gflags-configure

external/gflags-prefix/src/gflags-stamp/gflags-build: external/gflags-prefix/src/gflags-stamp/gflags-configure
    @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/ivs-dl-sdk-demo/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Performing build step for 'gflags'"
    cd /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-build && $(MAKE)
    cd /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-build && /usr/bin/cmake -E touch /ivs-dl-sdk-demo/build/external/gflags-prefix/src/gflags-stamp/gflags-build

After that, you will get error output as no configure files:

[ 50%] Built target gflags_nothreads-static
Scanning dependencies of target gflags-static
[ 62%] Building CXX object CMakeFiles/gflags-static.dir/src/gflags.cc.o
^Cmake[2]: *** [CMakeFiles/gflags-static.dir/build.make:63: CMakeFiles/gflags-static.dir/src/gflags.cc.o] Interrupt
make[1]: *** [CMakeFiles/Makefile2:161: CMakeFiles/gflags-static.dir/all] Interrupt
make: *** [Makefile:130: all] Interrupt

Tried solutions

fix the file cmake/External/gflags.cmake:39, the right code is -DBUILD_CONFIG_TESTS=OFF.

System configuration

Issue checklist

lovie123 commented 1 year ago

您好,邮件已收到,谢谢!