Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Failed to emerge app-portage/portage-utils-0.87
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
jhon987
Apprentice
Apprentice


Joined: 18 Nov 2013
Posts: 297

PostPosted: Sat May 16, 2020 1:16 pm    Post subject: Failed to emerge app-portage/portage-utils-0.87 Reply with quote

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


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sat May 16, 2020 1:46 pm    Post subject: Reply with quote

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


Joined: 18 Nov 2013
Posts: 297

PostPosted: Sat May 16, 2020 2:06 pm    Post subject: Reply with quote

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


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sat May 16, 2020 2:09 pm    Post subject: Reply with quote

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


Joined: 08 Mar 2003
Posts: 30916
Location: here

PostPosted: Sat May 16, 2020 2:20 pm    Post subject: Reply with quote

As Ionen say try to rebuild with standard CLFLAGS -march=native -O2 -pipe
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
jhon987
Apprentice
Apprentice


Joined: 18 Nov 2013
Posts: 297

PostPosted: Sat May 16, 2020 2:42 pm    Post subject: Reply with quote

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


Joined: 08 Mar 2003
Posts: 30916
Location: here

PostPosted: Sat May 16, 2020 2:57 pm    Post subject: Reply with quote

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


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sat May 16, 2020 3:01 pm    Post subject: Reply with quote

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


Joined: 18 Nov 2013
Posts: 297

PostPosted: Sat May 16, 2020 3:44 pm    Post subject: Reply with quote

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


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sat May 16, 2020 4:03 pm    Post subject: Reply with quote

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


Joined: 06 Mar 2007
Posts: 21633

PostPosted: Sat May 16, 2020 4:55 pm    Post subject: Reply with quote

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


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

PostPosted: Sat May 16, 2020 6:56 pm    Post subject: Reply with quote

Right. The code contains a "constraint violation". But upstream is also Gentoo in this case, so bug filed:

Bug #723422
Back to top
View user's profile Send private message
grobian
Developer
Developer


Joined: 31 May 2006
Posts: 67

PostPosted: Sat May 16, 2020 6:57 pm    Post subject: Reply with quote

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


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sat May 16, 2020 7:04 pm    Post subject: Reply with quote

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


Joined: 31 May 2006
Posts: 67

PostPosted: Sun May 17, 2020 8:15 am    Post subject: Reply with quote

right, I missed that one, made another push just now
_________________
Gentoo on a different level
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sun May 17, 2020 10:43 am    Post subject: Reply with quote

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
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