[Bf-committers] Library building fails on OpenImageIO with Ubuntu 12.10

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Nov 30 05:20:46 CET 2012


It seems OpenImageIO was built with WebP, but Blender doesn't link to
it. The simple trick to get it to compile could be to just add ;webp
to the end of FFMPEG_LIBRARIES. This isn't really the proper place but
there isn't a variable currently where it fits.

Brecht.

On Thu, Nov 29, 2012 at 10:46 PM, Nathan Vegdahl <cessen at cessen.com> wrote:
> All of the libraries appear to have built fine, but now Blender fails
> at the very end:
>
> ----
> Building C object source/creator/CMakeFiles/blender.dir/buildinfo.c.o
> Linking CXX executable ../../bin/blender
> /opt/lib/oiio/lib/libOpenImageIO.a(webpinput.cpp.o): In function
> `OpenImageIO::v1_1::webp_pvt::WebpInput::open(std::string const&,
> OpenImageIO::v1_1::ImageSpec&)':
> webpinput.cpp:(.text+0x7e5): undefined reference to `WebPGetInfo'
> webpinput.cpp:(.text+0xfc8): undefined reference to `WebPDecodeRGBA'
> /opt/lib/oiio/lib/libOpenImageIO.a(webpoutput.cpp.o): In function
> `OpenImageIO::v1_1::webp_pvt::WebpOutput::close()':
> webpoutput.cpp:(.text+0x16): undefined reference to `WebPPictureFree'
> /opt/lib/oiio/lib/libOpenImageIO.a(webpoutput.cpp.o): In function
> `OpenImageIO::v1_1::webp_pvt::WebpOutput::write_scanline(int, int,
> OpenImageIO::v1_1::TypeDesc, void const*, long)':
> webpoutput.cpp:(.text+0x1c2): undefined reference to `WebPPictureImportRGB'
> webpoutput.cpp:(.text+0x1d1): undefined reference to `WebPEncode'
> webpoutput.cpp:(.text+0x241): undefined reference to `WebPPictureImportRGBA'
> /opt/lib/oiio/lib/libOpenImageIO.a(webpoutput.cpp.o): In function
> `OpenImageIO::v1_1::webp_pvt::WebpOutput::open(std::string const&,
> OpenImageIO::v1_1::ImageSpec const&,
> OpenImageIO::v1_1::ImageOutput::OpenMode)':
> webpoutput.cpp:(.text+0x3c6): undefined reference to `WebPPictureInitInternal'
> webpoutput.cpp:(.text+0x417): undefined reference to `WebPConfigInitInternal'
> collect2: error: ld returned 1 exit status
> make[2]: *** [bin/blender] Error 1
> make[1]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
> make: *** [all] Error 2
> ----
>
> Everything up until the final linking seemed to build fine.  I'm using
> CMake, and started from scratch in a clean directory with this command
> as instructed at the end of the install_deps.sh script:
> cmake -D CYCLES_OSL=/opt/lib/osl -D WITH_CYCLES_OSL=ON -D
> LLVM_VERSION=3.1 -D WITH_CODEC_FFMPEG=ON -D FFMPEG=/opt/lib/ffmpeg -D
> FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoradec;theoraenc;theora;vorbisenc;vorbisfile;vorbis;xvidcore;vpx;mp3lame;x264;openjpeg;schroedinger-1.0'
> ../blender/
>
> Followed by "make -j4"
>
> --Nathan
>
> On Thu, Nov 29, 2012 at 1:02 PM, Nathan Vegdahl <cessen at cessen.com> wrote:
>> OIIO builds fine now.  Thanks!
>>
>> On Thu, Nov 29, 2012 at 12:22 AM, Sergey Sharybin <sergey.vfx at gmail.com> wrote:
>>> Hi,
>>>
>>> I've tweaked install_deps.sh a little so now ubuntu should be happy.
>>>
>>> Real fix would be to not build shared oiio library (which is not needed
>>> anyway) but which always builds currently (that's more up to oiio guys,
>>> i'll investigate this later and will send them a patch).
>>>
>>>
>>> On Thu, Nov 29, 2012 at 12:32 PM, Nathan Vegdahl <cessen at cessen.com> wrote:
>>>
>>>> Oh, I should add that building Open Image IO myself manually (just
>>>> typing "make" and hitting enter) successfully builds.  It's only when
>>>> it's build via the script that it fails.
>>>>
>>>> On Wed, Nov 28, 2012 at 10:31 PM, Nathan Vegdahl <cessen at cessen.com>
>>>> wrote:
>>>> > Not sure if this is a bug or if I'm just doing something wrong.  I'm
>>>> > running the new install_deps.sh script on Ubuntu 12.10 64-bit, and
>>>> > it's failing at the very last step of buidling Open Image IO:
>>>> >
>>>> > ----
>>>> > Linking CXX shared library OpenImageIO.so
>>>> > /usr/bin/ld:
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libboost_filesystem-mt.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/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libboost_filesystem-mt.a:
>>>> > could not read symbols: Bad value
>>>> > collect2: error: ld returned 1 exit status
>>>> > make[2]: *** [python/OpenImageIO.so] Error 1
>>>> > make[1]: *** [python/CMakeFiles/PyOpenImageIO.dir/all] Error 2
>>>> > make: *** [all] Error 2
>>>> > OpenImageIO-1.1.1 failed to compile, exiting
>>>> > ----
>>>> >
>>>> > Am I doing something wrong here, or is this a bug in the script (or
>>>> > the Ubuntu packaged boost libraries)?
>>>> >
>>>> > --Nathan
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>
>>>
>>>
>>>
>>> --
>>> With best regards, Sergey Sharybin
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list