That error indicates that you need to build boost with -fPIC.


On 8/2/2019 4:52 PM, Trevor Cable wrote:
I only used the -fPIC flag when the error message stated to recompile with -fPIC. I thought I’d try that.

However, I an ideal world I’d like a statically linked oiiotool.


I’ll keep chugging away with the issues I’m having but in the mean I’m going back to version 1.5x as I simply can’t get oiio to compile on Centos 7. I’m on a tight deadline. 

Thank you.





On Aug 2, 2019, at 3:22 PM, Larry Gritz <[email protected]> wrote:

It looks like you are trying to build a -fPIC version of OIIO but then link against a boost that is statically linked and not built with -fPIC.

Is there a reason you are using the EXTRA_CPP_ARGS=-fPIC with OIIO, or a reason you are using static boost libs instead of dynamic?


On Aug 2, 2019, at 1:19 PM, Trevor Cable <[email protected]> wrote:

Thank you all for the feedback regarding the jpeg library. I reinstalled the various jpeg libraries and none of them put a header file in  /usr/include/. I manually moved jpeglib.h from the src tree into /usr/include and that got me past that particular issue.

However, I am stumped again with another error.  This is a clean install of Centos and I’m using all of the recommended versions of dependencies so I’m not sure what’s going on.


I am now facing linking issues. I mostly do osx development and have dealt with linking issues before but with this I’m to sure where to even start troubleshooting. 
I have tried adding -fPIC to the compiler as the error suggests but this did not help.

make USE_QT=0 USE_PYTHON=0

I tried this as well:  make USE_QT=0 USE_PYTHON=0 EXTRA_CPP_ARGS=-fPIC


Here is the short version of the output:

/usr/bin/ld: /usr/local/lib/libboost_filesystem.a(operations.o): relocation R_X86_64_32 against hidden symbol `_ZZN5boost6system15system_categoryEvE24system_category_instance' can not be used when making a shared object
/usr/bin/ld: /usr/local/lib/libboost_filesystem.a(path.o): relocation R_X86_64_32S against symbol `_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libboost_filesystem.a(unique_path.o): relocation R_X86_64_32 against hidden symbol `_ZZN5boost6system15system_categoryEvE24system_category_instance' can not be used when making a shared object
/usr/bin/ld: /usr/local/lib/libboost_thread.a(thread.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libboost_thread.a(once.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libboost_regex.a(instances.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libboost_regex.a(regex.o): relocation R_X86_64_32S against hidden symbol `_ZTVN5boost11regex_errorE' can not be used when making a shared object
/usr/bin/ld: /usr/local/lib/libboost_regex.a(regex_traits_defaults.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libboost_regex.a(cpp_regex_traits.o): relocation R_X86_64_32 against hidden symbol `_ZZN5boost16cpp_regex_traitsIcE14get_mutex_instEvE7s_mutex' can not be used when making a shared object
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[3]: *** [src/libutil/libOpenImageIO_Util.so.2.0.9] Error 1


Thanks for any suggestions.


On Aug 2, 2019, at 10:20 AM, Larry Gritz <[email protected]> wrote:

Looks like jpeg, not openjpeg.

On my CentOS system at work, I see /usr/lib64/libjpeg.so, and /usr/include/jpeglib.h (as well as turbojpeg.h in the same directory). Do you see those installed on your machine?



On Aug 2, 2019, at 10:18 AM, Alex Hughes <[email protected]> wrote:

Would be my guess as well, openjpeg-devel is installed for me



On Fri, Aug 2, 2019 at 10:13 AM Nathan R <[email protected]> wrote:
If you're using the system openjpeg package, my guess is that you haven't installed openjpeg-devel.

On 8/2/2019 9:38 AM, Trevor Cable wrote:
Greetins,
I am working on a project in which oiio would be a fantastic addition but I must use Centos 7 on our farm.  I actually just need oiiotool but presume I need to compile the entire package for this to work.

Centos 7
Linux node01.#####.net 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Cmake 3.15.1
Boost 1.70
gcc 8.1.0
OpenEXR 2.2
libTiff 4.0.9
libRaw 0.19.3
libPng 1.6.37
libJpg 6b
openJPEG - most recent


Upon using ‘make USE_QT=0’ I get an error:
CMake Error at /usr/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)

I have been reading up on CMake but am unable to get to the root cause. I’ve checked that the JPEG lib and binaries are in the correct system locations. 


I’ll include the entire output below.
Does anyone know what might be causing this?

Also, has anyone successfully compiled oiio on Centos 7?  The repo version is too old for production use so I can’t use that.


Thank you for any tips that might point me in the right direction. I will continue reading up on CMake in the mean time.


******************** BEGIN CONSOLE OUTPUT ***************************

[tcable@node01 oiio-release]$ make USE_QT=0
-- The CXX compiler identification is GNU 8.1.0
-- The C compiler identification is GNU 8.1.0
-- Check for working CXX compiler: /usr/local/bin/c++
-- Check for working CXX compiler: /usr/local/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/local/bin/gcc
-- Check for working C compiler: /usr/local/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake version is 3.15.1
CMake Deprecation Warning at CMakeLists.txt:17 (cmake_policy):
  The OLD behavior for policy CMP0046 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- Project build dir   = /home/tcable/oiio-release/build/linux64
-- Project install dir = /home/tcable/oiio-release/dist/linux64
-- platform = linux64
-- CMAKE_CXX_COMPILER is /usr/local/bin/c++
-- CMAKE_CXX_COMPILER_ID is GNU
-- Building for C++11
-- clang-format not found.
-- Setting Namespace to: OpenImageIO_v2_0
-- Found Boost 1.70.0 at /usr/local/lib/cmake/Boost-1.70.0
--   Requested configuration: QUIET REQUIRED COMPONENTS filesystem;system;thread;regex
-- Found boost_headers 1.70.0 at /usr/local/lib/cmake/boost_headers-1.70.0
-- Found boost_filesystem 1.70.0 at /usr/local/lib/cmake/boost_filesystem-1.70.0
--   libboost_filesystem.a
-- Adding boost_filesystem dependencies: headers
-- Found boost_system 1.70.0 at /usr/local/lib/cmake/boost_system-1.70.0
--   libboost_system.a
-- Adding boost_system dependencies: headers
-- Found boost_thread 1.70.0 at /usr/local/lib/cmake/boost_thread-1.70.0
--   libboost_thread.a
-- Adding boost_thread dependencies: headers
-- Found boost_regex 1.70.0 at /usr/local/lib/cmake/boost_regex-1.70.0
--   libboost_regex.a
-- Adding boost_regex dependencies: headers
-- OCIO not found. Specify OCIO_PATH to locate it
-- Skipping OpenColorIO support
-- No Qt5 -- skipping components that need Qt5.
-- Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR) 
-- Field3d will not be used
-- Intel TBB not found, TBB_ROOT_DIR=''
-- OpenVDB will not be used, could not find Intel TBB
CMake Error at /usr/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.15/Modules/FindJPEG.cmake:100 (find_package_handle_standard_args)
  src/cmake/externalpackages.cmake:359 (find_package)
  CMakeLists.txt:135 (include)


-- Configuring incomplete, errors occurred!
See also "/home/tcable/oiio-release/build/linux64/CMakeFiles/CMakeOutput.log".
See also "/home/tcable/oiio-release/build/linux64/CMakeFiles/CMakeError.log".
make: *** [cmakesetup] Error 1


*********************** END CONSOLE OUTPUT ***************************














_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to