Problem compiling with OpenCollada and Quicktime

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Problem compiling with OpenCollada and Quicktime

Postby mikevan » Fri Aug 17, 2012 5:25 am

Ubuntu 12.04 64-bit. All devs installed. For openCollada, I manually looked and found the include files the compile said was missing, tried various settings in the user-config.py to no avail. Here's the user-config.py:

Code: Select all

WITH_BF_OIIO = True
WITH_BF_BOOST = True
WITH_BF_OPENMP = True
WITH_BF_FFTW3 = True
WITH_BF_GAMEENGINE = True
WITH_BF_OPENEXR = True
WITH_BF_FFMPEG = True
WITH_BF_OPENAL = True
WITH_BF_JACK = True
WITH_BF_SNDFILE = True
WITH_BF_SDL = True
WITH_BF_DDS = True
WITH_BF_BULLET = True
WITH_BF_FREETYPE = True
WITH_BF_COLLADA = True
BF_OPENCOLLADA_INC = '/usr/include/opencollada'
BF_OPENCOLLADA_LIBPATH = '/usr/lib/opencollada'
BF_OPENCOLLADA_LIB = 'COLLADAStreamWriter COLLADASWStreamWriter COLLADASaxFrameworkLoader COLLADAFramework COLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_PCRE_LIBPATH = '/usr/lib'
BF_EXPAT_LIBPATH = '/usr/lib'
WITH_BF_PLAYER = True
WITH_BF_3DMOUSE = True
WITH_BF_QUICKTIME = True
BF_QUICKTIME_INC = '/usr/include'
WITH_BF_RAYOPTIMIZATION = True
WITH_BF_CYCLES_CUDA_BINARIES = True
BF_CYCLES_CUDA_NVCC = '/opt/cuda/bin/nvcc'
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21']
BF_DEBUG = False
BF_NUMJOBS = 1


Tried /usr/include and /usr/include/opencollada with no effect. The user-config.py is getting parsed because I was able to enable and disable CUDA via that file and that worked fine. But it's like the scons is completely ignoring anything I do with setting the paths for Collada. Also, the BF_OPENCOLLADA_LIB in linux-config.py has OpenCOLLADA... rather than COLLADA... which the actual files are named - but I tried either way with no avail. Surely it's something simple - after all the official releases has it built in.

For MOV support, I have the Ubuntu Quicktime dev files. But it's acting like nothing's there. Not entirely sure what else I need to get that to compile in. When I disable both of those in my user-config.py, everything builds just fine. But I'd like to be able to import dae files and export to MOV files...

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Solved one but another problem resulting from solution

Postby mikevan » Fri Aug 17, 2012 6:18 am

I dropped Ubuntu's rubbish and downloaded OpenCollada from the SVN and compiled that directly, per instructions on this page:
http://wiki.blender.org/index.php/User: ... ada_Branch

I updated my user-config.py to this:

Code: Select all

WITH_BF_OIIO = True
WITH_BF_BOOST = True
WITH_BF_OPENMP = True
WITH_BF_FFTW3 = True
WITH_BF_GAMEENGINE = True
WITH_BF_OPENEXR = True
WITH_BF_FFMPEG = True
WITH_BF_OPENAL = True
WITH_BF_JACK = True
WITH_BF_SNDFILE = True
WITH_BF_SDL = True
WITH_BF_DDS = True
WITH_BF_BULLET = True
WITH_BF_FREETYPE = True
WITH_BF_COLLADA = True
BF_OPENCOLLADA_INC = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada'
BF_OPENCOLLADA_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada'
BF_PCRE_LIBPATH = '/usr/lib'
BF_EXPAT_LIBPATH = '/usr/lib'
WITH_BF_PLAYER = True
WITH_BF_3DMOUSE = True
WITH_BF_RAYOPTIMIZATION = True
WITH_BF_CYCLES_CUDA_BINARIES = True
BF_CYCLES_CUDA_NVCC = '/opt/cuda/bin/nvcc'
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21']
BF_DEBUG = False
BF_NUMJOBS = 1


