[MacPorts] #65530: qt55-qt3d: build fails due to assimp
MacPorts
noreply at macports.org
Mon Jul 25 00:44:20 UTC 2022
#65530: qt55-qt3d: build fails due to assimp
--------------------------+---------------------------------
Reporter: chrstphrchvz | Owner: MarcusCalhoun-Lopez
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: qt55-qt3d
--------------------------+---------------------------------
qt55-qt3d fails to detect system assimp during configure, and fails to
build its bundled assimp. Not yet aware whether other Qt versions’ qt3d
ports are affected.
The bundled assimp fails during linking:
{{{
Undefined symbols for architecture x86_64:
"Assimp::Importer::SetPropertyInteger(char const*, int)", referenced
from:
Qt3D::AssimpParser::readSceneFile(QString const&) in assimpparser.o
(maybe you meant: __ZN6Assimp8Importer18SetPropertyIntegerEPKciPb)
"Assimp::IOSystem::CurrentDirectory() const", referenced from:
vtable for Assimp::IOSystem in assimphelpers.o
vtable for Qt3D::AssimpHelper::AssimpIOSystem in assimphelpers.o
ld: symbol(s) not found for architecture x86_64
}}}
But I doubt building the bundled assimp is intended: `port:assimp` has
been specified as a library dependency, and so presumably qt55-qt3d once
worked with system assimp.
Currently the system assimp is not detected due to C++11 syntax in assimp
headers (present at least since assimp 5.1.0), while Xcode clang (at least
12.4 and 14 beta 3) uses C++98 by default (`__cplusplus` is `199711L`).
From config.log:
{{{
/usr/bin/clang++ -c -pipe -arch x86_64 -stdlib=libc++ -I/opt/local/include
-Os -isysroot /Applications/Xcode-
beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk
-mmacosx-version-min=12.0 -fno-exceptions -Wall -W -fPIC -DQT_NO_MTDEV
-DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT
-DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -isystem
/opt/local/include -I/opt/local/libexec/qt5/mkspecs/macx-clang -o
.obj/main.o main.cpp
In file included from main.cpp:38:
In file included from /opt/local/include/assimp/scene.h:55:
/opt/local/include/assimp/mesh.h:910:81: error: expected ';' after
expression
mTextureCoordsNames = new aiString
*[AI_MAX_NUMBER_OF_TEXTURECOORDS] {};
^
1 error generated.
}}}
I am not aware how to control `CXXFLAGS` for Qt module ports and possibly
set `-std=c++11`.
--
Ticket URL: <https://trac.macports.org/ticket/65530>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list