All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC v1] package/assimp: fix namespace related compile failure
@ 2021-12-30 17:25 Peter Seiderer
  2021-12-30 17:43 ` Peter Seiderer
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Peter Seiderer @ 2021-12-30 17:25 UTC (permalink / raw)
  To: buildroot

Fixes:

  - http://autobuild.buildroot.net/results/0861c66ec02a55e984577094e28b65c78b95a330

  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:101:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
           const FileDatabase &db) const {
                                   ^
 In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
       void Convert(T &dest, const FileDatabase &db) const;
            ^
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:121:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
           const FileDatabase &db) const {
                                   ^
  In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
       void Convert(T &dest, const FileDatabase &db) const;
            ^

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Note:
  - patch fixes the compile failure but did not find the root cause
    and/or a good explanation why the template spezialisation failes
    for Structure::Convert<CollectionObject> and
    Structure::Convert<CollectionChild> (but not the other ones) and
    why it is fixed by the patch...
---
 ...-explicit-namespace-instead-of-using.patch | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 package/assimp/0002-BlenderScene-use-explicit-namespace-instead-of-using.patch

diff --git a/package/assimp/0002-BlenderScene-use-explicit-namespace-instead-of-using.patch b/package/assimp/0002-BlenderScene-use-explicit-namespace-instead-of-using.patch
new file mode 100644
index 0000000000..b498c3be3f
--- /dev/null
+++ b/package/assimp/0002-BlenderScene-use-explicit-namespace-instead-of-using.patch
@@ -0,0 +1,56 @@
+From a099fe7cd331a839137115db5df1733c4c1c8070 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Thu, 30 Dec 2021 18:01:54 +0100
+Subject: [PATCH] BlenderScene: use explicit namespace instead of using
+ namespace
+
+Fixes (using g++ Sourcery CodeBench Lite 2014.05-29 - 4.8.3 20140320):
+
+  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:101:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
+           const FileDatabase &db) const {
+                                   ^
+ In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
+                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
+  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
+       void Convert(T &dest, const FileDatabase &db) const;
+            ^
+  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:121:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
+           const FileDatabase &db) const {
+                                   ^
+  In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
+                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
+  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
+       void Convert(T &dest, const FileDatabase &db) const;
+            ^
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ code/AssetLib/Blender/BlenderScene.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/code/AssetLib/Blender/BlenderScene.cpp b/code/AssetLib/Blender/BlenderScene.cpp
+index c93d913fc..9ad086fe6 100644
+--- a/code/AssetLib/Blender/BlenderScene.cpp
++++ b/code/AssetLib/Blender/BlenderScene.cpp
+@@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #include "BlenderDNA.h"
+ #include "BlenderSceneGen.h"
+ 
+-using namespace Assimp;
+-using namespace Assimp::Blender;
++namespace Assimp {
++namespace Blender {
+ 
+ //--------------------------------------------------------------------------------
+ template <>
+@@ -885,4 +885,7 @@ void DNA::RegisterConverters() {
+     converters["CollectionObject"] = DNA::FactoryPair(&Structure::Allocate<CollectionObject>, &Structure::Convert<CollectionObject>);
+ }
+ 
++} // namespace Blender
++} //namespace Assimp
++
+ #endif // ASSIMP_BUILD_NO_BLEND_IMPORTER
+-- 
+2.34.1
+
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-03 15:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-30 17:25 [Buildroot] [RFC v1] package/assimp: fix namespace related compile failure Peter Seiderer
2021-12-30 17:43 ` Peter Seiderer
2021-12-30 20:11 ` Thomas Petazzoni
2021-12-31  8:18   ` Peter Seiderer
2022-01-03 15:23     ` Thomas Petazzoni
2022-01-01 10:43 ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.