It no longer complains about missing include files. However, once it gets to linking everything together, I get a ton of errors like this:

Code: Select all

/home/mikev/Documents/CreativeTools/Blender/Blender-SVN/build/linux/lib/libbf_collada.a(GeometryExporter.o):GeometryExporter.cpp:function GeometryExporter::operator()(Object*): error: undefined reference to 'COLLADASW::LibraryGeometries::closeGeometry()'
collect2: ld returned 1 exit status


Also figured out that the Quicktime option was for Microsoft users and that FFMPEG handled things for Linux users, so that's no longer an issue.

So, it was two steps forward and one back. Will continue digging around, but am open to suggestions.

stiv
Posts: 3646
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Postby stiv » Fri Aug 17, 2012 5:00 pm

error: undefined reference to 'COLLADASW::LibraryGeometries::closeGeometry()'


Undefined references mean the linker is not finding something. Usual causes are either bad library paths or the wrong library name. A third possibility is a version mismatch.

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Postby mikevan » Sun Aug 19, 2012 12:41 am

stiv wrote:
error: undefined reference to 'COLLADASW::LibraryGeometries::closeGeometry()'


Undefined references mean the linker is not finding something. Usual causes are either bad library paths or the wrong library name. A third possibility is a version mismatch.


Thanks. Obviously the INC path is correct or it wouldn't even get that far. When I don't have it set, it fails to even compile, so it's definitely looking at the INC directory I supply. The LIB path is the same, or should be since I compiled it from their SVN. I'll remove the Ubuntu version altogether just in case that's interfering somehow. I'll play with it a bit. It's not critical that I have OpenCollada support, but just a curious problem I'd like to track down and fix.

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Postby mikevan » Sun Aug 19, 2012 1:00 am

That was it. I changed

Code: Select all

BF_OPENCOLLADA_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada'


to

Code: Select all

BF_OPENCOLLADA_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada/lib'


and it compiled and I have the import/export option for Collada now.

My working user-config.py is now:

Code: Select all

WITH_BF_OIIO = True
WITH_BF_BOOST = True
WITH_BF_OPENMP = True
WITH_BF_FFTW3 = True
WITH_BF_GAMEENGINE = True
WITH_BF_OPENEXR = True
WITH_BF_FFMPEG = True
WITH_BF_OPENAL = True
WITH_BF_JACK = True
WITH_BF_SNDFILE = True
WITH_BF_SDL = True
WITH_BF_DDS = True
WITH_BF_BULLET = True
WITH_BF_FREETYPE = True
WITH_BF_COLLADA = True
BF_OPENCOLLADA_INC = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada'
BF_OPENCOLLADA_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada/lib'
BF_PCRE_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada/Externals'
BF_EXPAT_LIBPATH = '/home/mikev/Documents/CreativeTools/Blender/OpenCollada-SVN/opencollada/Externals'
BF_OPENCOLLADA_LIB = 'libOpenCOLLADAStreamWriter-static.a ' + \
    'libOpenCOLLADASaxFrameworkLoader-static.a ' + \
    'libOpenCOLLADAFramework-static.a ' + \
    'libOpenCOLLADABaseUtils-static.a ' + \
    'libGeneratedSaxParser-static.a ' + \
    'libUTF-static.a '+ \
    'libMathMLSolver-static.a ' + \
    'pcre ' + \
    'libbuffer-static.a ' + \
    'libftoa-static.a'
WITH_BF_PLAYER = True
WITH_BF_3DMOUSE = True
WITH_BF_RAYOPTIMIZATION = True
WITH_BF_CYCLES_CUDA_BINARIES = True
BF_CYCLES_CUDA_NVCC = '/opt/cuda/bin/nvcc'
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21']
BF_DEBUG = False
BF_NUMJOBS = 1


Return to “Coding Blender”

Who is online

Users browsing this forum: No registered users and 0 guests