Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Incompatible processor. This Qt build requires the following
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Mon Jul 27, 2020 11:09 pm    Post subject: Incompatible processor. This Qt build requires the following Reply with quote

Hi,

To save time and because the machine (Celeron N3350) on which I am installing gentoo only has 2Gb of RAM (and not much disk space), I go through a chroot on my own machine (Coffeelake) which is much faster, to create binary packages I then install on the Celeron.
For the Celeron I have:
COMMON_FLAGS="-march=goldmont -O2 -pipe"
And I put the same thing in the chroot.
But I got an error compiling net-libs/accounts-qml-0.7-r1:

Code:
Incompatible processor. This Qt build requires the following features:
    sha
Aborted. Incompatible processor: missing feature 0x2000000 - sha.
/bin/sh: line 1:    39 Aborted                 /usr/lib64/qt5/bin/qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 . > Ubuntu/OnlineAccounts/plugin.qmltypes
make[1]: *** [Makefile:788: Ubuntu/OnlineAccounts/plugin.qmltypes] Error 134
make[1]: Leaving directory '/var/tmp/portage/net-libs/accounts-qml-0.7-r1/work/accounts-qml-module-VERSION_0.7/src'
make: *** [Makefile:71: sub-src-install_subtargets-ordered] Error 2
 * ERROR: net-libs/accounts-qml-0.7-r1::gentoo failed (install phase):
 *   emake failed

Of course, I can compile it on the Celeron, but I'd like to be able to compile all binary packages in the chroot.

What can I do to solve that please ? Something to change in the make.conf ?


EDIT : I have the same problem with some others softwares like calibre.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Tue Jul 28, 2020 9:02 am    Post subject: Reply with quote

Frautoincnam,

Well, it built, then failed to install.
Code:
Incompatible processor. This Qt build requires the following features:
    sha
Aborted. Incompatible processor: missing feature 0x2000000 - sha.
/bin/sh: line 1:    39 Aborted                 /usr/lib64/qt5/bin/qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 . > Ubuntu/OnlineAccounts/plugin.qmltypes
make[1]: *** [Makefile:788: Ubuntu/OnlineAccounts/plugin.qmltypes] Error 134
make[1]: Leaving directory '/var/tmp/portage/net-libs/accounts-qml-0.7-r1/work/accounts-qml-module-VERSION_0.7/src'
make: *** [Makefile:71: sub-src-install_subtargets-ordered] Error 2
 * ERROR: net-libs/accounts-qml-0.7-r1::gentoo failed (install phase):


Pastebin the entire build log, or a least, the first and last few hundred lines.

I think the error means that Celeron, (which the code has been built for) has some instructions that are missing on the Coffeelake, so the Coffeelake cannot execute the install phase.
As it has built, in would be useful to copy the build location /var/tmp/... to the celeron and run the ebuild command to finish the install there.

Code:
ebuild /full/path/to/ebuild_file merge

I suspect that the problem is with one of the other packages that is used during the install phase, not the packages that provoke the error.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Tue Jul 28, 2020 1:26 pm    Post subject: Reply with quote

Thank you, that's very clear.

NeddySeagoon wrote:
Pastebin the entire build log, or a least, the first and last few hundred lines.

https://dpaste.com/D4X89ZPHM

Quote:
I think the error means that Celeron, (which the code has been built for) has some instructions that are missing on the Coffeelake, so the Coffeelake cannot execute the install phase.

That's what I thought I understood (about missing instructions)

Quote:
As it has built, in would be useful to copy the build location /var/tmp/... to the celeron and run the ebuild command to finish the install there.

This is indeed a workaround
I suppose there's no other solution.
The problem is that suddenly, my installation in the chroot is no longer identical to that of the celeron. That's what I'd like to avoid.

Quote:
I suspect that the problem is with one of the other packages that is used during the install phase, not the packages that provoke the error.

May be will you able to tell me about the ebuild log.

Thanks a lot.

EDIT : Isn't it possible it's due to my coffeelake kernel options, missing something ?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Tue Jul 28, 2020 1:55 pm    Post subject: Reply with quote

Frautoincnam,

Code:
 * Package:    net-libs/accounts-qml-0.7-r1
 * Repository: gentoo
 * Maintainer: kde@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   ccache network-sandbox preserve-libs sandbox userpriv usersandbox


ccache ... that's a source of all sorts of difficult to trace problems.
Run
Code:
FEATURES=-ccache emerge net-libs/accounts-qml -1av
to try a build without ccache.

