anhttran / extreme_3d_faces

Extreme 3D Face Reconstruction: Looking Past Occlusions
Other
785 stars 184 forks source link

BaselFace.cpp:(.text+0x7a): undefined reference to `H5::H5Location::openDataSet(std::string const&) const' #15

Closed VegeWong closed 5 years ago

VegeWong commented 5 years ago

I intend to run the code on a public server with CUDA 8.0 preinstalled in /usr/local and dlib-19.15, hdf5-1.10.1 installed in my user directory ( /home/user )

Got errors while build 'make'

wanghanjing@lhtserver-2:~/extreme_3d_faces/build$ make
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
Scanning dependencies of target CvGl
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[  7%] Building CXX object modules/CvGl/CMakeFiles/CvGl.dir/FBRender.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 14%] Linking CXX static library libCvGl.a
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 14%] Built target CvGl
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
Scanning dependencies of target PoseExprLib
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 21%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/utility.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 28%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/epnp.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 35%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/BaselFace.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 42%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/BaselFaceEstimator.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 50%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/FTModel.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 57%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/FImRenderer.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 64%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/RenderModel.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 71%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/FaceServices2.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 78%] Building CXX object modules/PoseExpr/CMakeFiles/PoseExprLib.dir/src/DlibWrapper.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 85%] Linking CXX static library libPoseExprLib.a
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 85%] Built target PoseExprLib
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
Scanning dependencies of target TestBump
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 92%] Building CXX object config/CMakeFiles/TestBump.dir/__/main.cpp.o
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[100%] Linking CXX executable ../bin/TestBump
/usr/bin/cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
../modules/PoseExpr/libPoseExprLib.a(DlibWrapper.cpp.o): In function `_GLOBAL__sub_I__ZN11DlibWrapperC2EPc':
DlibWrapper.cpp:(.text.startup+0x46): undefined reference to `USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2'
CMakeFiles/TestBump.dir/__/main.cpp.o: In function `_GLOBAL__sub_I__Z6loadLMPKc':
main.cpp:(.text.startup+0x18ca): undefined reference to `USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2'
../modules/PoseExpr/libPoseExprLib.a(BaselFace.cpp.o): In function `readH5Dataset(H5::H5File const&, std::string const&)':
BaselFace.cpp:(.text+0x7a): undefined reference to `H5::H5Location::openDataSet(std::string const&) const'
../modules/PoseExpr/libPoseExprLib.a(BaselFace.cpp.o): In function `BaselFace::load(std::string const&)':
BaselFace.cpp:(.text+0x306c): undefined reference to `H5::Exception::getDetailMsg() const'
collect2: error: ld returned 1 exit status
config/CMakeFiles/TestBump.dir/build.make:128: recipe for target 'bin/TestBump' failed
make[2]: *** [bin/TestBump] Error 1
CMakeFiles/Makefile2:196: recipe for target 'config/CMakeFiles/TestBump.dir/all' failed
make[1]: *** [config/CMakeFiles/TestBump.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Could anyone help to figure out what's going wrong in the procedure? With thanks and appreciation

The output of cmake is attached as follows:

wanghanjing@lhtserver-2:~/extreme_3d_faces/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=../bin -D BOOST_LIBRARYDIR=/usr/lib/x86_64-linux-gnu -D CUDA_USE_STATIC_CUDA_RUNTIME=OFF ..
cmake: /usr/local/anaconda3/lib/libcurl.so.4: no version information available (required by cmake)
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/local/anaconda3/bin/cc
-- Check for working C compiler: /usr/local/anaconda3/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/local/anaconda3/bin/c++
-- Check for working CXX compiler: /usr/local/anaconda3/bin/cQ++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CUDA: /usr/local/cuda-8.0 (found suitable exact version "8.0") 
OpenCV information:
  OpenCV_INCLUDE_DIRS: /home/wanghanjing/opencv-2.4.13.6/build;/home/wanghanjing/opencv-2.4.13.6/include;/home/wanghanjing/opencv-2.4.13.6/include/opencv;/home/wanghanjing/opencv-2.4.13.6/modules/core/include;/home/wanghanjing/opencv-2.4.13.6/modules/flann/include;/home/wanghanjing/opencv-2.4.13.6/modules/imgproc/include;/home/wanghanjing/opencv-2.4.13.6/modules/highgui/include;/home/wanghanjing/opencv-2.4.13.6/modules/features2d/include;/home/wanghanjing/opencv-2.4.13.6/modules/calib3d/include;/home/wanghanjing/opencv-2.4.13.6/modules/ml/include;/home/wanghanjing/opencv-2.4.13.6/modules/video/include;/home/wanghanjing/opencv-2.4.13.6/modules/legacy/include;/home/wanghanjing/opencv-2.4.13.6/modules/objdetect/include;/home/wanghanjing/opencv-2.4.13.6/modules/photo/include;/home/wanghanjing/opencv-2.4.13.6/modules/gpu/include;/home/wanghanjing/opencv-2.4.13.6/modules/ocl/include;/home/wanghanjing/opencv-2.4.13.6/modules/nonfree/include;/home/wanghanjing/opencv-2.4.13.6/modules/contrib/include;/home/wanghanjing/opencv-2.4.13.6/modules/stitching/include;/home/wanghanjing/opencv-2.4.13.6/modules/superres/include;/home/wanghanjing/opencv-2.4.13.6/modules/ts/include;/home/wanghanjing/opencv-2.4.13.6/modules/videostab/include
  OpenCV_LIBRARIES: opencv_videostab;opencv_video;opencv_ts;opencv_superres;opencv_stitching;opencv_photo;opencv_ocl;opencv_objdetect;opencv_nonfree;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   system
Boost information:
  Boost_INCLUDE_DIRS: /usr/include
  Boost_LIBRARIES: /usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_system.so
  Boost_LIBRARY_DIRS: /usr/lib/x86_64-linux-gnu
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp  
OPENMP FOUND
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wanghanjing/extreme_3d_faces/build
VegeWong commented 5 years ago

I have solved this by setting the target_link _library in CMakeList.txt of PoseExpr manully