1

I'm trying to follow these http://docs.opencv.org/doc/tutorials/introduction/ios_install/ios_install.html steps to build opencv for ios and got the following error:

-- Setting up iPhoneSimulator toolchain
-- iPhoneSimulator toolchain loaded
-- Setting up iPhoneSimulator toolchain
-- iPhoneSimulator toolchain loaded
-- The CXX compiler identification is GNU 4.2.1
-- The C compiler identification is GNU 4.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Detected version of GNU GCC: 42 (402)
-- Performing Test HAVE_CXX_FSIGNED_CHAR
-- Performing Test HAVE_CXX_FSIGNED_CHAR - Failed
-- Performing Test HAVE_C_FSIGNED_CHAR
-- Performing Test HAVE_C_FSIGNED_CHAR - Failed
-- Performing Test HAVE_CXX_W
-- Performing Test HAVE_CXX_W - Failed
-- Performing Test HAVE_C_W
-- Performing Test HAVE_C_W - Failed
-- Performing Test HAVE_CXX_WALL
-- Performing Test HAVE_CXX_WALL - Failed
-- Performing Test HAVE_C_WALL
-- Performing Test HAVE_C_WALL - Failed
-- Performing Test HAVE_CXX_WERROR_RETURN_TYPE
-- Performing Test HAVE_CXX_WERROR_RETURN_TYPE - Failed
-- Performing Test HAVE_C_WERROR_RETURN_TYPE
-- Performing Test HAVE_C_WERROR_RETURN_TYPE - Failed
-- Performing Test HAVE_CXX_WERROR_ADDRESS
-- Performing Test HAVE_CXX_WERROR_ADDRESS - Failed
-- Performing Test HAVE_C_WERROR_ADDRESS
-- Performing Test HAVE_C_WERROR_ADDRESS - Failed
-- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT
-- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT - Failed
-- Performing Test HAVE_C_WERROR_SEQUENCE_POINT

-- Performing Test HAVE_C_WERROR_SEQUENCE_POINT - Failed

I use OSX 10.8.5 and XCode 5.0.2 I've tried to specify python executable explicitly

cmakeargs = ("-GXcode " +
                "-DPYTHON_EXECUTABLE=/usr/bin/python " +
                "-DCMAKE_BUILD_TYPE=Release " +
                "-DCMAKE_TOOLCHAIN_FILE=%s/platforms/ios/cmake/Toolchains/Toolchain-%s_Xcode.cmake " +
                "-DBUILD_opencv_world=ON " +
                "-DCMAKE_INSTALL_PREFIX=install") % (srcroot, target)

But it didn't help. Also I tried to downgrade to opencv 2.4 - it didn't help either. Please advice.

UPDATE Found very first fail:

-- Setting up iPhoneOS toolchain
-- iPhoneOS toolchain loaded
-- Detected version of GNU GCC: 42 (402)
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - not found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Could NOT find JNI (missing:  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2)
--
-- General configuration for OpenCV 2.4.8 =====================================
--   Version control:               unknown
--
--   Platform:
--     Host:                        Darwin 12.5.0 i386
--     Target:                      iOS
--     CMake:                       2.8.9
--     CMake generator:             Xcode
--     CMake build tool:            /Applications/CMake 2.8-9.app/Contents/bin/cmakexbuild
--     Xcode:                       5.0.2
--
--   C/C++:
--     Built as dynamic libs?:      NO
--     C++ Compiler:                /usr/bin/g++  (ver 4.2.1)
--     C++ flags (Release):         -stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden -fPIC   -DNDEBUG -O3 -fomit-frame-pointer -ffast-math  -DNDEBUG
--     C++ flags (Debug):           -stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden -fPIC   -g  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /usr/bin/gcc
--     C flags (Release):           -fPIC   -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -fPIC   -g  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):
--     Linker flags (Debug):
--     Precompiled headers:         NO
--
--   OpenCV modules:
--     To be built:                 core flann imgproc highgui features2d calib3d ml nonfree objdetect video contrib legacy photo stitching videostab world
--     Disabled:                    -
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera dynamicuda gpu java ocl python superres ts
--
--   GUI:
--     Cocoa:                       YES
--     OpenGL support:              NO
--
--   Media I/O:
--     ZLib:                        build (ver 1.2.7)
--     JPEG:                        build (ver 62)
--     PNG:                         build (ver 1.5.12)
--     TIFF:                        NO
--     JPEG 2000:                   NO
--     OpenEXR:                     NO
--
--   Video I/O:
--     AVFoundation:                YES
--     QuickTime:                   NO
--     QTKit:                       NO
--     V4L/V4L2:                    NO/NO
--
--   Other third-party libraries:
--     Use IPP:                     NO
--     Use Eigen:                   NO
--     Use TBB:                     NO
--     Use OpenMP:                  NO
--     Use GCD                      YES
--     Use Concurrency              NO
--     Use C=:                      NO
--     Use Cuda:                    NO
--     Use OpenCL:                  NO
--
--   Python:
--     Interpreter:                 /usr/bin/python (ver 2.7.2)
--
--   Java:
--     ant:                         NO
--     JNI:                         JAVA_INCLUDE_PATH-NOTFOUND JAVA_INCLUDE_PATH2-NOTFOUND /System/Library/Frameworks/JavaVM.framework/Headers
--     Java tests:                  NO
--
--   Documentation:
--     Build Documentation:         NO
--     Sphinx:                      NO
--     PdfLaTeX compiler:           NO
--
--   Tests and samples:
--     Tests:                       NO
--     Performance tests:           NO
--     C/C++ Examples:              NO
--
--   Install path:                  /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/install
--
--   cvconfig.h is in:              /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64
User defaults from command line:
    IDEBuildOperationMaxNumberOfConcurrentCompileTasks = 8

