TadasBaltrusaitis / OpenFace

OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.
Other
6.71k stars 1.82k forks source link

make failed #1072

Open mohamedredaoumahdi opened 5 months ago

mohamedredaoumahdi commented 5 months ago

Describe the bug i have a problem with building the build folder. i followed the steps :

brew update
brew install gcc 
brew install boost
brew install tbb
brew install openblas
brew install --build-from-source dlib
brew install wget
brew install opencv

cd external_libs
mkdir openFace
cd openFace
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
cd OpenFace

mkdir build
cd build
cmake -D WITH_OPENMP=ON CMAKE_BUILD_TYPE=RELEASE ..  
make

cd ..
bash download_models.sh 
cp lib/local/LandmarkDetector/model/patch_experts/*.dat build/bin/model/patch_experts/

but when i run make command it stops at 86% and it shows me this following error :

[ 86%] Linking CXX executable ../../bin/FaceLandmarkImg ld: Undefined symbols: dlib::entropy_decoder_kernel_2::get_target(unsigned int), referenced from: dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::1::basic_istream<char, std::__1::char_traits>&, std::1::basic_ostream<char, std::1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&) in FaceLandmarkImg.cpp.o dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&) in FaceLandmarkImg.cpp.o dlib::entropy_decoder_kernel_2::set_stream(std::__1::basic_istream<char, std::1::char_traits>&), referenced from: dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::1::basic_istream<char, std::__1::char_traits>&, std::1::basic_ostream<char, std::1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int), referenced from: dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::__1::basic_istream<char, std::1::char_traits>&, std::1::basic_ostream<char, std::__1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&) in FaceLandmarkImg.cpp.o dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&) in FaceLandmarkImg.cpp.o dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&) in FaceLandmarkImg.cpp.o dlib::entropy_decoder_kernel_2::entropy_decoder_kernel_2(), referenced from: dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::1::basic_istream<char, std::1::char_traits>&, std::__1::basic_ostream<char, std::1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::entropy_decoder_kernel_2::~entropy_decoder_kernel_2(), referenced from: dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::1::basic_istream<char, std::__1::char_traits>&, std::1::basic_ostream<char, std::1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::compress_stream_kernel_1<dlib::entropy_encoder_model_kernel_5<257ul, dlib::entropy_encoder_kernel_2, 200000ul, 4ul>, dlib::entropy_decoder_model_kernel_5<257ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>, dlib::crc32>::decompress(std::1::basic_istream<char, std::1::char_traits>&, std::__1::basic_ostream<char, std::1::char_traits>&) const in FaceLandmarkImg.cpp.o dlib::base64::base64(), referenced from: dlib::get_serialized_frontal_faces() in FaceLandmarkImg.cpp.o dlib::base64::~base64(), referenced from: dlib::get_serialized_frontal_faces() in FaceLandmarkImg.cpp.o dlib::get_serialized_frontal_faces() in FaceLandmarkImg.cpp.o dlib::base64::decode(std::1::basic_istream<char, std::__1::char_traits>&, std::1::basic_ostream<char, std::__1::char_traits>&) const, referenced from: dlib::get_serialized_frontal_faces() in FaceLandmarkImg.cpp.o clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: [bin/FaceLandmarkImg] Error 1 make[1]: [exe/FaceLandmarkImg/CMakeFiles/FaceLandmarkImg.dir/all] Error 2 make: *** [all] Error 2

i m using MacBook pro 2017 and i think the problem with blib and the error showes that there is some Undefined symbols.

brmarkus commented 5 months ago

Looks like everything regarding DLIB is missing.

Was the command brew install --build-from-source dlib successful? Where conflicts reported? What happens, when you call it again?

Which versions of the components were installed, maybe your environment is an older base and only installed too old versions of the dependencies? (sorry, I don't have a MAC environment available)