Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Unable to emerge dev-qt/qtdeclarative-5.15.16 on x86
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
gnu11111
n00b
n00b


Joined: 30 May 2009
Posts: 5

PostPosted: Thu Nov 28, 2024 4:41 pm    Post subject: Unable to emerge dev-qt/qtdeclarative-5.15.16 on x86 Reply with quote

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
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1723
Location: South America

PostPosted: Thu Nov 28, 2024 11:38 pm    Post subject: Re: Unable to emerge dev-qt/qtdeclarative-5.15.16 on x86 Reply with quote

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
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2872

PostPosted: Fri Nov 29, 2024 12:16 am    Post subject: Reply with quote

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
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1723
Location: South America

PostPosted: Fri Nov 29, 2024 12:34 am    Post subject: Reply with quote

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
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2872

PostPosted: Fri Nov 29, 2024 12:59 am    Post subject: Reply with quote

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
View user's profile Send private message
gnu11111
n00b
n00b


Joined: 30 May 2009
Posts: 5

PostPosted: Fri Nov 29, 2024 9:29 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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