View previous topic :: View next topic |
Author |
Message |
jhon987 Apprentice
Joined: 18 Nov 2013 Posts: 297
|
Posted: Sat May 16, 2020 1:16 pm Post subject: Failed to emerge app-portage/portage-utils-0.87 |
|
|
Errors start here:
Code: | main.c:597:14: error: initializer element is not constant
597 | .name_len = strlen(#V), \
| ^~~~~~
main.c:604:28: note: in expansion of macro ‘_Q_EV’
604 | #define _Q_EVS(t, V, v, d) _Q_EV(t, V, .value.s = &v, .value_len = strlen(d), d)
| ^~~~~
main.c:607:2: note: in expansion of macro ‘_Q_EVS’
607 | _Q_EVS(STR, ROOT, portroot, "/") |
and eventually:
Code: | make[2]: *** [Makefile:1787: q-main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/tmp/portage/app-portage/portage-utils-0.87/work/portage-utils-0.87'
make[1]: *** [Makefile:2107: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-portage/portage-utils-0.87/work/portage-utils-0.87'
make: *** [Makefile:1623: all] Error 2
* ERROR: app-portage/portage-utils-0.87::gentoo failed (compile phase):
* emake failed |
? |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sat May 16, 2020 1:46 pm Post subject: |
|
|
I am unable to reproduce on neither amd64 (fresh stage3) nor my ~amd64 systems (no gcc10 though), not seeing any bug open about this either.
Given the very recent stabilization process I'd think there's no problems on normal configurations, so `emerge --info` output may help. |
|
Back to top |
|
|
jhon987 Apprentice
Joined: 18 Nov 2013 Posts: 297
|
Posted: Sat May 16, 2020 2:06 pm Post subject: |
|
|
yeah I figured this probably uniqe to me, since I haven't seen any othr reference...
Code: | # emerge --info
Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.1/no-multilib, gcc-9.3.0, glibc-2.30-r8, 5.4.38-gentoo x86_64)
=================================================================
System uname: Linux-5.4.38-gentoo-x86_64-Intel-R-_Core-TM-_i7-8700_CPU_@_3.20GHz-with-gentoo-2.6
KiB Mem: 16313876 total, 13037700 free
KiB Swap: 204796 total, 204796 free
Timestamp of repository gentoo: Sat, 16 May 2020 11:00:01 +0000
Head commit of repository gentoo: 1e5158b25d90df97cc45f33a18f06da568d0275b
sh bash 5.0_p17
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash: 5.0_p17::gentoo
dev-lang/perl: 5.30.1::gentoo
dev-lang/python: 2.7.18::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo
dev-util/cmake: 3.16.5::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.6-r1::gentoo
sys-apps/openrc: 0.42.1::gentoo
sys-apps/sandbox: 2.13::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::gentoo
sys-devel/gcc-config: 2.2.1::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4::gentoo (virtual/os-headers)
sys-libs/glibc: 2.30-r8::gentoo
Repositories:
gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-verify-jobs: 1
sync-rsync-verify-max-age: 24
sync-rsync-extra-opts:
sync-rsync-verify-metamanifest: yes
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -ftree-vectorize -fno-builtin-strlen -mrdrnd"
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"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.4/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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="-O2 -pipe -ftree-vectorize"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-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 splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -ftree-vectorize"
GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/ ftp://mirror.isoc.org.il/gentoo/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="en_IL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_US he"
MAKEOPTS="-j12"
PKGDIR="/usr/portage/packages"
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 aac aacplus acl alsa amd64 apng berkdb bidi bluetooth bzip2 cairo cgroups cli crypt cups custom-cflags custom-optimization dbus dirac dri drm dvd elogind faad ffmpeg flac fontconfig fortran frei0r fribidi gcrypt gdbm gif gimp gnutls gpg gtk gtk3 harfbuzz http2 iconv icu ipv6 jpeg kde kdesu librtmp libtirpc live logrotate lto mad matroska mp3 mpeg mtp musepack mysql ncurses networkmanager nls nptl ntfs nvidia ogg openal opengl openmp openrc opus pam pcre pm-utils png postproc ppds pulseaudio qt5 readline realtime rtmp rtsp savedconfig schroedinger seccomp semantic-desktop sharedmem shm split-usr sqlite ssl svg system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-llvm system-sqlite sysv-utils taglib tcpd theora threads twolame unicode upower usb uvm vdpau vorbis vpx x264 x265 xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="words sheets stage" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt 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="pc" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en he en_IL" 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" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" RUBY_TARGETS="ruby24 ruby25" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS |
|
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sat May 16, 2020 2:09 pm Post subject: |
|
|
Yeah, I get same error if I use your -fno-builtin-strlen which immediately looked suspicious.
Edit: I assume you may have used this for valgrind maybe? I don't think having this set system-wide is a good idea, if you have a reason for it set it only per-package as needed
Last edited by Ionen on Sat May 16, 2020 2:21 pm; edited 1 time in total |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30917 Location: here
|
Posted: Sat May 16, 2020 2:20 pm Post subject: |
|
|
As Ionen say try to rebuild with standard CLFLAGS -march=native -O2 -pipe _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
jhon987 Apprentice
Joined: 18 Nov 2013 Posts: 297
|
Posted: Sat May 16, 2020 2:42 pm Post subject: |
|
|
Indeed I use it for valgrind.
I confirm removing it solves the problem, thank you very much!
@Ionen Quote: | if you have a reason for it set it only per-package as needed | , that's an interesting assertion, but let's say, theoretically, I use it for a certain package, and that exact package would yield an error upon emerge. So, what I'm saying is, what you suggest would probably lower the chances of encountering such issue, but on the other hand would be more work to set for every particular package and wouldn't necessarily solve the issue.
So, apologies for disagreeing with you, but I don't like to maintain my system that way, I'm sorry that due to my maintenance policy I've troubled you to find the solution to my problem, but on the other hand, it's not like I made you do it...
What are your thoughts? |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30917 Location: here
|
Posted: Sat May 16, 2020 2:57 pm Post subject: |
|
|
jhon987 wrote: | but on the other hand would be more work to set for every particular package and wouldn't necessarily solve the issue. |
More work is echo "<category>/<package> no-builtin-strlen.conf" >> /etc/portage/package.env once the no-builtin-strlen.conf configuration is created. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sat May 16, 2020 3:01 pm Post subject: |
|
|
Well, it's up to you. You can also setup the other way around if you really prefer (as-in use package.env to re-enable the builtin per failing package).
You also "could" report it as an issue to upstream of affected packages if you want this fixed, technically packages are not "supposed" to fail with this. Although not every developers care about things like this.
Next time you have issues, do at least give it a try with normal cflags anyhow. Issue may come up again if left system-wide. |
|
Back to top |
|
|
jhon987 Apprentice
Joined: 18 Nov 2013 Posts: 297
|
Posted: Sat May 16, 2020 3:44 pm Post subject: |
|
|
@Ionen thank U for understanding.
the problem is I tend to forget what is normal cflags sometimes (see my explanation below)...
@fedeliallalinea look, here is the thing. I only program as hobby (not professional), it can be sometimes months, or more, that I haven't touch any code. And then, upon fixing some bug of a program I wrote long time ago, or for programing something small every once in a while - I simply don't remember what use flags I enabled or even how to use valgrind properly, and then I have to reread valgrind manual and so forth.
So it's much easier for me to set and forget, instead of resetting, and relearning every rare time I use that feature.
The downside, of course, is because I don't remember, then I post a question here, and that's troubling you guys to help me find solution for my problem, but then again, it's not like I'm making you do it and as Ionen said,
Quote: | technically packages are not "supposed" to fail with this |
So, I'm sorry but that's what I think... |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sat May 16, 2020 4:03 pm Post subject: |
|
|
jhon987 wrote: | it's not like I'm making you do it | I don't think anyone is blaming you for this, most here are just doing support for fun. The ones that "may" get genuinely annoyed are maintainers/developers in bug reports depending on who you're talking to
Just doing suggestions anyway, what you do with them is up to you. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Sat May 16, 2020 4:55 pm Post subject: |
|
|
In this case, the original code looks questionable to me, and could probably be made to work by using sizeof(#V) - 1 instead of strlen(#V). sizeof would be a true compile-time expression, and should be safe since it is being passed a stringized constant. |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1530 Location: South America
|
Posted: Sat May 16, 2020 6:56 pm Post subject: |
|
|
Right. The code contains a "constraint violation". But upstream is also Gentoo in this case, so bug filed:
Bug #723422 |
|
Back to top |
|
|
grobian Developer
Joined: 31 May 2006 Posts: 67
|
Posted: Sat May 16, 2020 6:57 pm Post subject: |
|
|
This is correct, and should've used sizeof() - 1 regardless of this compiler behaviour.
I've pushed a fix, can someone confirm that portage-utils-9999 compiles correctly now?
Thanks _________________ Gentoo on a different level |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sat May 16, 2020 7:04 pm Post subject: |
|
|
grobian wrote: | I've pushed a fix, can someone confirm that portage-utils-9999 compiles correctly now? | Gave it a try but as already pointed in the bug report, seems there's more to fix |
|
Back to top |
|
|
grobian Developer
Joined: 31 May 2006 Posts: 67
|
Posted: Sun May 17, 2020 8:15 am Post subject: |
|
|
right, I missed that one, made another push just now _________________ Gentoo on a different level |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2719
|
Posted: Sun May 17, 2020 10:43 am Post subject: |
|
|
grobian wrote: | right, I missed that one, made another push just now | Gave it another try, built fine even with -fno-builtin-strlen, and not seeing any runtime issues either Thanks. |
|
Back to top |
|
|
|