Bug#694879: Blender still missing Collada support, one year after opencollada was packaged
On Tue, 2 Aug 2016 14:49:26 +0200 "Matteo F. Vescovi" wrote: >> Is there any remaining reason why the Blender package should not be >> linked against it? Blender is supposed to have built-in support for >> Collada. > Simple, it fails: I didn't know that; it hasn't previously been mentioned in this bug report. > In file included from > > /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceGeometry.h:15:0, > from > /usr/include/opencollada/COLLADAFramework/COLLADAFWNode.h:17, > from > > /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h:30, > from > > /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:43: > > /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceBindingBase.h:53:14: > error: 'vector' in namespace 'std' does not name a template type > std::vector &skeletons() { return mSkeletons; } > ^ > > /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceBindingBase.h:65:14: > error: 'vector' in namespace 'std' does not name a template type > std::vector mSkeletons; > ^ That's very odd. How is it that the official binaries from the Blender website are built with Collada support? What's different about their build environment? Has anybody asked them? > Feel free to help debugging. Patches are really welcome. One potential problem is that many of the OpenCOLLADA header files are filled with a weird mixture of UTF-8 and Windows-1252 characters, neither of which are actually legal in C/C++ source code, except maybe as quoted strings. In particular, in a UTF-8 environment, the Windows-1252 characters can be interpreted as the beginning of a multibyte sequence, which screws up the following text. It's unlikely that that's the entire cause of the problem, but let's try getting rid of them: # export LANG=C # THIS IS IMPORTANT!!! # # dpkg -s opencollada-dev | egrep "Package|Status|Version" Package: opencollada-dev Status: install ok installed Version: 0.1.0~20140703.ddf8f47+dfsg1-3 # # pwd /usr/include/opencollada # # BADCHARS=$(echo {8,9,a,b,c,d,e,f}{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}) # PATTERN=$(for n in $BADCHARS ; do echo -ne "\x${n}" ; [ $n = ff ] || echo -n "|" ; done) # BADFILES=$(egrep -l "$PATTERN" $(find . -name '*.h')) # # for n in $BADCHARS ; do c=$(echo -ne "\x${n}") ; grep -q "${c}" $BADFILES && echo "character: \\x${n}" ; done character: \x92 character: \x93 character: \x94 character: \x95 character: \x97 character: \xbd character: \xbf character: \xe9 character: \xef # # grep -a -C3 --color=always $'\x95' $BADFILES | less -R # # echo $'s/(\xef\xbf\xbd|\*|")?Curve Interpolation("|\*|\xef\xbf\xbd)?/*Curve Interpolation*/g' >~/sedscript # echo $'s/plus (\xef\xbf)?\xbd/plus half/g\ns/\xef\xbf\xbds/\'s/g\ns/\xef\xbf\xbd /- /g' >>~/sedscript # echo $'s/\x92/\'/g\ns/\x93/"/g\ns/\x94/"/g\ns/\x95/-/g\ns/\x97/-/g\ns/\xe9/e/g' >>~/sedscript # # BADFILES=$(egrep -l "${PATTERN}|Curve Interpolation" $(find . -name '*.h')) # # sed -r -i.badchar -f ~/sedscript $BADFILES # # for n in $BADCHARS ; do c=$(echo -ne "\x${n}") ; grep -q "${c}" $BADFILES && echo "character: \\x${n}" ; done # # cd .. # # find opencollada/ -name '*.badchar' | wc 32 322061 # # (for f in $(find opencollada/ -name '*.badchar') ; do diff -u ${f} ${f%.badchar} ; done) >~/opencollada-headers-badchars.diff # See attached patchfile. That should also be sent upstream, wherever that is. Let me know if that helps. Otherwise, there must be some way of finding out what that template instantiation error is. -- Ian Bruce --- opencollada/COLLADAStreamWriter/COLLADASWInputList.h.badchar 2014-07-03 09:30:54.0 -0700 +++ opencollada/COLLADAStreamWriter/COLLADASWInputList.h 2016-08-03 23:34:59.984290928 -0700 @@ -35,20 +35,20 @@ BINORMAL=0, /** Geometric binormal (bitangent) vector */ BINDMATRIX, COLOR, /** Color coordinate vector. Color inputs are RGB (float3) */ - CONTINUITY, /** Continuity constraint at the control vertex (CV). See also "Curve Interpolation" in Chapter 4: Programming Guide. */ + CONTINUITY, /** Continuity constraint at the control vertex (CV). See also *Curve Interpolation* in Chapter 4: Programming Guide. */ IMAGE, /** Raster or MIP-level input. */ - INPUT, /** Sampler input. See also "Curve Interpolation" in Chapter 4: Programming Guide. */ - IN_TANGENT, /** Tangent vector for preceding control point. See also "Curve Interpolation" in Chapter 4: Programming Guide. */ - INTERPOLATION, /** Sampler interpolation type. See also "Curve Interpolation" in Chapter 4: Programming Guide. */ + INPUT, /** Sampler input. See also *Curve Interpolation* in Chapter 4: Programming Guide. */ + IN_TANGENT, /** Tangent vector for preceding control point. See also *Curve Interpolation* in Chapter 4: Programming Guide. */ + INTERPOLATION, /** Sampler inte
Bug#694879: Blender still missing Collada support, one year after opencollada was packaged
Hi! On Sat, Jul 30, 2016 at 8:50 AM, wrote: > It has now been over a year since the opencollada-dev package became > available in the Debian archive. > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694932 > > https://packages.debian.org/stretch/opencollada-dev > > Is there any remaining reason why the Blender package should not be > linked against it? Blender is supposed to have built-in support for > Collada. > > https://wiki.blender.org/index.php/Doc%3A2.6/Manual/Data_System/Files/Import/COLLADA > > Is it not expected that anybody will actually want to use this software? > If so, why was the effort made to package either OpenCOLLADA or Blender? Simple, it fails: [ 80%] Building CXX object source/blender/collada/CMakeFiles/bf_collada.dir/ArmatureImporter.cpp.o cd /<>/blender-2.77.a+dfsg0/obj-x86_64-linux-gnu/source/blender/collada && /usr/bin/c++ -DWITH_BUILDINFO -DWITH_INTERNATIONAL -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -D__MMX__ -D__SSE2__ -D__SSE__ -I/<>/blender-2.77.a+dfsg0/source/blender/collada -I/<>/blender-2.77.a+dfsg0/source/blender/blenkernel -I/<>/blender-2.77.a+dfsg0/source/blender/blenlib -I/<>/blender-2.77.a+dfsg0/source/blender/blentranslation -I/<>/blender-2.77.a+dfsg0/source/blender/editors/include -I/<>/blender-2.77.a+dfsg0/source/blender/makesdna -I/<>/blender-2.77.a+dfsg0/source/blender/makesrna -I/<>/blender-2.77.a+dfsg0/source/blender/windowmanager -I/<>/blender-2.77.a+dfsg0/source/blender/imbuf -I/<>/blender-2.77.a+dfsg0/intern/guardedalloc -I/<>/blender-2.77.a+dfsg0/source/blender/ikplugin -I/<>/blender-2.77.a+dfsg0/intern/iksolver/extern -I/<>/blender-2.77.a+dfsg0/source/blender/bmesh -isystem /usr/include/opencollada/COLLADAStreamWriter -isystem /usr/include/opencollada/COLLADABaseUtils -isystem /usr/include/opencollada/COLLADAFramework -isystem /usr/include/opencollada/COLLADASaxFrameworkLoader -isystem /usr/include/opencollada/GeneratedSaxParser -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wformat-signedness -Wuninitialized -Wmissing-declarations -g -O2 -fdebug-prefix-map=/<>/blender-2.77.a+dfsg0=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2 -fuse-ld=gold -fopenmp -msse2 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-deprecated-declarations -Wno-unused-parameter -Wno-error=unused-but-set-variable -fpermissive -o CMakeFiles/bf_collada.dir/ArmatureImporter.cpp.o -c /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp In file included from /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceGeometry.h:15:0, from /usr/include/opencollada/COLLADAFramework/COLLADAFWNode.h:17, from /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h:30, from /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:43: /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceBindingBase.h:53:14: error: 'vector' in namespace 'std' does not name a template type std::vector &skeletons() { return mSkeletons; } ^ /usr/include/opencollada/COLLADAFramework/COLLADAFWInstanceBindingBase.h:65:14: error: 'vector' in namespace 'std' does not name a template type std::vector mSkeletons; ^ In file included from /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:43:0: /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h: In constructor 'ArmatureImporter::ArmatureImporter(UnitConverter*, MeshImporterBase*, Scene*, const ImportSettings*)': /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h:86:24: warning: 'ArmatureImporter::import_settings' will be initialized after [-Wreorder] const ImportSettings *import_settings; ^ /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h:85:17: warning: 'UnitConverter* ArmatureImporter::unit_converter' [-Wreorder] UnitConverter *unit_converter; ^ /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:67:1: warning: when initialized here [-Wreorder] ArmatureImporter::ArmatureImporter(UnitConverter *conv, MeshImporterBase *mesh, Scene *sce, const ImportSettings *import_settings) : ^ In file included from /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:43:0: /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.h:85:17: warning: 'ArmatureImporter::unit_converter' will be initialized after [-Wreorder] UnitConverter *unit_converter; ^ /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:73:20: warning: base 'TransformReader' [-Wreorder] mesh_importer(mesh) { ^ /<>/blender-2.77.a+dfsg0/source/blender/collada/ArmatureImporter.cpp:67:1: warning: when initialized here [-Wreorder] ArmatureImpor
Bug#694879: Blender still missing Collada support, one year after opencollada was packaged
It has now been over a year since the opencollada-dev package became available in the Debian archive. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694932 https://packages.debian.org/stretch/opencollada-dev Is there any remaining reason why the Blender package should not be linked against it? Blender is supposed to have built-in support for Collada. https://wiki.blender.org/index.php/Doc%3A2.6/Manual/Data_System/Files/Import/COLLADA Is it not expected that anybody will actually want to use this software? If so, why was the effort made to package either OpenCOLLADA or Blender?