View previous topic :: View next topic |
Author |
Message |
gnu11111 n00b
Joined: 30 May 2009 Posts: 5
|
Posted: Thu Nov 28, 2024 4:41 pm Post subject: Unable to emerge dev-qt/qtdeclarative-5.15.16 on x86 |
|
|
Trying to "emerge -1 dev-qt/qtdeclarative-5.15.16" on x86 (32-bit) architecture, a check fails and prevents further @world-updates:
--- start of emerge console output
Code: | >>> Configuring source in /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16 ...
* Running qt5_qmake
Info: creating stash file /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/.qmake.stash
Info: creating cache file /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/.qmake.cache
Running configuration tests...
Checking for 32bit pointers... yes
Checking for python... /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/temp/python3.13/bin/python
Checking for Direct3D 12... no
Done running configuration tests.
Configure summary:
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML just-in-time compiler .............. no
QML sequence object .................... yes
QML XML http request ................... yes
QML Locale ............................. yes
Qt QML Models:
QML list model ......................... yes
QML delegate model ..................... yes
Qt Quick:
Direct3D 12 ............................ no
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
ERROR: Feature 'qml-jit' was enabled, but the pre-condition ' (arch.i386 && tests.pointer_32bit && features.sse2)
|| (arch.x86_64 && tests.pointer_64bit && features.sse2)
|| (arch.arm && tests.pointer_32bit && tests.arm_fp && tests.arm_thumb
&& (config.linux || config.ios || config.tvos || config.qnx))
|| (arch.arm64 && tests.pointer_64bit && tests.arm_fp
&& (config.linux || config.ios || config.tvos || config.qnx || config.integrity))' failed.
Check config.log for details.
* ERROR: dev-qt/qtdeclarative-5.15.16::gentoo failed (configure phase): |
--- end of emerge console output
--- start config.log
Code: | Command line: -qml-debug -feature-qml-jit
executing config test pointer_32bit
+ cd /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/pointer_32bit && /usr/lib/qt5/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/pointer_32bit
> Info: creating stash file /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/.qmake.stash
+ cd /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/pointer_32bit && MAKEFLAGS= make
> g++ -c -pipe -O2 -w -fPIC -I. -I/usr/lib/qt5/mkspecs/linux-g++ -o main.o main.cpp
> g++ -Wl,-O1 -o pointer_32bit main.o
test config.qtdeclarative_qml.tests.pointer_32bit succeeded
executing config test qml-python
test config.qtdeclarative_qml.tests.qml-python gave result /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/temp/python3.13/bin/python
executing config test d3d12
+ cd /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/d3d12 && /usr/lib/qt5/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16/config.tests/d3d12
+ cd /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16_build/config.tests/d3d12 && MAKEFLAGS= make
> g++ -c -pipe -O2 -w -fPIC -I/var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16/config.tests/d3d12 -I. -I/usr/lib/qt5/mkspecs/linux-g++ -o d3d12.o /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16/config.tests/d3d12/d3d12.cpp
> /var/tmp/portage/dev-qt/qtdeclarative-5.15.16/work/qtdeclarative-everywhere-src-5.15.16/config.tests/d3d12/d3d12.cpp:40:10: fatal error: d3d12.h: No such file or directory
> 40 | #include <d3d12.h>
> | ^~~~~~~~~
> compilation terminated.
> make: *** [Makefile:383: d3d12.o] Error 1
test config.qtdeclarative_quick.tests.d3d12 FAILED |
--- end config.log
The strange thing is, that both "QML just-in-time compiler" and "Direct3D 12" are set to "no", but still the build is testing for it, eventually missing the header file "d3d12.h". |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1727 Location: South America
|
Posted: Thu Nov 28, 2024 11:38 pm Post subject: Re: Unable to emerge dev-qt/qtdeclarative-5.15.16 on x86 |
|
|
gnu11111 wrote: | Code: | ERROR: Feature 'qml-jit' was enabled, but the pre-condition ' (arch.i386 && tests.pointer_32bit && features.sse2)
|| ...' failed. |
|
Is the jit USE flag set for this package? The ebuild sets it by default, and, if it stays set, I believe that the problem is that this 32-bit CPU does not support SSE2. Or at least that's what Qt seems to think. _________________
NeddySeagoon wrote: | I'm not a witch, I'm a retired electronics engineer |
Ionen wrote: | As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though |
Last edited by GDH-gentoo on Fri Nov 29, 2024 1:25 am; edited 1 time in total |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2873
|
Posted: Fri Nov 29, 2024 12:16 am Post subject: |
|
|
This is actually inflicted by qt5-build.eclass doing -no-feature-sse2, we don't do that for Qt6 given it *should* be fine to leave it enabled even on a machine without sse2 (it does runtime detection and *shouldn't* use it, not overly worth fighting these as it turns into a major mess).. albeit Qt5 apparently had more issues with that, and qt6-build has special handling to deal with conflicting user flags so may not be trivial to remove and it's not overly worth improving Qt5 at this point given it's slowly going out the door.
Either way, no harm in disabling USE=jit, it's only default because it's also an upstream default when support is detected and is just fine without.
Edit: on that note, did you per-chance install qt6 or going to? It wouldn't hurt to get a confirmation that qtbase and qtdeclarative:6 w/ USE=jit is building fine on sse2-less machines (albeit it'll probably be a long build, so don't bother if you don't actually need qt6 yet someone else will probably file a bug sooner or later if it's broken)
Edit2: then again, is this machine actually lacking sse2 or is it just caused by not passing -march=native? (see posts below)
Last edited by Ionen on Fri Nov 29, 2024 1:02 am; edited 1 time in total |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1727 Location: South America
|
Posted: Fri Nov 29, 2024 12:34 am Post subject: |
|
|
Ionen wrote: | This is actually inflicted by qt5-build.eclass doing -no-feature-sse2, [...] |
You mean this, right? It looks like it is done conditionally on the result of a test with the compiler, so does this mean that the OP's CPU really doesn't do SSE2, and can't have jit set? _________________
NeddySeagoon wrote: | I'm not a witch, I'm a retired electronics engineer |
Ionen wrote: | As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though |
|
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2873
|
Posted: Fri Nov 29, 2024 12:59 am Post subject: |
|
|
GDH-gentoo wrote: | Ionen wrote: | This is actually inflicted by qt5-build.eclass doing -no-feature-sse2, [...] |
You mean this, right? It looks like it is done conditionally on the result of a test with the compiler, so does this mean that the OP's CPU really doesn't do SSE2, and can't have jit set? |
Actually, from the log sniplet I just noticed that I don't see -march=native so it could be that the *FLAGS are just missing that rather be truly lacking support (Edit: if *does* lack support, then yes.. will have to disable it with the way the eclass is setup right now, it probably wouldn't be useful in that situation anyway). |
|
Back to top |
|
|
gnu11111 n00b
Joined: 30 May 2009 Posts: 5
|
Posted: Fri Nov 29, 2024 9:29 am Post subject: |
|
|
The system is actually a VM running on a 64bit CPU host with SSE2-capabilities.
I could emerge qtdeclarative with the "-jit"-flag, so thanks for that hint:
Code: | USE="-jit" emerge -1 "=dev-qt/qtdeclarative-5.15.16"
|
Code: | CFLAGS="-march=i586 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
|
Code: | # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 25
model : 80
model name : AMD Ryzen 5 PRO 5650U with Radeon Graphics
stepping : 0
microcode : 0xffffffff
cpu MHz : 2295.632
cache size : 512 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext pdpe1gb rdtscp lm constant_tsc rep_good tsc_reliable nonstop_tsc cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aesxsave avx f16c rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xsaves clzero arat overflow_recov succor
bugs : fxsave_leak sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips : 4593.56
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
|
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|