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

Reply via email to