Opened 15 months ago

Last modified 5 weeks ago

#59601 assigned defect

qt5-qt3d @ 5.12.5 configure fails ERROR: Feature 'system-assimp' was enabled, but the pre-condition 'features.assimp && libs.assimp' failed

Reported by: mikealeonetti Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: michaelld (Michael Dickens)
Port: qt5-qt3d

Description

Recently updated to Catalina. Running sudo port install qt5 fails in an error with qt5-qt3d. The log says about the error:

:info:configure Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qt3d/work/qt3d-everywhere-src-5.12.5" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local -spec macx-clang -- -system-assimp 
:debug:configure system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qt3d/work/qt3d-everywhere-src-5.12.5" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local -spec macx-clang -- -system-assimp 
:info:configure Running configuration tests...
:info:configure Done running configuration tests.
:info:configure Configure summary:
:info:configure Qt 3D:
:info:configure   Assimp ................................. yes
:info:configure   System Assimp .......................... no
:info:configure   Output Qt3D Job traces ................. no
:info:configure   Output Qt3D GL traces .................. no
:info:configure   Use SSE2 instructions .................. yes
:info:configure   Use AVX2 instructions .................. no
:info:configure   Aspects:
:info:configure     Render aspect ........................ yes
:info:configure     Input aspect ......................... yes
:info:configure     Logic aspect ......................... yes
:info:configure     Animation aspect ..................... yes
:info:configure     Extras aspect ........................ yes
:info:configure Qt 3D Renderers:
:info:configure   OpenGL Renderer ........................ yes
:info:configure Qt 3D GeometryLoaders:
:info:configure   Autodesk FBX ........................... no
:info:configure ERROR: Feature 'system-assimp' was enabled, but the pre-condition 'features.assimp && libs.assimp' failed.
:info:configure Check config.log for details.
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qt3d/work/qt3d-everywhere-src-5.12.5" && /opt/local/libexec/qt5/bin/qmake PREFIX=/opt/local -spec macx-clang -- -system-assimp 
:info:configure Exit code: 3
:error:configure Failed to configure qt5-qt3d, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qt3d/work/qt3d-everywhere-src-5.12.5/config.log
:error:configure Failed to configure qt5-qt3d: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"
:error:configure See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qt3d/main.log for details.

The log reveals this about my system:

:debug:sysinfo macOS 10.15 (darwin/19.0.0) arch i386
:debug:sysinfo MacPorts 2.6.2
:debug:sysinfo Xcode 11.1
:debug:sysinfo SDK 10.15
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.15}}}

Attachments (1)

main.log (33.8 KB) - added by mikealeonetti 15 months ago.
The debug log that macports generates.

Download all attachments as: .zip

Change History (8)

Changed 15 months ago by mikealeonetti

Attachment: main.log added

The debug log that macports generates.

comment:1 Changed 15 months ago by jmroot (Joshua Root)

Owner: set to MarcusCalhoun-Lopez
Port: qt5-qt3d added
Status: newassigned

comment:2 Changed 15 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Unfortunately, I cannot reproduce this error.
For some reason, the port assimp cannot be found, but there does not seem to be an indication of the problem.
Might I impose upon you to investigate further why assimp might be broken?

comment:3 Changed 15 months ago by mikealeonetti

Absolutely. What things can I try?

comment:4 Changed 3 months ago by michaelld (Michael Dickens)

If this issues is still relevant, a file that would be useful to attach to the ticket is $(port work qt5-qt3d)/qt3d*/config.log ... it should show the error associated with either finding or building or linking against assimp. I saw this issue when trying to coerce Qt3d to build on ARM64 ... turns out the test was building using x86_64, not ARM64, because of some esoteric Qt base setting. Not difficult to fix once I was able to find the error in this file!

comment:5 Changed 3 months ago by michaelld (Michael Dickens)

Cc: michaelld added

comment:6 Changed 5 weeks ago by kencu (Ken)

I stumbled across this tonight building qt5-qt3d on arm64.

This happens because the test build to see if assimp fails. In the log, it shows the test application is being built for x86_64 (which it should not be, on arm64), but when it tries to link against the system installed libassimp, it finds that the library is arm64 (which it should be) it fails.

The problem is in this file:

/opt/local/libexec/qt5/mkspecs/common/macx.conf

it lists the build defaults as:

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
QMAKE_APPLE_DEVICE_ARCHS = x86_64

which is quite wrong tor arm64 and 11.0.

Changing them to

QMAKE_MACOSX_DEPLOYMENT_TARGET = 11.0
QMAKE_APPLE_DEVICE_ARCHS = arm64

gives the proper configuration, and then the test application is built for arm64, the correct arch libassimp is found, the test succeeds, and all is well.

So /opt/local/libexec/qt5/mkspecs/common/macx.conf is installed by qt5-qttools, and I think we have to patch that to be the machine's native arch, or at least the arch that all the libraries will be built for.

comment:7 Changed 5 weeks ago by kencu (Ken)

% port -v installed qt5-qt3d
The following ports are currently installed:
  qt5-qt3d @5.15.1_0 platform='darwin 20' archs='arm64' date='2020-10-08T21:17:26-0400'
  qt5-qt3d @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T02:42:11-0500'
Last edited 5 weeks ago by kencu (Ken) (previous) (diff)
Note: See TracTickets for help on using tickets.