On 23/09/2014 03:21, Etienne Fleurant wrote: > Thanks Shane, I should've thought about that. > > I compiled with 'make -j 1' and indeed it now always fails at the same > place. I also turned on CMAKE_VERBOSE_MAKEFILE. This is what I am getting: > ''' > ... > [ 89%] Built target imagespec_test > make -f src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/build.make > src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/depend > make[2]: Entering directory `/root/oiio-master/dist' > cd /root/oiio-master/dist && /usr/bin/cmake -E cmake_depends "Unix > Makefiles" /root/oiio-master /root/oiio-master/src/libOpenImageIO > /root/oiio-master/dist /root/oiio-master/dist/src/libOpenImageIO > /root/oiio-master/dist/src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/DependInfo.cmake > --color= > make[2]: Leaving directory `/root/oiio-master/dist' > make -f src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/build.make > src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/build > make[2]: Entering directory `/root/oiio-master/dist' > /usr/bin/cmake -E cmake_progress_report /root/oiio-master/dist/CMakeFiles > [ 89%] Building CXX object
This part is the source compile > src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/imagespeed_test.cpp.o > cd /root/oiio-master/dist/src/libOpenImageIO && /usr/bin/c++ > -D__STDC_LIMIT_MACROS -DOIIO_NO_SSE=1 -DUSE_FREETYPE -DUSE_OPENSSL=1 > -DUSE_BOOST_ASIO=1 -DEMBED_PLUGINS=1 -DUSE_GIF -DUSE_WEBP=1 -DPTEX_STATIC > -fPIC -pthread -O3 -DNDEBUG -I/usr/include/OpenEXR These -I dirs are header search paths - looking for openexr in /usr/include/ /usr/local/include - later libs are from /root > -I/usr/include/OpenEXR/OpenEXR -I/usr/local/include/OpenEXR > -I/usr/local/include/OpenEXR/OpenEXR -isystem /root/boost_1_46_1/boost > -I/root/oiio-master/src/include > -I/root/oiio-master/dist/include/OpenImageIO > -I/root/pipe_ready/utils/libpng/1.6.10/include > -I/root/pipe_ready/utils/zlib/1.2.8/include > -I/root/pipe_ready/utils/libjpeg-turbo/1.3.1/include > -I/root/pipe_ready/utils/libtiff/4.0.3/include > -I/root/pipe_ready/utils/giflib/5.0.5/include > -I/root/pipe_ready/utils/libwebp/0.4.0/include/webp > -I/usr/include/freetype2 -I/usr/include/freetype2/freetype -Wall > -fno-math-errno -UUSE_FIELD3D -o > CMakeFiles/imagespeed_test.dir/imagespeed_test.cpp.o -c > /root/oiio-master/src/libOpenImageIO/imagespeed_test.cpp This part links it together > Linking CXX executable imagespeed_test > cd /root/oiio-master/dist/src/libOpenImageIO && /usr/bin/cmake -E > cmake_link_script CMakeFiles/imagespeed_test.dir/link.txt --verbose=1 > /usr/bin/c++ -fPIC -pthread -O3 -DNDEBUG > CMakeFiles/imagespeed_test.dir/imagespeed_test.cpp.o -o imagespeed_test > -rdynamic -L/root/boost_1_46_1/stage/lib libOpenImageIO.a -L is search paths for libraries, you only have /root/boost_1_46_1 where does it find -ld -lssl -lcrypto -lfreetype ? > /root/boost_1_46_1/stage/lib/libboost_filesystem.a > /root/boost_1_46_1/stage/lib/libboost_regex.a > /root/boost_1_46_1/stage/lib/libboost_system.a > /root/boost_1_46_1/stage/lib/libboost_thread.a -ldl > /root/pipe_ready/ilmbase/2.0.1/lib/libHalf.a > /root/pipe_ready/ilmbase/2.0.1/lib/libIex-2_1.a > /root/pipe_ready/ilmbase/2.0.1/lib/libImath-2_1.a > /root/pipe_ready/ilmbase/2.0.1/lib/libIlmThread-2_1.a -lssl -lcrypto > -lfreetype /root/pipe_ready/utils/libpng/1.6.10/lib/libpng.a > /root/pipe_ready/utils/zlib/1.2.8/lib/libz.a > /root/pipe_ready/utils/libtiff/4.0.3/lib/libtiff.a > /root/pipe_ready/utils/libjpeg-turbo/1.3.1/lib/libjpeg.a > /root/pipe_ready/utils/zlib/1.2.8/lib/libz.a > /root/pipe_ready/utils/libtiff/4.0.3/lib/libtiff.a > /root/pipe_ready/utils/libjpeg-turbo/1.3.1/lib/libjpeg.a > /root/pipe_ready/utils/libwebp/0.4.0/lib/libwebp.a Here you have /root/pipe_ready/openexr does this version match /usr/include headers? > /root/pipe_ready/openexr/2.1.0/lib/libIlmImf-2_1.a > /root/pipe_ready/utils/giflib/5.0.5/lib/libgif.a > /root/pipe_ready/ilmbase/2.0.1/lib/libHalf.a > /root/pipe_ready/ilmbase/2.0.1/lib/libIex-2_1.a > /root/pipe_ready/ilmbase/2.0.1/lib/libImath-2_1.a > /root/pipe_ready/ilmbase/2.0.1/lib/libIlmThread-2_1.a > -Wl,-rpath,/root/boost_1_46_1/stage/lib > collect2: ld returned 1 exit status > make[2]: *** [src/libOpenImageIO/imagespeed_test] Error 1 > make[2]: Leaving directory `/root/oiio-master/dist' > make[1]: *** [src/libOpenImageIO/CMakeFiles/imagespeed_test.dir/all] Error 2 > make[1]: Leaving directory `/root/oiio-master/dist' > make: *** [all] Error 2 > ''' > Still, not too sure what is going on here... > > Any idea? Just guessing, ld isn't being very helpful. You could try adding --verbose to CMAKE_EXE_LINKER_FLAGS Do all of the .a files exist? -fPIC is to generate position independent code, good for dynamic libraries but I've had errors mixing it with static libs. You have -ldl -lssl -lcrypto -lfreetype which are dynamic libs > Thanks in advance > > 2014-09-18 23:40 GMT-04:00 Shane Ambler <[email protected]>: > >> On 19/09/2014 01:34, Etienne Fleurant wrote: >>> Hi, >>> >>> I am now trying to build static libraries for OIIO, without OCIO for the >>> moment. I want to be able to compile the static libs successfully before >> I >>> add OCIO in the equation. >>> >>> My issue seems to be a linking problem towards the end of the building >>> process, but what is strange in my case is that it doesn't seem to happen >>> always at the exact same place. >>> >> >> When running multiple tasks at the same time you can't guarantee they >> finish in the same order they started. You get three errors as they all >> started before the first error. >> >> Build with 'Make -j 1' and you should fail in the same place each time. >> >> Turn on CMAKE_VERBOSE_MAKEFILE to get more detailed output to help spot >> what is wrong. _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
