Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python 3.6 compile error #7987

Closed
dbermond opened this issue Jan 9, 2017 · 2 comments
Closed

python 3.6 compile error #7987

dbermond opened this issue Jan 9, 2017 · 2 comments

Comments

@dbermond
Copy link

dbermond commented Jan 9, 2017

After the update to Python 3.6 I'm getting the following compile error in git master version:

[ 98%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o
[ 98%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
/home/user/abs/opencv-noffmpeg-git/src/opencv-noffmpeg-git/modules/python/src2/cv2.cpp:6:20: fatal error: Python.h: No such file or directory
 #include <Python.h>
                    ^
compilation terminated.
make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:180: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2063: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 99%] Linking CXX shared module ../../lib/cv2.so
[ 99%] Built target opencv_python2
make: *** [Makefile:161: all] Error 2
System information (version)
  • OpenCV: git master
  • Operating System / Platform: Arch Linux x86_64
  • Compiler: gcc 6.2.1
  • Python: 3.6.0
Steps to reproduce
cmake \
	-DBUILD_SHARED_LIBS:BOOL=ON \
	\
	-DBUILD_opencv_apps:BOOL=ON             -DBUILD_opencv_calib3d:BOOL=ON  	-DBUILD_opencv_core:BOOL=ON \
	-DBUILD_opencv_features2d:BOOL=ON       -DBUILD_opencv_flann:BOOL=ON    	-DBUILD_opencv_highgui:BOOL=ON \
	-DBUILD_opencv_imgcodecs:BOOL=ON        -DBUILD_opencv_imgproc:BOOL=ON  	-DBUILD_opencv_ml:BOOL=ON \
	-DBUILD_opencv_objdetect:BOOL=ON        -DBUILD_opencv_photo:BOOL=ON    	-DBUILD_opencv_shape:BOOL=ON \
	-DBUILD_opencv_stitching:BOOL=ON        -DBUILD_opencv_superres:BOOL=ON 	-DBUILD_opencv_ts:BOOL=ON \
	-DBUILD_opencv_video:BOOL=ON            -DBUILD_opencv_videoio:BOOL=ON          -DBUILD_opencv_videostab:BOOL=ON \
	-DBUILD_opencv_world:BOOL=OFF \
	\
	-DBUILD_opencv_cudaarithm:BOOL=OFF      -DBUILD_opencv_cudabgsegm:BOOL=OFF      -DBUILD_opencv_cudacodec:BOOL=OFF \
	-DBUILD_opencv_cudafeatures2d:BOOL=OFF  -DBUILD_opencv_cudafilters:BOOL=OFF     -DBUILD_opencv_cudaimgproc:BOOL=OFF \
	-DBUILD_opencv_cudalegacy:BOOL=OFF      -DBUILD_opencv_cudaobjdetect:BOOL=OFF   -DBUILD_opencv_cudaoptflow:BOOL=OFF \
	-DBUILD_opencv_cudastereo:BOOL=OFF      -DBUILD_opencv_cudawarping:BOOL=OFF     -DBUILD_opencv_cudev:BOOL=OFF \
	\
	-DCUDA_64_BIT_DEVICE_CODE:BOOL=OFF \
	-DCUDA_FAST_MATH:BOOL=OFF \
	\
	-DCMAKE_BUILD_TYPE:STRING=Release \
	-DCMAKE_COLOR_MAKEFILE:BOOL=ON \
	-DCMAKE_CXX_FLAGS:STRING="-march=native -O2 -pipe -fstack-protector-strong" \
	-DCMAKE_C_FLAGS:STRING="-march=native -O2 -pipe -fstack-protector-strong" \
	-DCMAKE_INSTALL_PREFIX:PATH=/usr \
	-DCPACK_BINARY_DEB:BOOL=OFF \
	\
	-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=/usr/include/python2.7/numpy \
	-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=/usr/include/python3.6m/numpy \
	\
	-DENABLE_FAST_MATH:BOOL=ON \
	\
	-DENABLE_AVX:BOOL=ON     -DENABLE_AVX2:BOOL=ON    -DENABLE_FMA3:BOOL=ON   -DENABLE_POPCNT:BOOL=ON \
	-DENABLE_SSE:BOOL=ON     -DENABLE_SSE2:BOOL=ON    -DENABLE_SSE3:BOOL=ON   -DENABLE_SSSE3:BOOL=ON \
	-DENABLE_SSE41:BOOL=ON   -DENABLE_SSE42:BOOL=ON \
	\
	-DBUILD_EXAMPLES:BOOL=OFF \
	-DBUILD_PERF_TESTS:BOOL=OFF \
	-DBUILD_TESTS:BOOL=OFF \
	-DINSTALL_C_EXAMPLES:BOOL=OFF \
	-DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
	-DINSTALL_TESTS:BOOL=OFF \
	\
	-DWITH_1394:BOOL=ON       -DWITH_CLP:BOOL=OFF            -DWITH_CUBLAS:BOOL=OFF        -DWITH_CUDA:BOOL=OFF \
	-DWITH_CUFFT:BOOL=OFF     -DWITH_EIGEN:BOOL=ON           -DWITH_FFMPEG:BOOL=OFF        -DWITH_GDAL:BOOL=OFF \
	-DWITH_GIGEAPI:BOOL=OFF   -DWITH_GPHOTO2:BOOL=ON         -DWITH_GSTREAMER:BOOL=ON      -DWITH_GSTREAMER_0_10:BOOL=OFF \
	-DWITH_GTK:BOOL=ON        -DWITH_GTK_2_X:BOOL=ON         -DWITH_IPP_A:BOOL=ON          -DWITH_IPP:BOOL=ON \
	-DWITH_JASPER:BOOL=ON     -DWITH_JPEG:BOOL=ON            -DWITH_LIBV4L:BOOL=ON         -DWITH_NVCUVID:BOOL=ON \
	-DWITH_OPENCL:BOOL=ON     -DWITH_OPENCLAMDBLAS:BOOL=ON   -DWITH_OPENCLAMDFFT:BOOL=ON   -DWITH_OPENCL_SVM:BOOL=ON \
	-DWITH_OPENEXR:BOOL=ON    -DWITH_OPENGL:BOOL=ON          -DWITH_OPENMP:BOOL=ON         -DWITH_OPENNI:BOOL=OFF \
	-DWITH_OPENNI2:BOOL=OFF   -DWITH_PNG:BOOL=ON             -DWITH_PVAPI:BOOL=OFF         -DWITH_QT:BOOL=OFF \
	-DWITH_TBB:BOOL=ON        -DWITH_TIFF:BOOL=ON            -DWITH_UNICAP:BOOL=OFF        -DWITH_V4L:BOOL=ON \
	-DWITH_VTK:BOOL=OFF       -DWITH_WEBP:BOOL=ON            -DWITH_XIMEA:BOOL=OFF         -DWITH_XINE:BOOL=OFF \
	-DWITH_MATLAB:BOOL=OFF    -DWITH_OPENCLAMDFFT:BOOL=ON    -DWITH_PTHREADS_PF:BOOL=ON    -DWITH_VA_INTEL:BOOL=ON \
	\
	-DBUILD_JASPER:BOOL=OFF   -DBUILD_JPEG:BOOL=OFF          -DBUILD_OPENEXR:BOOL=OFF      -DBUILD_PNG:BOOL=OFF \
	-DBUILD_TIFF:BOOL=OFF     -DBUILD_ZLIB:BOOL=OFF \
	\
	-DOPENCV_WARNINGS_ARE_ERRORS:BOOL=OFF \
	-Wno-dev \
	.
	
	make
@alalek
Copy link
Member

alalek commented Jan 9, 2017

More details are required:

  • CMake stdout (from clean build)
  • files from build folder: CMakeCache.txt and CMakeVars.txt (as attachment or use "grep" for related problem keyword)
  • failed command line via make VERBOSE=1 (without any -j option)

@dbermond
Copy link
Author

dbermond commented Jan 9, 2017

Your answer gave me a hint to the solution.

I deleted CMakeCache.txt and CMakeVars.txt and compilation worked as usual.

CMake was not updating python from 3.5 to 3.6, even when explicitly adding all python3 flags pointed to 3.6. Deleting these files allowed CMake to detect python 3.6.

Solved.
Thank you for your assistance.

@dbermond dbermond closed this as completed Jan 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants