4.3.x linux packages and collada support (also affects master with gcc 4.6)
Jan-Marek Glogowski
glogow at fbihome.de
Mon Sep 29 01:41:16 PDT 2014
Hi,
just want to add, that the Ubuntu 12.04 master TB build (gcc 4.6) just
builds with "--disable-collada". I just checked again and fixed the
build errors locally:
1. It doesn't find unordered_map for whatever reason, but calls g++ with
-std=gnu++0x
I get:
workdir/UnpackedTarball/collada2gltf/GLTF/GLTFProfile.h:33:9: error:
‘unordered_map’ in namespace ‘std’ does not name a type
But workdir/UnpackedTarball/collada2gltf/GLTF/GLTF.h has:
#if (defined(WIN32) || defined(_LIBCPP_VERSION) || __cplusplus > 199711L)
#include <memory>
#include <unordered_map>
#else
#include <tr1/memory>
#include <tr1/unordered_map>
#endif
So either the "#if" preprozessor macro is wrong or it's a g++ / stdlib
error, as g++ finds unordered_map, if I manually select <unordered_map>
instead of <tr1/unordered_map>.
Same applies to
workdir/UnpackedTarball/collada2gltf/GLTF/GLTFExtraDataHandler.h
2. It tries to use the std::tr1 namespace
This is disguised version of the first error. This is fixed by running
# find workdir/UnpackedTarball/collada2gltf -type f -print0 | xargs -0
sed -i -e '/^using namespace std::tr1;$/d'
There are a lot of in the code. Not sure why it's not the same macro
then in the headers:
#if __cplusplus <= 199711L
using namespace std::tr1;
#endif
Otherwise I see a lot of
collada2gltf/COLLADA2GLTFWriter.cpp:133:84: error: reference to
‘shared_ptr’ is ambiguous
/usr/include/c++/4.6/bits/shared_ptr_base.h:264:11: error: candidates
are: template<class _Tp> class std::shared_ptr
/usr/include/c++/4.6/tr1/shared_ptr.h:510:11: error:
template<class _Tp> class std::tr1::shared_ptr
which also breaks my build.
Anybody has an Idea, which is the corect __cplusplus version for the macro?
Regards,
Jan-Marek
More information about the LibreOffice
mailing list