No buildpkg in FEATURES?
How do you make the binary packages for the Celeron?

Due to the -j7, in
Code:
>>> Install net-libs/accounts-qml-0.7-r1 into /var/tmp/portage/net-libs/accounts-qml-0.7-r1/image
make -j7 INSTALL_ROOT=/var/tmp/portage/net-libs/accounts-qml-0.7-r1/image install_subtargets

The log is interleaved with seven threads. That makes it difficult to read.

If turning off ccache doesn't work. rerun the build with MAKEOPTS="-j1" too please.
That's
Code:
FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av


Were you able to do the merge on the Celeron?
That would point to CPU differences.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Tue Jul 28, 2020 2:25 pm    Post subject: Reply with quote

NeddySeagoon wrote:
ccache ... that's a source of all sorts of difficult to trace problems.

I understand.

Quote:
Run
Code:
FEATURES=-ccache emerge net-libs/accounts-qml -1av
to try a build without ccache.

Not better :(

Quote:
No buildpkg in FEATURES?

Yes, I have.
Code:
$ emerge --info
Portage 2.3.103 (python 3.7.8-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-9.3.0, glibc-2.30-r8, 4.19.97-gentoo x86_64)
=================================================================
System uname: Linux-4.19.97-gentoo-x86_64-Intel-R-_Core-TM-_i5-8600K_CPU_@_3.60GHz-with-gentoo-2.6
KiB Mem:    32781436 total,  28494776 free
KiB Swap:   33560756 total,  33560756 free
Timestamp of repository gentoo: Tue, 28 Jul 2020 13:30:01 +0000
Head commit of repository gentoo: c36b915e46a5c80295dd59f1608b64f051f12d3c
sh bash 5.0_p17
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
distcc 3.3.3 x86_64-pc-linux-gnu [disabled]
ccache version 3.7.9 [enabled]
app-shells/bash:          5.0_p17::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18-r1::gentoo, 3.7.8-r2::gentoo, 3.8.4-r1::gentoo
dev-util/ccache:          3.7.9::gentoo
dev-util/cmake:           3.16.5::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo
sys-devel/gcc:            9.3.0-r1::gentoo
sys-devel/gcc-config:     2.3::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r8::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://novazur.fr/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

novazur
    location: /var/lib/layman/novazur
    masters: gentoo
    priority: 50

Installed sets: @kde, @net_gkrellm
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=goldmont -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/sddm/scripts/Xsetup /usr/share/sddm/scripts/Xstop"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=goldmont -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going --buildpkg --buildpkg-exclude 'virtual/* sys-kernel/*-sources */*-bin www-client/google-chrome www-plugins/adobe-flash sys-kernel/linux-firmware'"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=goldmont -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg ccache clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=goldmont -O2 -pipe"
GENTOO_MIRRORS="http://mirrors.rit.edu/gentoo/ http://gentoo.netnitco.net http://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo"
LANG="fr_FR.iso885915@euro"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="fr fr_FR"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages/n3350"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi activities aim alsa amd64 audiofile bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr dvdread eds elogind emboss encode evo exif fbcon ffmpeg firefox flac gdbm gif gphoto2 gtk iconv icu imagemagick imlib jabber java jpeg kde kipi kwallet lcms ldap libnotify libsamplerate libtirpc lm_sensors mad matroska mng mp3 mp4 mpeg multilib ncurses nls nodoc noinfo noman nptl nptlonly nsplugin ogg oggvorbis openal opengl openmp pam pango pcre pdf phonon plasma png policykit portaudio qml qt5 readline scanner sdl seccomp sndfile sox speex spell split-usr ssl startup-notification svg tcpd theora tiff truetype udev udisks unicode upower usb v4l vorbis widgets wifi win32codecs wxwidgets x264 x265 xattr xcb xcomposite xinerama xml xpm xv xvid zlib" ABI_X86="64 32" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel sco" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="fr fr_FR" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965 iris" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Quote:
If turning off ccache doesn't work. rerun the build with MAKEOPTS="-j1" too please.
That's
Code:
FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av

https://dpaste.com/6ESXYACHN

Quote:
Were you able to do the merge on the Celeron?

Without any problem, app-text/calibre too.
Quote:
That would point to CPU differences.

Nothing I can do ?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Tue Jul 28, 2020 3:01 pm    Post subject: Reply with quote

Frautoincnam,

It looks like the Celeron has aes but the Coffeelake does not.
Please post the
Code:
flags           :
line from /proc/cpuinfo for each CPU. Its there once for each core but one copy will do.

What is happening is that -march=goldmont says to use aes, so the code is built that way then a part of it is run and run time CPU detection says that you can't do that.

Just for net-libs/accounts-qml we can do this test.
Code:
CFLAGS="${CFLAGS} -mno-aes" CXXFLAGS="${CXXFLAGS} -mno-aes"  FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av

That turns off aes for this one command.

If all goes well the log will show -mno-aes at line 34/35
Code:
make[1]: Entering directory '/var/tmp/portage/net-libs/accounts-qml-0.7-r1/work/accounts-qml-module-VERSION_0.7/src'
x86_64-pc-linux-gnu-g++ -march=goldmont -O2 -pipe -Wno-write-strings -fno-exceptions -fno-rtti -std=c++11 -dM -E -o moc_predefs.h /usr/lib64/qt5/mkspecs/features/data/dummy.cpp

The ebuild can filter CFLAGS and CXXFLAGS, so there may be a bit more work to do.

I'm showing lots of bad habits here but portage can be told to remember it. That's for another post.
The idea here is to determine if net-libs/accounts-qml is the source of the problem or another package that is being used by install.

If that works, what about
Code:
FEATURES="-ccache buildpkgonly" MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av

That does everything except the install in the chroot. You still get your binary package built with aes for the celeron.
That may work too but may not be a solution to the problem.

As buildpkgonly stops net-libs/accounts-qml being installed, anything that needs to link against it will fail.
There is a lot more explaination to come here too.

Its very important that ccache is off for this, we don't want any ccached aes instructions in the new code.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Tue Jul 28, 2020 3:13 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Code:
flags           :
line from /proc/cpuinfo for each CPU. Its there once for each core but one copy will do.

From Celeron :
Code:
$ grep flags /proc/cpuinfo | head -n 1
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts


From coffeelake :
Code:
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp


Quote:
What is happening is that -march=goldmont says to use aes, so the code is built that way then a part of it is run and run time CPU detection says that you can't do that.

Of course

Quote:
Just for net-libs/accounts-qml we can do this test.
Code:
CFLAGS="${CFLAGS} -mno-aes" CXXFLAGS="${CXXFLAGS} -mno-aes"  FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av

That turns off aes for this one command.

Not better :(

Quote:
If all goes well the log will show -mno-aes at line 34/35


Code:
make[1]: Entering directory '/var/tmp/portage/net-libs/accounts-qml-0.7-r1/work/accounts-qml-module-
VERSION_0.7/src'
x86_64-pc-linux-gnu-g++ -mno-aes -Wno-write-strings -fno-exceptions -fno-rtti -std=c++11 -dM -E -o m
oc_predefs.h /usr/lib64/qt5/mkspecs/features/data/dummy.cpp


Quote:
The idea here is to determine if net-libs/accounts-qml is the source of the problem or another package that is being used by install.

Ok.

Quote:
If that works, what about
Code:
FEATURES="-ccache buildpkgonly" MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av

That does everything except the install in the chroot. You still get your binary package built with aes for the celeron.
That may work too but may not be a solution to the problem.

As buildpkgonly stops net-libs/accounts-qml being installed, anything that needs to link against it will fail.

Of course.

Quote:
Its very important that ccache is off for this, we don't want any ccached aes instructions in the new code.

I understood that very well ;)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Tue Jul 28, 2020 3:46 pm    Post subject: Reply with quote

Frautoincnam,

I need more coffee. I'm telling you the right method but the wrong flag. Your error even says sha.
The problem flag is sha_ni, that means sha_ni: SHA1/SHA256 Instruction Extensions and its only on the Celoron.

You can build code like that on the Coffeelake but not execute it.

Do it all again with -mno-sha in place of -mno-aes.

Remove sha from CPU_FLAGS_X86= too. That enables hand optimised code that uses the sha extensions. I don't know if there is any.
Sorry about that.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Tue Jul 28, 2020 9:54 pm    Post subject: Reply with quote

NeddySeagoon wrote:
I need more coffee. I'm telling you the right method but the wrong flag. Your error even says sha.
The problem flag is sha_ni, that means sha_ni: SHA1/SHA256 Instruction Extensions and its only on the Celoron.

I saw that, but I supposed there was a link between sha and aes.

Quote:
You can build code like that on the Coffeelake but not execute it.

Do it all again with -mno-sha in place of -mno-aes.

Remove sha from CPU_FLAGS_X86= too. That enables hand optimised code that uses the sha extensions. I don't know if there is any.


I removed sha from CPU_FLAGS_X86= in make.conf but same error with :
Code:
# CFLAGS="${CFLAGS} -mno-sha" CXXFLAGS="${CXXFLAGS} -mno-sha"  FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av


Quote:
Sorry about that.

Dont be. It's up to me to be embarrassed for the time you devote to me.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Fri Jul 31, 2020 9:41 pm    Post subject: Reply with quote

No more idea ?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Fri Jul 31, 2020 10:05 pm    Post subject: Reply with quote

Can you post the build log please?

We need to check the flags passed to the compiler and the order.

When the same control is passed more than once, the last setting is used.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Fri Jul 31, 2020 10:15 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Can you post the build log please?

here it is

Quote:
We need to check the flags passed to the compiler and the order.

When the same control is passed more than once, the last setting is used.

This sounds a little bit chineese for me ;)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sat Aug 01, 2020 3:04 pm    Post subject: Reply with quote

