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

Reply via email to