All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Seiderer <ps.report@gmx.net>
To: buildroot@buildroot.org
Subject: [Buildroot] [RFC v1] package/assimp: fix namespace related compile failure
Date: Thu, 30 Dec 2021 18:25:07 +0100	[thread overview]
Message-ID: <20211230172507.30212-1-ps.report@gmx.net> (raw)

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

             reply	other threads:[~2021-12-30 17:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-30 17:25 Peter Seiderer [this message]
2021-12-30 17:43 ` [Buildroot] [RFC v1] package/assimp: fix namespace related compile failure 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211230172507.30212-1-ps.report@gmx.net \
    --to=ps.report@gmx.net \
    --cc=buildroot@buildroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.