Frautoincnam,

When you pass -march=goldmont to gcc, it you get -msha free. Its implied by -march=goldmont.

When you subsequently add mno-sha to the end of CFLAGS as in
Code:
"CFLAGS="${CFLAGS} -mno-sha"
then sha is turned off.
If something then sets -msha, its turned back on again. gcc follows the last setting of any option.

Code:
CFLAGS="${CFLAGS} -mno-sha"
appends -mno-sha to whatever CFLAGS were set at that time.

The ebuild can set its own CFLAGS and the build system can too. The only way to see what was actually used is to look at the gcc invocations in teh build log.

The first one says
Code:
x86_64-pc-linux-gnu-g++ -mno-sha -Wno-write-strings -fno-exceptions -fno-rtti -std=c++11 -dM -E -o ...


There is no march in the log, and its the same error.
Code:
Incompatible processor. This Qt build requires the following features:
    sha
Aborted. Incompatible processor: missing feature 0x2000000 - sha.


The missing -march is odd.
In your first build log, that line was
Code:
x86_64-pc-linux-gnu-g++ -march=goldmont -O2 -pipe -Wno-write-strings -fno-exceptions -fno-rtti -std=c++11 -dM -E
I was expecting to see -mno-sha placed after the -march=goldmont.

Please paste the exact command you issued.
It looks like it invoked CFLAGS="-mno-sha"
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sat Aug 01, 2020 4:09 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Please paste the exact command you issued.

