LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   OpenImageIO on Slackware - ffmpeg libs issues (https://www.linuxquestions.org/questions/slackware-14/openimageio-on-slackware-ffmpeg-libs-issues-4175536050/)

MisterBark 03-07-2015 02:01 PM

OpenImageIO on Slackware - ffmpeg libs issues
 
Hi,

I am working on the compilation of blender.
Blender needs OpenImageIO (OIIO) or the Cycles renderer will be disable.

I always get stuck with this same error when compiling OIIO:
Code:

[ 98%] Building CXX object src/libOpenImageIO/CMakeFiles/OpenImageIO.dir/__/ffmpeg.imageio/ffmpeginput.cpp.o
In file included from /usr/include/libavformat/avio.h:31:0,
                from /usr/include/libavformat/avformat.h:263,
                from /home/mrbark/rack/src/blender/oiio-git/src/ffmpeg.imageio/ffmpeginput.cpp:33:
/usr/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)':
/usr/include/libavutil/common.h:160:47: error: 'UINT64_C' was not declared in this scope
    if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (a>>63) ^ 0x7FFFFFFF;
                                              ^
/home/mrbark/rack/src/blender/oiio-git/src/ffmpeg.imageio/ffmpeginput.cpp: In member function 'virtual bool OpenImageIO::v1_6::FFmpegInput::open(const string&, OpenImageIO::v1_6::ImageSpec&)':
/home/mrbark/rack/src/blender/oiio-git/src/ffmpeg.imageio/ffmpeginput.cpp:205:17: error: 'AVStream' has no member named 'r_frame_rate'
    if (stream->r_frame_rate.num != 0 && stream->r_frame_rate.den != 0) {
                ^
/home/mrbark/rack/src/blender/oiio-git/src/ffmpeg.imageio/ffmpeginput.cpp:205:50: error: 'AVStream' has no member named 'r_frame_rate'
    if (stream->r_frame_rate.num != 0 && stream->r_frame_rate.den != 0) {
                                                  ^
/home/mrbark/rack/src/blender/oiio-git/src/ffmpeg.imageio/ffmpeginput.cpp:206:32: error: 'AVStream' has no member named 'r_frame_rate'
        m_frame_rate = stream->r_frame_rate;
                                ^
make[2]: *** [src/libOpenImageIO/CMakeFiles/OpenImageIO.dir/__/ffmpeg.imageio/ffmpeginput.cpp.o] Error 1
make[1]: *** [src/libOpenImageIO/CMakeFiles/OpenImageIO.dir/all] Error 2
make: *** [all] Error 2

I got this OIIO from the git (1.6.2) but RB-1.5.zip produces the same error.


Code:

Slackware64 14.1 - multilib
Linux main 3.14.12-preempt #5 SMP PREEMPT Wed Nov 5 07:39:28 PST 2014 x86_64 Intel(R) Core(TM)2 Duo CPU    E8500  @ 3.16GHz GenuineIntel GNU/Linux
gcc (GCC) 4.9.1  (I also tried with 4.8.2)

ffmpeg version 2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Oct  9 2014 19:10:59 with gcc 4.9.1 (GCC)
  configuration: --prefix=/usr/local/ffmpeg-2.4.2
  libavutil      54.  7.100 / 54.  7.100
  libavcodec    56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter    5.  1.100 /  5.  1.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample  1.  1.100 /  1.  1.100

# ls -l /usr/include/ | grep -i "lib\(av\|sw\)"
drwxr-xr-x  2 root  root    138 Jan 17 13:40 libavcodec
drwxr-xr-x  2 root  root      39 Jan 17 13:40 libavdevice
drwxr-xr-x  2 root  root      98 Jan 17 13:40 libavfilter
drwxr-xr-x  2 root  root      52 Jan 17 13:40 libavformat
drwxr-xr-x  2 root  root      41 Jan 17 13:40 libavresample
drwxr-xr-x  2 root  root    4096 Mar  7 10:06 libavutil
lrwxrwxrwx  1 root  root      44 Nov  3 03:04 libswresample -> ../local/ffmpeg-2.4.2/include/libswresample/
drwxr-xr-x  2 root  root      38 Jan 17 13:40 libswscale

# NOTE:
I got these ffmpeg dev files from pkgs.org (libav***-devel-11.2-alt1.x86_64.rpm) and that resolved a lot of prior errors I had when using the links to my ffmpeg-2.4.2 includes.
I could not find the recent dev for libswresample though. Not sure if that matters.

I always compile everything from source, but I would definitely make an exception here for OIIO. Unfortunately it seems no one made a OIIO package for Slackware.

THANK YOU FOR ANY IDEA!

MisterBark 03-07-2015 05:39 PM

Well... I talked w/ blender's developers and in fact, Blender does not need OIIO to have ffmpeg.
It does need/uses ffmpeg, but not through OIIO so it can be disabled in OIIO with -DUSE_FFMPEG=OFF during cmake.

Also, developers so far use OIIO 1.4.11 and not 1.5 nor 1.6.
So I used the same and I get the following error when compiling Blender 2.73a.
I use the exact same options than their install_deps.sh script except that I added -DUSE_FFMPEG=OFF.

If anyone has an idea that would be really nice because I start getting stuck.
THANKS!
Code:

[100] Building CXX object source/blender/freestyle/CMakeFiles/bf_freestyle.dir/intern/winged_edge/WingedEdgeBuilder.cpp.o
Linking CXX static library ../../../lib/libbf_freestyle.a
[100] Built target bf_freestyle
Scanning dependencies of target blender
[100%] Building C object source/creator/CMakeFiles/blender.dir/creator.c.o
Linking CXX executable ../../bin/blender
../../lib/libbf_imbuf_openimageio.a(openimageio_api.cpp.o): In function `imb_load_photoshop':
openimageio_api.cpp:(.text+0x20a): undefined reference to `OpenImageIO::v1_4::ImageInput::create(std::string const&, std::string const&)'
openimageio_api.cpp:(.text+0x27a): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
openimageio_api.cpp:(.text+0x2b9): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
openimageio_api.cpp:(.text+0x31f): undefined reference to `OpenImageIO::v1_4::ImageSpec::attribute(OpenImageIO::v1_4::string_view, OpenImageIO::v1_4::TypeDesc, void const*)'
openimageio_api.cpp:(.text+0x4b4): undefined reference to `OpenImageIO::v1_4::ParamValue::clear_value()'
openimageio_api.cpp:(.text+0x584): undefined reference to `OpenImageIO::v1_4::ParamValue::clear_value()'
openimageio_api.cpp:(.text+0x68c): undefined reference to `OpenImageIO::v1_4::ImageSpec::get_string_attribute(OpenImageIO::v1_4::string_view, OpenImageIO::v1_4::string_view) const'
openimageio_api.cpp:(.text+0x72a): undefined reference to `OpenImageIO::v1_4::TypeDesc::basesize() const'
openimageio_api.cpp:(.text+0x99c): undefined reference to `OpenImageIO::v1_4::geterror()'
../../lib/libbf_imbuf_openimageio.a(openimageio_api.cpp.o): In function `OIIO_getVersionHex':
openimageio_api.cpp:(.text+0x161): undefined reference to `OpenImageIO::v1_4::openimageio_version()'
../../lib/libbf_imbuf_openimageio.a(openimageio_api.cpp.o): In function `OpenImageIO::v1_4::ImageSpec::~ImageSpec()':
openimageio_api.cpp:(.text._ZN11OpenImageIO4v1_49ImageSpecD2Ev[_ZN11OpenImageIO4v1_49ImageSpecD5Ev]+0x2c): undefined reference to `OpenImageIO::v1_4::ParamValue::clear_value()'
../../lib/libbf_intern_cycles.a(blender_object.cpp.o): In function `ccl::BlenderSync::sync_object(BL::Object, int*, BL::DupliObject, ccl::Transform&, unsigned int, float, bool)':
blender_object.cpp:(.text+0x1b23): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libbf_intern_cycles.a(blender_curves.cpp.o): In function `ccl::BlenderSync::sync_curves(ccl::Mesh*, BL::Mesh, BL::Object, bool, int)':
blender_curves.cpp:(.text+0x5c35): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
blender_curves.cpp:(.text+0x5cbb): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeColor'
blender_curves.cpp:(.text+0x63bc): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
blender_curves.cpp:(.text+0x65f3): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
blender_curves.cpp:(.text+0x6663): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
../../lib/libbf_intern_cycles.a(blender_curves.cpp.o): In function `OpenImageIO::v1_4::ustring::ustring(char const*)':
blender_curves.cpp:(.text._ZN11OpenImageIO4v1_47ustringC2EPKc[_ZN11OpenImageIO4v1_47ustringC5EPKc]+0x26): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libbf_intern_cycles.a(blender_shader.cpp.o): In function `ccl::set_default_value(ccl::ShaderInput*, BL::Node, BL::NodeSocket, BL::BlendData, BL::ID) [clone .isra.120]':
blender_shader.cpp:(.text+0x92c): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libbf_intern_cycles.a(blender_shader.cpp.o): In function `OpenImageIO::v1_4::ustring::assign(char const*)':
blender_shader.cpp:(.text._ZN11OpenImageIO4v1_47ustring6assignEPKc[_ZN11OpenImageIO4v1_47ustring6assignEPKc]+0x26): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libbf_intern_cycles.a(blender_mesh.cpp.o): In function `ccl::mikk_compute_tangents(BL::Mesh, BL::MeshTextureFaceLayer*, ccl::Mesh*, std::vector<int, std::allocator<int> >&, bool, bool)':
blender_mesh.cpp:(.text+0x22eb): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeVector'
blender_mesh.cpp:(.text+0x2363): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
../../lib/libbf_intern_cycles.a(blender_mesh.cpp.o): In function `ccl::BlenderSync::sync_mesh(BL::Object, bool, bool)':
blender_mesh.cpp:(.text+0x3c29): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
blender_mesh.cpp:(.text+0x3c6f): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeColor'
blender_mesh.cpp:(.text+0x53ac): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
../../lib/libcycles_render.a(attribute.cpp.o): In function `ccl::Attribute::data_sizeof() const':
attribute.cpp:(.text+0xe9): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
attribute.cpp:(.text+0x104): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeMatrix'
../../lib/libcycles_render.a(attribute.cpp.o): In function `ccl::Attribute::same_storage(OpenImageIO::v1_4::TypeDesc, OpenImageIO::v1_4::TypeDesc)':
attribute.cpp:(.text+0x227): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeColor'
attribute.cpp:(.text+0x23e): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x254): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeVector'
attribute.cpp:(.text+0x26e): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeNormal'
attribute.cpp:(.text+0x2b9): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x2cb): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeVector'
attribute.cpp:(.text+0x2dd): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeNormal'
../../lib/libcycles_render.a(attribute.cpp.o): In function `ccl::AttributeRequest::AttributeRequest(OpenImageIO::v1_4::ustring)':
attribute.cpp:(.text+0x5aa): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
../../lib/libcycles_render.a(attribute.cpp.o): In function `ccl::AttributeRequest::AttributeRequest(ccl::AttributeStandard)':
attribute.cpp:(.text+0x5d3): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
../../lib/libcycles_render.a(attribute.cpp.o): In function `ccl::AttributeSet::add(ccl::AttributeStandard, OpenImageIO::v1_4::ustring)':
attribute.cpp:(.text+0x1403): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x1463): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeMatrix'
attribute.cpp:(.text+0x14bb): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x151b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
attribute.cpp:(.text+0x157b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeColor'
attribute.cpp:(.text+0x158b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeNormal'
attribute.cpp:(.text+0x159b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeNormal'
attribute.cpp:(.text+0x15fb): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeNormal'
attribute.cpp:(.text+0x160b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
attribute.cpp:(.text+0x161b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x167b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeVector'
attribute.cpp:(.text+0x168b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
attribute.cpp:(.text+0x169b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeVector'
attribute.cpp:(.text+0x1705): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
attribute.cpp:(.text+0x1723): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
attribute.cpp:(.text+0x177b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
attribute.cpp:(.text+0x17d3): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypePoint'
../../lib/libcycles_render.a(buffers.cpp.o): In function `ccl::DisplayBuffer::write(ccl::Device*, std::string const&)':
buffers.cpp:(.text+0xf51): undefined reference to `OpenImageIO::v1_4::ImageOutput::create(std::string const&, std::string const&)'
buffers.cpp:(.text+0xfb1): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(int, int, int, OpenImageIO::v1_4::TypeDesc)'
../../lib/libcycles_render.a(graph.cpp.o): In function `ccl::ShaderNode::ShaderNode(char const*)':
graph.cpp:(.text+0x18c): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(graph.cpp.o): In function `ccl::ShaderGraph::transform_multi_closure(ccl::ShaderNode*, ccl::ShaderOutput*, bool)':
graph.cpp:(.text+0xd48): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
graph.cpp:(.text+0xd6f): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(graph.cpp.o): In function `ccl::ShaderGraph::refine_bump_nodes()':
graph.cpp:(.text+0x2dd5): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(image.cpp.o): In function `ccl::ImageManager::file_load_image(ccl::ImageManager::Image*, ccl::device_vector<ccl::uchar4>&)':
image.cpp:(.text+0x86e): undefined reference to `OpenImageIO::v1_4::ImageInput::create(std::string const&, std::string const&)'
image.cpp:(.text+0x8d2): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
image.cpp:(.text+0x8f9): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
../../lib/libcycles_render.a(image.cpp.o): In function `ccl::ImageManager::is_float_image(std::string const&, void*, bool&)':
image.cpp:(.text+0xdf3): undefined reference to `OpenImageIO::v1_4::ImageInput::create(std::string const&, std::string const&)'
image.cpp:(.text+0xe3d): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
image.cpp:(.text+0xe7e): undefined reference to `OpenImageIO::v1_4::TypeDesc::basesize() const'
image.cpp:(.text+0xeb5): undefined reference to `OpenImageIO::v1_4::TypeDesc::basesize() const'
image.cpp:(.text+0xf48): undefined reference to `OpenImageIO::v1_4::ImageSpec::get_string_attribute(OpenImageIO::v1_4::string_view, OpenImageIO::v1_4::string_view) const'
../../lib/libcycles_render.a(image.cpp.o): In function `ccl::ImageManager::file_load_float_image(ccl::ImageManager::Image*, ccl::device_vector<ccl::float4>&)':
image.cpp:(.text+0x2947): undefined reference to `OpenImageIO::v1_4::ImageInput::create(std::string const&, std::string const&)'
image.cpp:(.text+0x29aa): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
image.cpp:(.text+0x29db): undefined reference to `OpenImageIO::v1_4::ImageSpec::ImageSpec(OpenImageIO::v1_4::TypeDesc)'
../../lib/libcycles_render.a(image.cpp.o): In function `OpenImageIO::v1_4::ImageSpec::attribute(OpenImageIO::v1_4::string_view, int)':
image.cpp:(.text._ZN11OpenImageIO4v1_49ImageSpec9attributeENS0_11string_viewEi[_ZN11OpenImageIO4v1_49ImageSpec9attributeENS0_11string_viewEi]+0x45): undefined reference to `OpenImageIO::v1_4::ImageSpec::attribute(OpenImageIO::v1_4::string_view, OpenImageIO::v1_4::TypeDesc, void const*)'
../../lib/libcycles_render.a(mesh.cpp.o): In function `ccl::MeshManager::update_svm_attributes(ccl::Device*, ccl::DeviceScene*, ccl::Scene*, std::vector<ccl::AttributeRequestSet, std::allocator<ccl::AttributeRequestSet> >&)':
mesh.cpp:(.text+0x280b): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeMatrix'
mesh.cpp:(.text+0x2881): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
mesh.cpp:(.text+0x28ae): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeMatrix'
mesh.cpp:(.text+0x28f4): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
../../lib/libcycles_render.a(mesh.cpp.o): In function `ccl::update_attribute_element_offset(ccl::Mesh*, std::vector<float, std::allocator<float> >&, std::vector<ccl::float4, std::allocator<ccl::float4> >&, std::vector<ccl::uchar4, std::allocator<ccl::uchar4> >&, ccl::Attribute*, OpenImageIO::v1_4::TypeDesc&, int&, ccl::AttributeElement&) [clone .part.499]':
mesh.cpp:(.text+0x5490): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeFloat'
mesh.cpp:(.text+0x54b2): undefined reference to `OpenImageIO::v1_4::TypeDesc::TypeMatrix'
../../lib/libcycles_render.a(nodes.cpp.o): In function `ccl::TangentNode::compile(ccl::OSLCompiler&)':
nodes.cpp:(.text+0x4530): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(nodes.cpp.o): In function `ccl::TangentNode::attributes(ccl::Shader*, ccl::AttributeRequestSet*)':
nodes.cpp:(.text+0x470b): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(nodes.cpp.o): In function `ccl::NormalMapNode::compile(ccl::OSLCompiler&)':
nodes.cpp:(.text+0x4882): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(nodes.cpp.o): In function `ccl::NormalMapNode::attributes(ccl::Shader*, ccl::AttributeRequestSet*)':
nodes.cpp:(.text+0x4b69): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(nodes.cpp.o): In function `ccl::ImageTextureNode::ImageTextureNode()':
nodes.cpp:(.text+0x751f): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(nodes.cpp.o):nodes.cpp:(.text+0x7545): more undefined references to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)' follow
../../lib/libcycles_render.a(object.cpp.o): In function `ccl::Object::Object()':
object.cpp:(.text+0x3c1): undefined reference to `OpenImageIO::v1_4::ParamValue::clear_value()'
../../lib/libcycles_render.a(object.cpp.o): In function `ccl::Object::~Object()':
object.cpp:(.text+0x424): undefined reference to `OpenImageIO::v1_4::ParamValue::clear_value()'
../../lib/libcycles_render.a(svm.cpp.o): In function `ccl::SVMCompiler::node_skip_input(ccl::ShaderNode*, ccl::ShaderInput*)':
svm.cpp:(.text+0x487): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_render.a(svm.cpp.o): In function `ccl::SVMCompiler::generate_multi_closure(ccl::ShaderNode*, ccl::ShaderNode*, std::set<ccl::ShaderNode*, std::less<ccl::ShaderNode*>, std::allocator<ccl::ShaderNode*> >&, std::set<ccl::ShaderNode*, std::less<ccl::ShaderNode*>, std::allocator<ccl::ShaderNode*> >&)':
svm.cpp:(.text+0x1006): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
svm.cpp:(.text+0x102e): undefined reference to `OpenImageIO::v1_4::ustring::make_unique(OpenImageIO::v1_4::string_view)'
../../lib/libcycles_util.a(util_path.cpp.o): In function `ccl::path_user_get(std::string const&)':
util_path.cpp:(.text+0x545): undefined reference to `OpenImageIO::v1_4::Sysutil::this_program_path()'
../../lib/libcycles_util.a(util_path.cpp.o): In function `ccl::path_get(std::string const&)':
util_path.cpp:(.text+0x6b5): undefined reference to `OpenImageIO::v1_4::Sysutil::this_program_path()'
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


linuxtinker 03-07-2015 05:51 PM

Did you look at the SBo script http://slackbuilds.org/repository/14...phics/blender/

linuxtinker 03-07-2015 06:19 PM

I just used the Blender SBo script for 14.1 on current and was able to use it. Seems to be running fine. There is also a few sbo's for some plug-ins as well.

MisterBark 03-07-2015 07:12 PM

Thank you for your answers.
Yes the binary works fine of course, but I need to compile blender myself. I want some extra features like jack e.g.

chris.willing 03-09-2015 07:14 PM

Quote:

Originally Posted by MisterBark (Post 5328539)
Thank you for your answers.
Yes the binary works fine of course, but I need to compile blender myself. I want some extra features like jack e.g.

I just compiled oiio-Release-1.5.12 on -current (should be same on 14.1). I have the SBo ffmpeg installed (2.1.5). I had no ffmpeg related problems but initially I did see some uint64 problems and some TIFF functions that weren't found. My solution was to install a later version of libtiff (4.0.3) alongside the default libtiff (3.9.7). The libtiff4 include/*.h files have the required definitions for oiio to build to completion.

There may be problems with libraries used by oiio that have already been built using the earlier libtiff-3.9.7. A full an proper solution would be to ditch libtiff-3.9.7 altogether, replacing it with libtiff-4.0.3 and then rebuilding everything that uses libtiff.

With my parallel installation of libtiff-4.0.3, I specified that its *.h files were installed in /usr/include/libtiff4 (so they wouldn't overwrite 3.9.7 *.h files); also ensured not to install new /usr/lib64/libtiff.{a,la,so} (so they wouldn't overwrite 3.9.7 equivalents. Then in oiio's CMakeLists.txt, added lines:
set (TIFF_INCLUDE_DIR /usr/include/libtiff4)
set (TIFF_LIBRARY /usr/lib64/libtiff.so.5)
Then, a plain make will build everything to completion.

This also works for oiio 1.6.1dev but it needs additional change in CMakeLists.txt; change
set (STOP_ON_WARNING ON CACHE BOOL "Stop building if there are any compiler warnings")
to
set (STOP_ON_WARNING OFF CACHE BOOL "Stop building if there are any compiler warnings")

Best solution would be for standard Slackware libtiff to be upgraded to 4.0.3 (it was released in Sept 2012 so might be considered stable by now); there's also a 4.0.4beta available now.

chris

MisterBark 03-09-2015 07:33 PM

Thank you Chris.
I also had the tiff problem at first attempt of compiling OIIO and fixed it by:
- compiling tiff-4.0.3.tar.gz
- installing includes from libtiff-devel-4.0.3-17_Oso.x86_64.rpm

But unfortunately that is another problem than the one where I get stuck (my second post)
I could compile OIIO, it's just that Blender does not like my OIIO which is supposed to be the same than theirs w/ same options.

chris.willing 03-10-2015 06:43 AM

Quote:

Originally Posted by MisterBark (Post 5329564)
Thank you Chris.
I also had the tiff problem at first attempt of compiling OIIO and fixed it by:
- compiling tiff-4.0.3.tar.gz
- installing includes from libtiff-devel-4.0.3-17_Oso.x86_64.rpm

But unfortunately that is another problem than the one where I get stuck (my second post)
I could compile OIIO, it's just that Blender does not like my OIIO which is supposed to be the same than theirs w/ same options.

Ah, since oiio-1.4.11 doesn't need libtiff-4.0.3 - is it fully deleted? Any remaining libtiff-4.0.3 libraries may produce a strange oiio package that could confuse blender linking ..

After removing libtiff-4.0.3, I made an oiio-1.4.11 package with which I was able to build blender-1.73a -
Code:

[100%] Building CXX object source/blender/freestyle/CMakeFiles/bf_freestyle.dir/intern/winged_edge/WingedEdgeBuilder.cpp.o
Linking CXX static library ../../../lib/libbf_freestyle.a
[100%] Built target bf_freestyle
Scanning dependencies of target blender
[100%] Building C object source/creator/CMakeFiles/blender.dir/creator.c.o
Linking CXX executable ../../bin/blender
now run: "make install" to copy runtime files and scripts to share/blender/2.73
[100%] Built target blender

i.e. it found the oiio libs for linking (and the resulting binary seems to run OK).

For building blender I use the following options:
Code:

cmake ../ \
        -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
        -DWITH_INSTALL_PORTABLE:BOOL=OFF \
        -DWITH_OPENCOLLADA:BOOL=ON \
        -DPYTHON_VERSION=${py3_version} \
        -DWITH_PYTHON_INSTALL:BOOL=ON \
        -DWITH_PYTHON_INSTALL_NUMPY:BOOL=ON \
        -DWITH_CODEC_FFMPEG:BOOL=ON \
        -DWITH_OPENAL:BOOL=ON \
        -DWITH_PYTHON_INSTALL_REQUESTS:BOOL=OFF \
        -DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF \
        -DWITH_JACK:BOOL=ON \
        -DPYTHON_LIBPATH:STRING=${LIBDIR} \
        -DWITH_CODEC_SNDFILE:BOOL=ON \
        -DWITH_FFTW3:BOOL=ON \
        -DWITH_GAMEENGINE:BOOL=ON \
        -DWITH_PLAYER:BOOL=ON \
        -DWITH_IMAGE_REDCODE:BOOL=ON \
        -DWITH_IMAGE_OPENJPEG:BOOL=ON \
        -DOPENJPEG_INCLUDE_DIR:PATH=/usr/include/openjpeg-1.5 \
        -DWITH_MOD_OCEANSIM:BOOL=ON \
        -DCMAKE_BUILD_TYPE:STRING=Release

where I have python-requests and numpy set OFF because I didn't have python3 versions handy - I can fix that later. Are your build options very different?

chris


All times are GMT -5. The time now is 04:36 AM.