On 23/07/2015 20:12, Sebastian Schoellhammer wrote:
Hello everyone,I have problems building oiio on macOS. I have installed the dependencies via fink. This is the bit that fails (at 93% :/): Linking CXX executable imagebuf_test cd /seb/code/oiio/build/macosx/src/libOpenImageIO && /sw/bin/cmake -E cmake_link_script CMakeFiles/imagebuf_test.dir/link.txt --verbose=1 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -O3 -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/imagebuf_test.dir/imagebuf_test.cpp.o -o imagebuf_test -L/sw/opt/boost-1_55/lib libOpenImageIO.a /sw/opt/boost-1_55/lib/libboost_filesystem-mt-1_55.dylib /sw/opt/boost-1_55/lib/libboost_regex-mt-1_55.dylib /sw/opt/boost-1_55/lib/libboost_system-mt-1_55.dylib /sw/opt/boost-1_55/lib/libboost_thread-mt-1_55.dylib /sw/lib/libHalf.dylib /sw/lib/libIex.dylib /sw/lib/libImath.dylib /sw/lib/libIlmThread.dylib -lopencv_core -lopencv_highgui /sw/lib/libpng.dylib /usr/lib/libz.dylib /sw/lib/libtiff.dylib /sw/lib/libjpeg.dylib /usr/lib/libz.dylib /sw/lib/libtiff.dylib /sw/lib/libjpeg.dylib /sw/lib/libwebp.dylib /sw/lib/libIlmImf.dylib /sw/lib/libgif.dylib /sw/lib/libraw_r.dylib /sw/lib/libHalf.dylib /sw/lib/libIex.dylib /sw/lib/libImath.dylib /sw/lib/libIlmThread.dylib -Wl,-rpath,/sw/opt/boost-1_55/lib ld: library not found for -lopencv_core clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [src/libOpenImageIO/imagebuf_test] Error 1 make[2]: *** [src/libOpenImageIO/CMakeFiles/imagebuf_test.dir/all] Error 2 make[1]: *** [all] Error 2 I ran this to build: make USE_OPENGL=0 USE_QT=0 USE_PYTHON=0 BUILDSTATIC=1 USE_FIELD3D=0 USE_FFMPEG=0 USE_NUKE=0 USE_OCIO=0 VERBOSE=1 It seems the library for opencv is missing but I do have libopencv_core.dylib and others in /sw/lib Thinking it maybe doesn't have that path I tried adding below project (OpenImageIO) set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "/sw/lib") into CMakeLists.txt but that did not really help.
In the link command you get -lopencv_core - other libs in /sw/lib have a full path and /sw/lib does not appear to be added as a search path. I can think of two options - 1. add -L/sw/lib to LDFLAGS (or CXXFLAGS) another option would be to put it in CMAKE_EXE_LINKER_FLAGS similar to the following. 2. define OpenCV_LIBS and OpenCV_LIBS_highgui by adding -DOpenCV_LIBS='/sw/lib/libopencv_core.dylib' -DOpenCV_LIBS_highgui='/sw/lib/libopencv_highgui.dylib' to your cmake command - that's the cmake command before you run make. You can also use ccmake or cmake-gui to set these. It would appear to be finding the header files so OpenCV_INCLUDE_DIR is either defined right or you have another copy of opencv headers outside of /sw If you have other errors when linking then you may also need to point to matching opencv header files. I expect these would be in /sw/include -- FreeBSD - the place to B...Software Developing Shane Ambler _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