I don't understand. I used exactly the command you gave to me, by copy/paste
I did it again, here is the full result with command
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sat Aug 01, 2020 4:19 pm    Post subject: Reply with quote

Frautoincnam,

That's exactly correct ... but its not used. Lets try another command.

Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" FEATURES=-ccache MAKEOPTS="-j1" emerge net-libs/accounts-qml -1av


That sets the FLAGS explicity, rather than appending to them.
The
Code:
-mno-sha
can be anywhere after the
Code:
-march=goldmont


I expect the build log to show
Code:
-march=goldmont -O2 -pipe -mno-sha
in use.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sat Aug 01, 2020 4:23 pm    Post subject: Reply with quote

NeddySeagoon wrote:
I expect the build log to show
Code:
-march=goldmont -O2 -pipe -mno-sha
in use.

It seems but same error https://dpaste.com/8QASJKBNU
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sat Aug 01, 2020 5:13 pm    Post subject: Reply with quote

Frautoincnam,

What does
Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" FEATURES=-ccache MAKEOPTS="-j1" emerge --info


I'm really only testing that ccache is off.
What does equery b /usr/lib64/qt5/bin/qmlplugindump?

Poking about a bit, I get
Code:
arm64-build / # equery b /usr/lib64/qt5/bin/qmlplugindump
 * Searching for /usr/lib64/qt5/bin/qmlplugindump ...
dev-qt/qtdeclarative-5.15.0-r1 (/usr/lib64/qt5/bin/qmlplugindump)

Looking at that,
Code:
arm64-build / # ls -l /usr/lib64/qt5/bin/qmlplugindumpIts an executable file.
-rwxr-xr-x 1 root root 135168 Jul 30 23:55 /usr/lib64/qt5/bin/qmlplugindump


The error is
Code:
Incompatible processor. This Qt build requires the following features:
    sha
Aborted. Incompatible processor: missing feature 0x2000000 - sha.
/bin/sh: line 1:    41 Aborted                 /usr/lib64/qt5/bin/qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 . > Ubuntu/OnlineAccounts/plugin.qmltypes

