assimp: new package
PATCH v2 1/1 assimp: new package
----
Changes v1 -> v2:
- use github helper (thanks to J?rg Krause)
--- package/Config.in | 1 + package/assimp/Config.in | 9 +++++++++ package/assimp/assimp.mk | 15 +++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 package/assimp/Config.in create mode 100644 package/assimp/assimp.mk
package/Config.in +1 -0
@@ -796,6 +796,7 @@ menu "Filesystem" endmenu menu "Graphics" + source "package/assimp/Config.in" source "package/atk/Config.in" source "package/bullet/Config.in" source "package/cairo/Config.in"
package/assimp/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_ASSIMP + bool "assimp" + help + Open Asset Import Library (assimp) is a portable Open Source + library to import various well-known 3D model formats in a uniform + manner. The most recent version also knows how to export 3d files + and is therefore suitable as a general-purpose 3D model converter. + + http://www.assimp.org
package/assimp/assimp.mk new file +15 -0
@@ -0,0 +1,15 @@ +################################################################################ +# +# assimp +# +################################################################################ + +ASSIMP_VERSION = v3.2 +ASSIMP_SITE = $(call github,assimp,assimp,$(ASSIMP_VERSION)) +ASSIMP_LICENSE = BSD-3c +ASSIMP_LICENSE_FILES = LICENSE +ASSIMP_INSTALL_STAGING = YES + +ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF + +$(eval $(cmake-package))
Signature · 1 line
2.1.4
PATCH v2 1/1 qt53d: enabled assimpsceneparser plugin
- select assimp package
- copy enabled assimpsceneparser plugin
---
Depends on '[PATCH v2] qt5/qt53d: new package' (see [1]).
[1] https://patchwork.ozlabs.org/patch/552897
Changes v1 -> v2:
- no changes
--- package/qt5/qt53d/Config.in | 1 + package/qt5/qt53d/qt53d.mk | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)
package/qt5/qt53d/Config.in +1 -0
@@ -1,5 +1,6 @@ config BR2_PACKAGE_QT53D bool "qt53d" + select BR2_PACKAGE_ASSIMP select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5DECLARATIVE
package/qt5/qt53d/qt53d.mk +2 -1
@@ -7,7 +7,7 @@ QT53D_VERSION = $(QT5_VERSION) QT53D_SITE = $(QT5_SITE) QT53D_SOURCE = qt3d-opensource-src-$(QT5SVG_VERSION).tar.xz -QT53D_DEPENDENCIES = qt5base qt5declarative +QT53D_DEPENDENCIES = assimp qt5base qt5declarative QT53D_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
@@ -34,6 +34,7 @@ endef ifeq ($(BR2_STATIC_LIBS),) define QT53D_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/lib/libQt53D*.so.* $(TARGET_DIR)/usr/lib + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/sceneparsers $(TARGET_DIR)/usr/lib/qt/plugins cp -dpfr $(STAGING_DIR)/usr/qml/Qt3D $(TARGET_DIR)/usr/qml endef endif
Signature · 1 line
2.1.4
PATCH v2 1/1 assimp: new package
In reply to Peter SeidererPeter,
Quoted 4 lines · Peter Seiderer
Signed-off-by Peter Seiderer <[email protected]>----
Changes v1 -> v2:
- use github helper (thanks to J?rg Krause)
It seems that it needs a C++ compiler, so you need to add this dependency, otherwise the build fails with:
CMake Error at CMakeLists.txt:3 (PROJECT):
The CMAKE_CXX_COMPILER:
/home/thomas/projets/outputs/assimp-minimal/host/usr/bin/arm-linux-g++
is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.
Also, it fails to build with musl, with the following error:
In file included from /home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrXML.cpp:10:0:/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrString.h: In member function ?irr::core::string<char_type> irr::io::CXMLReaderImpl<char_type, superclass>::replaceSpecialCharacters(irr::core::string<char_type>&) [with char_type = char; superclass = irr::io::IXMLBase]?:/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrString.h:639:3: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
if (allocated < used)
^
[ 96%] Linking CXX shared library ../lib/libassimp.so/home/thomas/projets/outputs/assimp-musl/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-musleabihf/4.9.3/../../../../arm-buildroot-linux-musleabihf/bin/ld: ../lib/libzlibstatic.a(compress.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC ../lib/libzlibstatic.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
code/CMakeFiles/assimp.dir/build.make:4307: recipe for target 'lib/libassimp.so.3.2.0' failed
make[4]: *** [lib/libassimp.so.3.2.0] Error 1
CMakeFiles/Makefile2:172: recipe for target 'code/CMakeFiles/assimp.dir/all' failed
make[3]: *** [code/CMakeFiles/assimp.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[2]: *** [all] Error 2package/pkg-generic.mk:196: recipe for target '/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/.stamp_built' failed
make[1]: *** [/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/.stamp_built] Error 2
Makefile:16: recipe for target '_all' failed
make: *** [_all] Error 2
Defconfig to reproduce:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_EABIHF=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2015.11-rc1-71-g90d1299.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_ASSIMP=y
# BR2_TARGET_ROOTFS_TAR is not set
Can you look into these issues and send an updated version?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 assimp: new package
Hello Thomas,
Quoted 14 lines · Thomas Petazzoni
Peter,
Quoted 4 lines · Peter Seiderer
Signed-off-by Peter Seiderer <[email protected]>----
Changes v1 -> v2:
- use github helper (thanks to J?rg Krause)It seems that it needs a C++ compiler, so you need to add this dependency, otherwise the build fails with:
CMake Error at CMakeLists.txt:3 (PROJECT):
TheCMAKE_CXX_COMPILER:
Quoted 8 lines
/home/thomas/projets/outputs/assimp-minimal/host/usr/bin/arm-linux-g++is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry
CMAKE_CXX_COMPILERto the full path to the compiler, or to the compiler name if it is in the PATH.
Ups, missed this one, fixed in next patch version...
Quoted 13 lines
Also, it fails to build with musl, with the following error:
In file included from
/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrXML.cpp:10:0:/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrString.h: In member function ?irr::core::string<char_type> irr::io::CXMLReaderImpl<char_type, superclass>::replaceSpecialCharacters(irr::core::string<char_type>&) [withchar_type= char; superclass =irr::io::IXMLBase]?:/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/contrib/irrXML/irrString.h:639:3: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
if (allocated < used)
^
[ 96%] Linking CXX shared library ../lib/libassimp.so/home/thomas/projets/outputs/assimp-musl/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-musleabihf/4.9.3/../../../../arm-buildroot-linux-musleabihf/bin/ld: ../lib/libzlibstatic.a(compress.o): relocationR_ARM_MOVW_ABS_NCagainst `a local symbol' can not be used when making a shared object; recompile with -fPIC ../lib/libzlibstatic.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
code/CMakeFiles/assimp.dir/build.make:4307: recipe for target 'lib/libassimp.so.3.2.0' failed
make[4]: *** [lib/libassimp.so.3.2.0] Error 1
Quoted 9 lines
CMakeFiles/Makefile2:172: recipe for target 'code/CMakeFiles/assimp.dir/all' failed
make[3]: *** [code/CMakeFiles/assimp.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[2]: *** [all] Error 2package/pkg-generic.mk:196: recipe for target '/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/.stamp_built' failed make[1]: *** [/home/thomas/projets/outputs/assimp-musl/build/assimp-v3.2/.stamp_built] Error 2 Makefile:16: recipe for target '_all' failed
make: *** [_all] Error 2
Seems to be a problem with the built-in zlib (built static without -fPIC) and linking into libassimp.so (object files built with -fPIC), see e.g. [1], simple workaround is to select buildroot zlib package...
Updated patch follows soon...
Regards,
Peter
[1] https://cmake.org/pipermail/cmake/2006-March/008482.html
Quoted 24 lines
Defconfig to reproduce:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_EABIHF=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2015.11-rc1-71-g90d1299.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
#BR2_PACKAGE_BUSYBOXis not set
BR2_PACKAGE_ASSIMP=y
#BR2_TARGET_ROOTFS_TARis not setCan you look into these issues and send an updated version?
Thanks!
Thomas