Sorry, that should be: ./b2 install --build-type=minimal --toolset=gcc cxxflags=-fPIC --prefix=/path/to/prefix
(I left out the = after --toolset).. On Mon, Apr 6, 2015 at 10:29 AM, Nathan Rusch <[email protected]> wrote: > 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