Maybe its /usr/lib64/qt5/bin/qmlplugindump that needs to be built with -mno-sha, not net-libs/accounts-qml, or maybe both do?

Rebuild dev-qt/qtdeclarative with -mno-sha, then net-libs/accounts-qml with -mno-sha and distcc off (for both) too.

-- edit --
This isn't a rabbit hole, its a whole warren.
net-libs/accounts-qml depends on
Code:
RDEPEND="
        dev-qt/qtcore:5
        dev-qt/qtdeclarative:5
        net-libs/accounts-qt
        net-libs/signond
"

They will have their dependencies and so on.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sat Aug 01, 2020 6:09 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Frautoincnam,

What does
Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" FEATURES=-ccache MAKEOPTS="-j1" emerge --info


I'm really only testing that ccache is off.

It is :
Code:
ccache version 3.7.10 [disabled]


Quote:
What does equery b /usr/lib64/qt5/bin/qmlplugindump?

Code:
 * Searching for /usr/lib64/qt5/bin/qmlplugindump ...
dev-qt/qtdeclarative-5.14.2-r4 (/usr/lib64/qt5/bin/qmlplugindump)


Quote:
Rebuild dev-qt/qtdeclarative with -mno-sha, then net-libs/accounts-qml with -mno-sha and distcc off (for both) too.


I have to tell you that since your first post here, I rebuilt ALL my world with :
Code:
COMMON_FLAGS="-march=goldmont -mno-sha -O2 -pipe"

in my make.conf. I know that's not the same order as you suggested today.

So I tried :
Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" FEATURES="-ccache -distcc" MAKEOPTS="-j1" emerge dev-qt/qtdeclarative  net-libs/accounts-qml -1av

But same error https://dpaste.com/67BDSHJA5 :(
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sat Aug 01, 2020 7:22 pm    Post subject: Reply with quote

Frautoincnam,

Either you have missed something or a build system somewhere is turning on sha.
Portage keeps a database of everything that is installed how it was built and so on.

Its saved in /var/db/pkg and its all human readable files.
For any installed package /var/db/pkg/<category>/<package>-<version>/* tells you all about it

Code:
grep no-sha /var/db/pkg/*/*/CXXFLAGS
Should produce lots of hits with no-sha highlighted.
Likewise
Code:
grep no-sha /var/db/pkg/*/*/CFLAGS


That's not very useful, other than to prove it works, so do that.

The real test is
Code:
grep -v no-sha /var/db/pkg/*/*/CXXFLAGS
grep -v no-sha /var/db/pkg/*/*/CFLAGS


Both should return nothing. -v inVerts the match.
Any hits highlight suspect packages that do not have -mno-sha set.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sat Aug 01, 2020 10:42 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Frautoincnam,

Either you have missed something

Surely

Code:
grep no-sha /var/db/pkg/*/*/CXXFLAGS
Should produce lots of hits with no-sha highlighted.
Likewise
Code:
grep no-sha /var/db/pkg/*/*/CFLAGS

Code:
18:33:08 root@vmaspires11 ~ # grep no-sha /var/db/pkg/*/*/CXXFLAGS | wc -l
43
18:34:19 root@vmaspires11 ~ # grep no-sha /var/db/pkg/*/*/CFLAGS | wc -l
43
18:35:33 root@vmaspires11 ~ # grep -v no-sha /var/db/pkg/*/*/CFLAGS | wc -l
1072
18:35:40 root@vmaspires11 ~ # grep -v no-sha /var/db/pkg/*/*/CXXFLAGS | wc -l
1074

Do you advise me to recompile all world again or a part only ?
With
Code:
COMMON_FLAGS="-march=goldmont -mno-sha -O2 -pipe"

or
Code:
COMMON_FLAGS="-march=goldmont -O2 -pipe -mno-sha"

or nevermind ?

Always without ccache ?

EDIT :
While waiting, I cleared ccache (ccache -C), so I won't use it but populate it, and started :
Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" /usr/bin/emerge net-libs/accounts-qml -ea

with -j7. It would be too slow with -j1.
435 packages to compile.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sun Aug 02, 2020 8:33 am    Post subject: Reply with quote

Frautoincnam,

You are one step ahead :)

The -j1 was just to have a log that contains sequential messages rather than the N way interleaved messages that -jN produres.
I'm sure that -mno-sha everywhere will work but we won't know the package that is trying to execute sha instructions.

