ok, thanks! --------- Original Message --------- Subject: Re: [Oiio-dev] a couple linux build related questions From: "Nathan Rusch" <[email protected]> Date: 4/6/15 10:29 am To: "OpenImageIO developers" <[email protected]>
It's pretty obscure, but this is what we use: ./b2 install --build-type=minimal --toolset gcc cxxflags=-fPIC --prefix=/path/to/prefix -Nathan On Fri, Apr 3, 2015 at 8:22 PM, <[email protected]> wrote: Hey Nathan, Thanks for the response, you wouldn't happen to know what configuration flag or option that is when building Boost from source do you? Is there an additional argument on the boostrap.sh to just pass arbitrary compiler flags? If there was I couldn't find it in the --help Thanks again, Steven --------- Original Message --------- Subject: Re: [Oiio-dev] a couple linux build related questions From: "Nathan Rusch" <[email protected]> Date: 4/3/15 3:58 pm To: "OpenImageIO developers" <[email protected]> Yes, you need to recompile your dependencies (Boost, etc.) using -fPIC. -Nathan From: [email protected] Sent: Friday, April 03, 2015 3:18 PM To: [email protected] Subject: Re: [Oiio-dev] a couple linux build related questions Ok, I found out it was my fault the BUILDSTATIC and LINKSTATIC variables were being ignored. I can now use BUILDSTATIC but can't use LINKSTATIC... I don't mind using OpenImageIO library as a shared library I am more worried about the external dependencies like Boost and ILMBase/OpenEXR. Am I correct in thinking that is what LINKSTATIC is for? I used CMake to create a make file in a separate directory. This is BUILDSTATIC=0 and LINKSTATIC=1 [root@linux01 oiio-RB-1.5_build]# make Scanning dependencies of target OpenImageIO_Util [ 1%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/argparse.cpp.o [ 1%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/errorhandler.cpp.o [ 2%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/filesystem.cpp.o [ 3%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/filter.cpp.o [ 3%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/hashes.cpp.o [ 4%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/paramlist.cpp.o [ 5%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/plugin.cpp.o [ 5%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/SHA1.cpp.o [ 6%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/strutil.cpp.o [ 7%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/sysutil.cpp.o [ 7%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/timer.cpp.o [ 8%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/typedesc.cpp.o [ 9%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o Linking CXX shared library libOpenImageIO_Util.so /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(operations.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libboost_filesystem.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [src/libutil/libOpenImageIO_Util.so.1.5.14] Error 1 make[1]: *** [src/libutil/CMakeFiles/OpenImageIO_Util.dir/all] Error 2 make: *** [all] Error 2 It mentions I need to recompile with -fPIC... does it mean Boost or OIIO? I build Boost from src using... ./bootstrap.sh --prefix=/usr/local ./b2 install --with=all --------- Original Message --------- Subject: [Oiio-dev] a couple linux build related questions From: [email protected] Date: 4/1/15 12:07 pm To: [email protected] Hey Gang, Our studio is switching from Windows to Linux and I am happy to report building on Linux is indeed significantly easier than on Windows! I am a little new to this but I enabled BUILDSTATIC and LINKSTATIC in the CMake gui but when I launch oiiotool, it is not able to find the libraries it needs. Should I be able to build oiiotool with all of its dependencies statically linked? Is there some exception which would cause the two static flags to be ignored? As a workaround I am adding some extra linker flags... -Wl,-R,'$ORIGIN/../lib' this at least allows a relative path to be used for run time loading of libraries. And I can put all the libraries in one directory on the network and have oiiotool find them. Thanks, Steven _______________________________________________ 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 _______________________________________________ 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
