* [Buildroot] [PATCH 1/1] package/qt5/qt53d: fix compilation error
@ 2024-07-23 10:32 Simon Ruepp via buildroot
2024-07-23 12:27 ` Thomas Petazzoni via buildroot
2024-07-24 8:54 ` [Buildroot] [PATCH v2] " Simon Ruepp via buildroot
0 siblings, 2 replies; 7+ messages in thread
From: Simon Ruepp via buildroot @ 2024-07-23 10:32 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti, Julien Corjon, Thomas Petazzoni, Simon Ruepp
Currently when building the qt3d package it errors out the following message:
make[5]: *** No rule to make target '/home/sr20608/src/buildroot/output/build/qt53d-9bf4d03e2515f7c454647d54542330b6e90f8191/src/3rdparty/assimp/src/code/Common/Assimp.cpp', needed by '.obj/Assimp.o'. Stop.
This is because the assimp source files are missing which where previously
part of the qt3d package.
Because of this, the new package qt53d-assimp is introduced to separately
download these files which are then copied into the qt3d sources, similar
on how its done with the qt5webengine and the qt5webengine-chromium.
Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
---
package/qt5/Config.in | 1 +
package/qt5/qt53d-assimp/Config.in | 4 ++++
package/qt5/qt53d-assimp/qt53d-assimp.hash | 5 +++++
package/qt5/qt53d-assimp/qt53d-assimp.mk | 15 +++++++++++++++
package/qt5/qt53d/Config.in | 1 +
package/qt5/qt53d/qt53d.mk | 8 +++++++-
6 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 package/qt5/qt53d-assimp/Config.in
create mode 100644 package/qt5/qt53d-assimp/qt53d-assimp.hash
create mode 100644 package/qt5/qt53d-assimp/qt53d-assimp.mk
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index f1b16ff39b..879378e057 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -35,6 +35,7 @@ menuconfig BR2_PACKAGE_QT5
if BR2_PACKAGE_QT5
source "package/qt5/qt53d/Config.in"
+source "package/qt5/qt53d-assimp/Config.in"
source "package/qt5/qt5base/Config.in"
source "package/qt5/qt5charts/Config.in"
source "package/qt5/qt5coap/Config.in"
diff --git a/package/qt5/qt53d-assimp/Config.in b/package/qt5/qt53d-assimp/Config.in
new file mode 100644
index 0000000000..421e424f8d
--- /dev/null
+++ b/package/qt5/qt53d-assimp/Config.in
@@ -0,0 +1,4 @@
+# Not user-selectable, it is only needed to be copied
+# into the qt53d source tree.
+config QT53D_ASSIMP
+ bool
diff --git a/package/qt5/qt53d-assimp/qt53d-assimp.hash b/package/qt5/qt53d-assimp/qt53d-assimp.hash
new file mode 100644
index 0000000000..43f36f7f5c
--- /dev/null
+++ b/package/qt5/qt53d-assimp/qt53d-assimp.hash
@@ -0,0 +1,5 @@
+# Locally calculated:
+sha256 00ec879857f511bed0c8b04ea4e7882a282051ec299245af487183c790e65539 qt3d-assimp-8f0c6b04b2257a520aaab38421b2e090204b69df.tar.bz2
+
+# Hashes for license files:
+sha256 a26ccc3dbf2f58ea99c100945a8a126fa0f9f4d7fd2b49aa8bdb8e09355864d8 LICENSE
diff --git a/package/qt5/qt53d-assimp/qt53d-assimp.mk b/package/qt5/qt53d-assimp/qt53d-assimp.mk
new file mode 100644
index 0000000000..c5211fdd5c
--- /dev/null
+++ b/package/qt5/qt53d-assimp/qt53d-assimp.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# qt53d-assimp
+#
+################################################################################
+
+QT53D_ASSIMP_VERSION = 8f0c6b04b2257a520aaab38421b2e090204b69df
+QT53D_ASSIMP_SITE = $(QT5_SITE)/qtquick3d-assimp/-/archive/$(QT53D_ASSIMP_VERSION)
+QT53D_ASSIMP_SOURCE = qt3d-assimp-$(QT53D_ASSIMP_VERSION).tar.bz2
+QT53D_ASSIMP_INSTALL_TARGET = NO
+
+QT53D_ASSIMP_LICENSE = BSD-3-Clause
+QT53D_ASSIMP_LICENSE_FILES = LICENSE
+
+$(eval $(generic-package))
diff --git a/package/qt5/qt53d/Config.in b/package/qt5/qt53d/Config.in
index 9187bee82b..805dfa2d94 100644
--- a/package/qt5/qt53d/Config.in
+++ b/package/qt5/qt53d/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_QT53D
select BR2_PACKAGE_QT5BASE_GUI
select BR2_PACKAGE_QT5DECLARATIVE
select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ select BR2_PACKAGE_QT53D_ASSIMP
help
Qt is a cross-platform application and UI framework for
developers using C++.
diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk
index 8d9babd704..54f8191fb5 100644
--- a/package/qt5/qt53d/qt53d.mk
+++ b/package/qt5/qt53d/qt53d.mk
@@ -7,7 +7,7 @@
QT53D_VERSION = 9bf4d03e2515f7c454647d54542330b6e90f8191
QT53D_SITE = $(QT5_SITE)/qt3d/-/archive/$(QT53D_VERSION)
QT53D_SOURCE = qt3d-$(QT53D_VERSION).tar.bz2
-QT53D_DEPENDENCIES = qt5declarative
+QT53D_DEPENDENCIES = qt5declarative qt53d-assimp
QT53D_INSTALL_STAGING = YES
QT53D_SYNC_QT_HEADERS = YES
@@ -18,4 +18,10 @@ endif
QT53D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0
QT53D_LICENSE_FILES = LICENSE.GPL LICENSE.GPLv3 LICENSE.LGPLv3
+define QT53D_COPY_ASSIMP
+ rm -rf $(@D)/src/3rdparty/assimp/src
+ cp -a $(QT53D_ASSIMP_DIR) $(@D)/src/3rdparty/assimp/src
+endef
+QT53D_POST_PATCH_HOOKS += QT53D_COPY_ASSIMP
+
$(eval $(qmake-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt5/qt53d: fix compilation error
2024-07-23 10:32 [Buildroot] [PATCH 1/1] package/qt5/qt53d: fix compilation error Simon Ruepp via buildroot
@ 2024-07-23 12:27 ` Thomas Petazzoni via buildroot
2024-07-24 8:54 ` [Buildroot] [PATCH v2] " Simon Ruepp via buildroot
1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-23 12:27 UTC (permalink / raw)
To: Simon Ruepp via buildroot; +Cc: Giulio Benetti, Julien Corjon, Simon Ruepp
Hello Simon,
On Tue, 23 Jul 2024 12:32:40 +0200
Simon Ruepp via buildroot <buildroot@buildroot.org> wrote:
> Currently when building the qt3d package it errors out the following message:
> make[5]: *** No rule to make target '/home/sr20608/src/buildroot/output/build/qt53d-9bf4d03e2515f7c454647d54542330b6e90f8191/src/3rdparty/assimp/src/code/Common/Assimp.cpp', needed by '.obj/Assimp.o'. Stop.
>
> This is because the assimp source files are missing which where previously
> part of the qt3d package.
> Because of this, the new package qt53d-assimp is introduced to separately
> download these files which are then copied into the qt3d sources, similar
> on how its done with the qt5webengine and the qt5webengine-chromium.
>
> Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
Thanks a lot for the patch! However I think this would be better served
with QT53D_EXTRA_DOWNLOADS pointing to the assimp tarball, and some
post-extract hook of qt53d extracting the tarball in the right place.
You can for example have a look at how things are done in
package/perl/perl.mk, with <pkg>_EXTRA_DOWNLOADS being used to download
the perl-cross stuff.
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v2] package/qt5/qt53d: fix compilation error
2024-07-23 10:32 [Buildroot] [PATCH 1/1] package/qt5/qt53d: fix compilation error Simon Ruepp via buildroot
2024-07-23 12:27 ` Thomas Petazzoni via buildroot
@ 2024-07-24 8:54 ` Simon Ruepp via buildroot
2024-07-24 20:21 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 7+ messages in thread
From: Simon Ruepp via buildroot @ 2024-07-24 8:54 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti, Julien Corjon, Thomas Petazzoni, Simon Ruepp
Compiling the qt53d package currently fails since the required
source files of the assimp library are missing. Because of this,
QT53D_EXTRA_DOWNLOADS along with a post extract hook is used
to separately download and extract the missing files.
Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
---
Changes v1 -> v2:
- Use QT53D_EXTRA_DOWNLOADS and a post extract hook
instead of adding a new package to fix the problem
(suggested by Thomas)
package/qt5/qt53d/qt53d.hash | 1 +
package/qt5/qt53d/qt53d.mk | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash
index 65e6e8e380..49d6048eb0 100644
--- a/package/qt5/qt53d/qt53d.hash
+++ b/package/qt5/qt53d/qt53d.hash
@@ -1,5 +1,6 @@
# Locally calculated
sha256 31b3e52fb0b28f1e99dd25342a0204d239f7f42bcb25fb56393956904ef412ea qt3d-9bf4d03e2515f7c454647d54542330b6e90f8191.tar.bz2
+sha256 00ec879857f511bed0c8b04ea4e7882a282051ec299245af487183c790e65539 qtquick3d-assimp-8f0c6b04b2257a520aaab38421b2e090204b69df.tar.bz2
# Hashes for license files:
sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL
diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk
index 8d9babd704..61e90b9360 100644
--- a/package/qt5/qt53d/qt53d.mk
+++ b/package/qt5/qt53d/qt53d.mk
@@ -11,6 +11,16 @@ QT53D_DEPENDENCIES = qt5declarative
QT53D_INSTALL_STAGING = YES
QT53D_SYNC_QT_HEADERS = YES
+QT53D_ASSIMP_VERSION = 8f0c6b04b2257a520aaab38421b2e090204b69df
+QT53D_ASSIMP_SOURCE = qtquick3d-assimp-$(QT53D_ASSIMP_VERSION).tar.bz2
+QT53D_EXTRA_DOWNLOADS = $(QT5_SITE)/qtquick3d-assimp/-/archive/$(QT53D_ASSIMP_VERSION)/$(QT53D_ASSIMP_SOURCE)
+
+define QT53D_ASSIMP_EXTRACT
+ $(call suitable-extractor,$(QT53D_ASSIMP_SOURCE)) $(QT53D_DL_DIR)/$(QT53D_ASSIMP_SOURCE) | \
+ $(TAR) --strip-components=1 -C $(@D)/src/3rdparty/assimp/src $(TAR_OPTIONS) -
+endef
+QT53D_POST_EXTRACT_HOOKS += QT53D_ASSIMP_EXTRACT
+
ifeq ($(BR2_PACKAGE_ASSIMP),y)
QT53D_DEPENDENCIES += assimp
endif
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v2] package/qt5/qt53d: fix compilation error
2024-07-24 8:54 ` [Buildroot] [PATCH v2] " Simon Ruepp via buildroot
@ 2024-07-24 20:21 ` Thomas Petazzoni via buildroot
2024-08-02 17:18 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-24 20:21 UTC (permalink / raw)
To: Simon Ruepp via buildroot; +Cc: Giulio Benetti, Julien Corjon, Simon Ruepp
Hello Simon,
On Wed, 24 Jul 2024 10:54:44 +0200
Simon Ruepp via buildroot <buildroot@buildroot.org> wrote:
> Compiling the qt53d package currently fails since the required
> source files of the assimp library are missing. Because of this,
> QT53D_EXTRA_DOWNLOADS along with a post extract hook is used
> to separately download and extract the missing files.
>
> Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
Thanks for the patch. Could you document since when this is failing,
i.e which Buildroot commit introduced this regression?
Also, could you comment on how this will interact with:
ifeq ($(BR2_PACKAGE_ASSIMP),y)
QT53D_DEPENDENCIES += assimp
endif
that we have in qt53.mk. It seems like qt53d can use a system-provided
assimp instead of a bundled copy of assimp:
!ios:!tvos:!qcc:qtConfig(assimp):if(qtConfig(system-assimp)|android-clang|clang|win32-msvc|gcc) {
SUBDIRS += assimp
}
(from src/plugins/sceneparsers/sceneparsers.pro). There is apparently a
-assimp config option that allows to chose between "system", "qt" and
"no".
Also, I see that src/3rdparty/patches/ has a bunch of patches for
assimp. Should these patches be applied? Are they important?
Thanks a lot for your additional investigations :-)
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v2] package/qt5/qt53d: fix compilation error
2024-07-24 20:21 ` Thomas Petazzoni via buildroot
@ 2024-08-02 17:18 ` Thomas Petazzoni via buildroot
2024-08-04 9:12 ` Simon Ruepp via buildroot
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-02 17:18 UTC (permalink / raw)
To: Thomas Petazzoni via buildroot, Simon Ruepp
Cc: Giulio Benetti, Julien Corjon, Thomas Petazzoni
Hello Simon,
Gentle ping on the below questions, in order to be able to move forward
with resolving this qt53d build issue.
Thanks a lot for your contribution!
Thomas
On Wed, 24 Jul 2024 22:21:44 +0200
Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:
> Hello Simon,
>
> On Wed, 24 Jul 2024 10:54:44 +0200
> Simon Ruepp via buildroot <buildroot@buildroot.org> wrote:
>
> > Compiling the qt53d package currently fails since the required
> > source files of the assimp library are missing. Because of this,
> > QT53D_EXTRA_DOWNLOADS along with a post extract hook is used
> > to separately download and extract the missing files.
> >
> > Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
>
> Thanks for the patch. Could you document since when this is failing,
> i.e which Buildroot commit introduced this regression?
>
> Also, could you comment on how this will interact with:
>
> ifeq ($(BR2_PACKAGE_ASSIMP),y)
> QT53D_DEPENDENCIES += assimp
> endif
>
> that we have in qt53.mk. It seems like qt53d can use a system-provided
> assimp instead of a bundled copy of assimp:
>
> !ios:!tvos:!qcc:qtConfig(assimp):if(qtConfig(system-assimp)|android-clang|clang|win32-msvc|gcc) {
> SUBDIRS += assimp
> }
>
> (from src/plugins/sceneparsers/sceneparsers.pro). There is apparently a
> -assimp config option that allows to chose between "system", "qt" and
> "no".
>
> Also, I see that src/3rdparty/patches/ has a bunch of patches for
> assimp. Should these patches be applied? Are they important?
>
> Thanks a lot for your additional investigations :-)
>
> Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v2] package/qt5/qt53d: fix compilation error
2024-08-02 17:18 ` Thomas Petazzoni via buildroot
@ 2024-08-04 9:12 ` Simon Ruepp via buildroot
2024-09-13 9:26 ` Simon Ruepp via buildroot
0 siblings, 1 reply; 7+ messages in thread
From: Simon Ruepp via buildroot @ 2024-08-04 9:12 UTC (permalink / raw)
To: Thomas Petazzoni, Thomas Petazzoni via buildroot
Cc: Giulio Benetti, Julien Corjon, Simon Ruepp
Hello Thomas,
this fails since commit ca9e08277c473de1d0119768661ce0ba96559a7a.
I am currently on vacation and will be back in three weeks. During that period I unfortunately don't have the time to look into the problem any further.
Maybe someone can help me out?
Best regards
Simon
> Thomas Petazzoni <thomas.petazzoni@bootlin.com> hat am 02.08.2024 19:18 CEST geschrieben:
>
>
> Hello Simon,
>
> Gentle ping on the below questions, in order to be able to move forward
> with resolving this qt53d build issue.
>
> Thanks a lot for your contribution!
>
> Thomas
>
> On Wed, 24 Jul 2024 22:21:44 +0200
> Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:
>
> > Hello Simon,
> >
> > On Wed, 24 Jul 2024 10:54:44 +0200
> > Simon Ruepp via buildroot <buildroot@buildroot.org> wrote:
> >
> > > Compiling the qt53d package currently fails since the required
> > > source files of the assimp library are missing. Because of this,
> > > QT53D_EXTRA_DOWNLOADS along with a post extract hook is used
> > > to separately download and extract the missing files.
> > >
> > > Signed-off-by: Simon Ruepp <ruepp.simon@mailbox.org>
> >
> > Thanks for the patch. Could you document since when this is failing,
> > i.e which Buildroot commit introduced this regression?
> >
> > Also, could you comment on how this will interact with:
> >
> > ifeq ($(BR2_PACKAGE_ASSIMP),y)
> > QT53D_DEPENDENCIES += assimp
> > endif
> >
> > that we have in qt53.mk. It seems like qt53d can use a system-provided
> > assimp instead of a bundled copy of assimp:
> >
> > !ios:!tvos:!qcc:qtConfig(assimp):if(qtConfig(system-assimp)|android-clang|clang|win32-msvc|gcc) {
> > SUBDIRS += assimp
> > }
> >
> > (from src/plugins/sceneparsers/sceneparsers.pro). There is apparently a
> > -assimp config option that allows to chose between "system", "qt" and
> > "no".
> >
> > Also, I see that src/3rdparty/patches/ has a bunch of patches for
> > assimp. Should these patches be applied? Are they important?
> >
> > Thanks a lot for your additional investigations :-)
> >
> > Thomas
>
>
>
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v2] package/qt5/qt53d: fix compilation error
2024-08-04 9:12 ` Simon Ruepp via buildroot
@ 2024-09-13 9:26 ` Simon Ruepp via buildroot
0 siblings, 0 replies; 7+ messages in thread
From: Simon Ruepp via buildroot @ 2024-09-13 9:26 UTC (permalink / raw)
To: Thomas Petazzoni, Thomas Petazzoni via buildroot
Cc: Giulio Benetti, Julien Corjon
Hello Thomas,
I did some further research and can now answer your remaining questions:
> It seems like qt53d can use a system-provided
> assimp instead of a bundled copy of assimp:
>
> !ios:!tvos:!qcc:qtConfig(assimp):if(qtConfig(system-assimp)|android-clang|clang|win32-msvc|gcc) {
> SUBDIRS += assimp
> }
>
> (from src/plugins/sceneparsers/sceneparsers.pro). There is apparently a
> -assimp config option that allows to chose between "system", "qt" and
> "no".
I found the options you mentioned in the "config_help.txt" file located in the qt53d build directory and integrated them in the qt53d.mk with:
ifeq ($(BR2_PACKAGE_ASSIMP),y)
QT53D_DEPENDENCIES += assimp
QT53D_CONF_OPTS += -system-assimp
else
QT53D_POST_EXTRACT_HOOKS += QT53D_ASSIMP_EXTRACT
QT53D_CONF_OPTS += -qt-assimp
endif
But the build still fails when trying to use the system-provided version:
make[4]: *** No rule to make target '/home/sr20608/src/buildroot/output/build/qt53d-9bf4d03e2515f7c454647d54542330b6e90f8191/src/3rdparty/assimp/src/code/Common/Assimp.cpp', needed by '.obj/Assimp.o'. Stop.
> Also, I see that src/3rdparty/patches/ has a bunch of patches for
> assimp. Should these patches be applied? Are they important?
These patches don't seem to be important anymore since they already have been applied.
Best regards
Simon
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-09-13 9:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 10:32 [Buildroot] [PATCH 1/1] package/qt5/qt53d: fix compilation error Simon Ruepp via buildroot
2024-07-23 12:27 ` Thomas Petazzoni via buildroot
2024-07-24 8:54 ` [Buildroot] [PATCH v2] " Simon Ruepp via buildroot
2024-07-24 20:21 ` Thomas Petazzoni via buildroot
2024-08-02 17:18 ` Thomas Petazzoni via buildroot
2024-08-04 9:12 ` Simon Ruepp via buildroot
2024-09-13 9:26 ` Simon Ruepp via buildroot
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.