If you don't mind
Code:
-march=goldmont  -mno-sha
everywhere, that's OK.

If you want to poke a bit deeper and set -mno-sha on a per package basis, that works too. The hard bit is discovering which packages.

I don't know the performance penalty for using
Code:
-march=goldmont  -mno-sha
everywhere.
It may not be worth the effort.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sun Aug 02, 2020 10:37 am    Post subject: Reply with quote

I think you have two problems
- lack of sha support in the celeron
- and a nasty gcc feature for you :D
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
Quote:
GCC depresses SSEx instructions when -mavx is used. Instead, it generates new AVX instructions or AVX equivalence for all SSEx instructions when needed.

sha was added as new SSE feature : https://en.wikipedia.org/wiki/Intel_SHA_extensions

so setting -mno-sha may be just ignore because gcc do see the -mavx is enable and prefer use avx instructions to do the sha ones, -mno-ssha do disable it from SSE, but gcc doesn't use it from SSE but from AVX features

i let you decide if -mno-sha -mno-avx will be worth or not
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sun Aug 02, 2020 2:07 pm    Post subject: Reply with quote

Frautoincnam wrote:
EDIT :
While waiting, I cleared ccache (ccache -C), so I won't use it but populate it, and started :
Code:
CFLAGS="-march=goldmont -O2 -pipe -mno-sha"  CXXFLAGS="-march=goldmont -O2 -pipe -mno-sha" /usr/bin/emerge net-libs/accounts-qml -ea

with -j7. It would be too slow with -j1.
435 packages to compile.

Worked
Code:
# genlop -i accounts-qml
 * net-libs/accounts-qml


   Total builds: 1
   Global build time: 10 seconds.

   Info about currently installed ebuild:

   * net-libs/accounts-qml-0.7-r1
   Install date: Sun Aug  2 02:15:04 2020
   USE=" -doc -test"
   CFLAGS="-march=goldmont -mno-sha -O2 -pipe"   CXXFLAGS="-march=goldmont -mno-sha -O2 -pipe"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"


In fact, I wanted to save us time. I didn't understand that you wanted to take it step by step to determine the culprit.
What can I do to go back without recompiling everything again?

krinn wrote:
i let you decide if -mno-sha -mno-avx will be worth or not

Thank you for this information but I do not know what to deduce concretely.
Are you saying that I could have left -sha for everything, but have -mno-sha -mno-avx for account-qml?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54236
Location: 56N 3W

PostPosted: Sun Aug 02, 2020 5:45 pm    Post subject: Reply with quote

Frautoincnam,

Since we now have -mno-sha everywhere, try to build account-qml with -msha
That turns it on just for that package.

Once you know the culprit. you can set CFLAGS and CXXFLAGS on a per packages basis and portage will apply them for you.
Here's how.

The coffeelake can build things with -msha but not execute them.
That means not attempting to execute anything that has the sha instruction extensions in use.

You can set -mno-sha for the packages that fail on the coffeelake and live with it on the celeron.
In some cases you can build the twice, once with -mno-sha to install in the coffeelake chroot and once with -msha for the celeron (that does not get installed in the chroot).
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Apprentice
Apprentice


Joined: 19 May 2017
Posts: 294

PostPosted: Sun Aug 02, 2020 7:26 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Since we now have -mno-sha everywhere, try to build account-qml with -msha

worked with
Code:
CFLAGS="-march=goldmont -O2 -pipe -msha"  CXXFLAGS="-march=goldmont -O2 -pipe -msha" FEATURES="-ccache" emerge -a1 net-libs/accounts-qml


Quote:
Once you know the culprit.

Of course, but how to find it ?
Because recompiling it with -msha will necessarily work because that's not the one where I had the error.

Quote:
you can set CFLAGS and CXXFLAGS on a per packages basis and portage will apply them for you.

I know that.

Quote:
The coffeelake can build things with -msha but not execute them.
That means not attempting to execute anything that has the sha instruction extensions in use.

Of course. that's not a problem. The chroot is just done to create binaries.

Quote:
You can set -mno-sha for the packages that fail on the coffeelake and live with it on the celeron.

Of course. thjat's what I did.

Quote:
In some cases you can build the twice, once with -mno-sha to install in the coffeelake chroot and once with -msha for the celeron (that does not get installed in the chroot).

I don't understand. My chroot, where I compile all binaries for the celeron is dedicated for that, so the same packages are installed on both.
I need to have same world, to be able to update easily.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
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