Closed abhiTronix closed 6 years ago
Here is the CMakeError of the build:
/usr/bin/cc -fPIE -o CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o -c /home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_3796c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3796c.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o -o cmTC_3796c -rdynamic
CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x48): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_3796c.dir/build.make:97: recipe for target 'cmTC_3796c' failed
make[1]: *** [cmTC_3796c] Error 1
make[1]: Leaving directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_3796c/fast' failed
make: *** [cmTC_3796c/fast] Error 2
File /home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>
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/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_d6b85/fast"
/usr/bin/make -f CMakeFiles/cmTC_d6b85.dir/build.make CMakeFiles/cmTC_d6b85.dir/build
make[1]: Entering directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -fPIE -o CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.7/Modules/CheckFunctionExists.c
Linking C executable cmTC_d6b85
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d6b85.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o -o cmTC_d6b85 -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_d6b85.dir/build.make:97: recipe for target 'cmTC_d6b85' failed
make[1]: *** [cmTC_d6b85] Error 1
make[1]: Leaving directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_d6b85/fast' failed
make: *** [cmTC_d6b85/fast] Error 2
Any Idea what is wrong???
That stuff seems unrelated to the error you originally posted. So no idea.
Finally after 4 days of Recompiling , Reinstalling and Retesting i was able to find out the final solution.
@davisking I myself not able to figure out what problem really was (Latest dlib 19.13.99 confirmed not working on my Raspberry pi 3), building time is too long (seems to stuck at 100% and finally giving error as mentioned above), and not able to integrate Openblas library (that i self-compiled from source), also GCC optimizing flags not working too only -mfpu=neon
seems to work .
falling back to dlib 19.13.0 (Stable) i was able to compile it properly and along with optimized Openblas (with Lapack) Library and GCC Neon optimization flags (currently available for Raspberry Pi) for Ultimate performance in facial Recognition.
Moreover i'm using OpenCV with Latest TBB support too (check it on my git) in which output is now reaching 25+ fps in face recognition with normal webcam on my Raspberry Pi 3 :).
Thankyou. I'm closing it now.
Expected Behavior
dlib python should compile as previous builds.
Current Behavior
dlib python build fails at 100% everytime with error.
Steps to Reproduce
sudo python setup.py install --compiler-flags "-O3 -mfpu=neon-vfpv4 -fprofile-generate"
Retried rebuilding it from scratch, but same error at 100%.