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

Sergey Sharybin sergey.vfx at gmail.com
Fri Nov 30 09:02:09 CET 2012


I'm adding -lwebp to CMAKE_EXE_LINKER_FLAGS, if you're using SCons this
PLATFORM_LINKFLAGS is proper place.

Do't think we need webp, will check if we can force disabling it in OIIO.


On Fri, Nov 30, 2012 at 10:20 AM, Brecht Van Lommel <
brechtvanlommel at pandora.be> wrote:

> 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
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
With best regards, Sergey Sharybin


More information about the Bf-committers mailing list