[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