Build settings from command line:
    ARCHS = arm64
    IPHONEOS_DEPLOYMENT_TARGET = 6.0
    SDKROOT = iphoneos7.0

Build Preparation
Build task concurrency set to 8 via user default IDEBuildOperationMaxNumberOfConcurrentCompileTasks

=== BUILD TARGET zlib OF PROJECT OpenCV WITH CONFIGURATION Release ===

Check dependencies

CompileC /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzwrite.o 3rdparty/zlib/gzwrite.c normal arm64 c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/podlipensky/Sites/opencv
    setenv LANG en_US.US-ASCII
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/podlipensky/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/Users/podlipensky/Downloads/arcanist/bin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -arch arm64 -fmessage-length=118 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O3 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -DCMAKE_INTDIR=\"Release-iphoneos\" -DNO_FSEEKO -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -fstrict-aliasing -Wdeprecated-declarations -Wno-sign-conversion -miphoneos-version-min=6.0 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/lib/Release/include -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib -I/Users/podlipensky/Sites/opencv/3rdparty/zlib -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/DerivedSources/arm64 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/lib/Release -fPIC -fPIC -DNDEBUG -DNDEBUG -MMD -MT dependencies -MF /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzwrite.d --serialize-diagnostics /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzwrite.dia -c /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzwrite.c -o /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzwrite.o
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzwrite.c:84:15: error: implicit declaration of function 'write' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
        got = write(state->fd, strm->next_in, strm->avail_in);
              ^
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzwrite.c:84:15: note: did you mean 'fwrite'?
        got = write(state->fd, strm->next_in, strm->avail_in);
              ^~~~~
              fwrite
In file included from /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzwrite.c:6:
In file included from /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzguts.h:21:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/stdio.h:252:9: note:
      'fwrite' declared here
size_t   fwrite(const void * __restrict, size_t, size_t, FILE * __restrict) __DARWIN_ALIAS(fwrite);
         ^
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzwrite.c:561:9: error: implicit declaration of function 'close' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
    if (close(state->fd) == -1)
        ^
2 errors generated.

CompileC /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzread.o 3rdparty/zlib/gzread.c normal arm64 c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/podlipensky/Sites/opencv
    setenv LANG en_US.US-ASCII
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/podlipensky/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/Users/podlipensky/Downloads/arcanist/bin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -arch arm64 -fmessage-length=118 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O3 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -DCMAKE_INTDIR=\"Release-iphoneos\" -DNO_FSEEKO -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -fstrict-aliasing -Wdeprecated-declarations -Wno-sign-conversion -miphoneos-version-min=6.0 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/lib/Release/include -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib -I/Users/podlipensky/Sites/opencv/3rdparty/zlib -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/DerivedSources/arm64 -I/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/lib/Release -fPIC -fPIC -DNDEBUG -DNDEBUG -MMD -MT dependencies -MF /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzread.d --serialize-diagnostics /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzread.dia -c /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzread.c -o /Users/podlipensky/Sites/ios/build/iPhoneOS-arm64/3rdparty/zlib/OpenCV.build/Release-iphoneos/zlib.build/Objects-normal/arm64/gzread.o
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzread.c:30:15: error: implicit declaration of function 'read' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
        ret = read(state->fd, buf + *have, len - *have);
              ^
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzread.c:30:15: note: did you mean 'fread'?
        ret = read(state->fd, buf + *have, len - *have);
              ^~~~
              fread
In file included from /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzread.c:6:
In file included from /Users/podlipensky/Sites/opencv/3rdparty/zlib/gzguts.h:21:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/stdio.h:245:9: note:
      'fread' declared here
size_t   fread(void * __restrict, size_t, size_t, FILE * __restrict);
         ^
/Users/podlipensky/Sites/opencv/3rdparty/zlib/gzread.c:586:11: error: implicit declaration of function 'close' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
    ret = close(state->fd);

1 Answer 1

6

Eventually I managed to solve the problem by adding these lines into buld_framework.py line 40:

"-DPYTHON_EXECUTABLE=/usr/bin/python " +
"-DCMAKE_C_FLAGS=\"-Wno-implicit-function-declaration\" " +
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.