I've set CFLAGS_x86 to contain -mstackrealign to avoid crashes in various proprietary applications due to stack alignment issues with recent GCCs. When compiling any version of rust, the command to load in config.env fails with the following error message: env: ‘-pipe’: No such file or directory I've got a local patch I apply to rust ebuilds to avoid this which sets IFS to \n (I'm posting a PR to github as well). Reproducible: Always Steps to Reproduce: 1. Set CFLAGS_x86 to "${CFLAGS_x86} -pipe -mstackrealign" 2. Compile any rust ebuild Actual Results: The following error appears: >>> Compiling source in /var/tmp/portage/dev-lang/rust-1.44.1/work/rustc-1.44.1-src ... env: ‘-pipe’: No such file or directory * ERROR: dev-lang/rust-1.44.1::gentoo failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 3603: Called die * The specific snippet of code: * env $(cat "${S}"/config.env) RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die * * If you need support, post the output of `emerge --info '=dev-lang/rust-1.44.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-lang/rust-1.44.1::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-lang/rust-1.44.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-lang/rust-1.44.1/temp/environment'. * Working directory: '/var/tmp/portage/dev-lang/rust-1.44.1/work/rustc-1.44.1-src' * S: '/var/tmp/portage/dev-lang/rust-1.44.1/work/rustc-1.44.1-src' Expected Results: Compiled successfully. Portage 2.3.103 (python 3.6.10-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-9.3.0, glibc-2.30-r8, 5.6.13-gentoo x86_64) ================================================================= System uname: Linux-5.6.13-gentoo-x86_64-Intel-R-_Core-TM-_i7-8550U_CPU_@_1.80GHz-with-gentoo-2.6 KiB Mem: 32833672 total, 19933044 free KiB Swap: 4194300 total, 4194300 free Timestamp of repository gentoo: Mon, 27 Jul 2020 02:35:21 +0000 Head commit of repository gentoo: e583c7e4e62de00ce51d1dbb9493daf41f7f9204 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 [enabled] ccache version 3.7.7 [disabled] app-shells/bash: 5.0_p17::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.30.1::gentoo dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo dev-util/ccache: 3.7.7-r1::gentoo dev-util/cmake: 3.16.5::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.13.4-r2::gentoo, 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.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.30-r8::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 MyLocal location: /usr/local/portage masters: gentoo priority: 0 flatpak-overlay location: /var/lib/layman/flatpak-overlay sync-type: laymansync sync-uri: https://github.com/fosero/flatpak-overlay.git masters: gentoo priority: 50 hasufell location: /var/lib/layman/hasufell sync-type: laymansync sync-uri: https://bitbucket.org/hasufell/hasufell-overlay.git masters: gentoo priority: 50 kde location: /var/lib/layman/kde sync-type: laymansync sync-uri: https://anongit.gentoo.org/git/proj/kde.git masters: gentoo priority: 50 qt location: /var/lib/layman/qt sync-type: laymansync sync-uri: https://anongit.gentoo.org/git/proj/qt.git masters: gentoo priority: 50 sabayon location: /var/lib/layman/sabayon sync-type: laymansync sync-uri: git://github.com/Sabayon/for-gentoo.git masters: gentoo priority: 50 Installed sets: @kde-plasma ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE google-chrome Google-TOS GIMPS creduce" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O3 -march=skylake -mcx16 -mfxsr -mlzcnt -mmovbe -madx -mxsaveopt -mxsave --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -ggdb3 -fno-omit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf /usr/share/themes/oxygen-gtk/gtk-2.0" 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="-O3 -march=skylake -mcx16 -mfxsr -mlzcnt -mmovbe -madx -mxsaveopt -mxsave --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -ggdb3 -fno-omit-frame-pointer" DISTDIR="/usr/portage/distfiles" 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="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs compressdebug config-protect-if-modified distcc distlocks ebuild-locks fixlafiles installsources 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" GENTOO_MIRRORS="http://192.168.119.89/gentoo" LANG="en_CA.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j100 -l24" 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="7zip X a52 aac acl acpi activities aio alsa amd64 ap apng arping aspell attica autoipd avahi bash-completion bcrypt berkdb bittorrent bluetooth branding brightness-control btrfs bzip2 cairo canberra caps cdda cdr cgi chromecast cilk clang cli client clippy clucene codec2 color-management colorio conch connection-sharing conntrack crypt cryptsetup cups curl dav1d dbus declarative designer device-mapper dhcp dictionary dnssec dolphin dot dpi dri dri3 drm dts dvd dvdr ebook editorconfig egl elf emboss emoji encode epoll epub equalizer eselect-ldso evdev exif expat extra faac fam farstream faudio ffmpeg fftw firmware flac fontconfig fontforge fortran fpm g3dvl gbm gd gdbm geckodriver gentoo-vm gif git gles gles1 gles2 glew gmp gold gpg gpm grub gstreamer gtk gtk3 gtkstyle gudev haptic http http2 hwaccel hwdb iconv icu imagemagick infinality inotify int-quality iproute2 ipv6 jack jingle jit jpeg jpeg2k json junction kde kde4 kde4_compat kdepim kdrive keymap kipi kms kolab kwallet lame latex layers lcms legacy-systray libav-aac libdrm libffi libinput libkms libnotify libproxy libsamplerate libtar libtirpc libv4l llvm lm-sensors lm_sensors localstorage lto lv2 lvm lyx lzma lzo mad markdown matroska mdnsresponder-compat minizip mmx mmxext mng modemmanager modern-top mp3 mp4 mpeg mplayer mpris msn mtp multilib multimedia musicbrainz mysql mysqli mysqlnd natspec ncurses netlink network network-cron networkmanager nfs nfsidmap nls nptl nss numpy oauth ocl-icd ocl20 ofa ogg okteta openal opencl opengl opengtl openmax openmp openssl optimized-qmake otr p2p pam pango parted pcntl pcre pcre16 pdf pdo pgo phonon php pic pim pkcs11 plasma plasma5 plotutils plymouth png policykit postgres postproc ppds printsupport prison privsep projectm pulseaudio pyqt4 python qalculate qemu qml qt3support qt4 qt5 quad rdesktop readline realtime resolvconf reviewboard right_timezone samba sasl scanner screencast script scripttools sctp sdk sdl sdl-image sdl2 seccomp secure-delete semantic-desktop skins slang smartcard smp snappy sndfile sound speech spell split-usr sql sqlite sqlite3 sse sse2 sse3 ssh ssl startup-notification subversion svc svg svg2 symlink sync-plugin-portage syslog system-bootstrap system-cairo system-harfbuzz system-icu system-jpeg system-jsoncpp system-libevent system-libvpx system-llvm system-snappy system-sqlite systemd sysv-utils taglib tbb tcpd telepathy theora threads thumbnail thunderbolt tiff touchpad truetype twolame udev udisks unicode unwind upnp upower usb usbredir user-session utils v4l vaapi valgrind vdpau vhost-user-fs video vidstab virt-network vkd3d vlc vnc vorbis vpx vulkan wasm wayland wayland-compositor webinterface webkit webp widgets wifi winbind woff2 wps wxwidgets x264 x265 xa xattr xcb xcomposite xephyr xetex xine xinerama xkb xml xmlreader xmlwriter xorg xv xvfb xvid xvmc xwayland xxhash yubikey zeroconf zip zlib" ABI_X86="64 32" 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="author braindump flow karbon kexi krita sheets stage words plan" CAMERAS="*" 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="efi-64 pc" INPUT_DEVICES="evdev synaptics libinput" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="X86 BPF WebAssembly" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965" 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, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Pull request: https://github.com/gentoo/gentoo/pull/16846
thanks for reporting. I think we should get rid of env/cat thing completely. Not sure why it was done the way it is now.
ok, the env trick was done because variables contain dashes.. to it's impossible to just export them. I will fix it a bit later. I don't like IFS solution and env solution.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c6ec743ace5257046552f4d1745bbf46f2ed73c commit 0c6ec743ace5257046552f4d1745bbf46f2ed73c Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-07-31 08:01:57 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-07-31 09:20:33 +0000 dev-lang/rust: bump to 1.45.1 Bug: https://bugs.gentoo.org/734018 Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/Manifest | 1 + dev-lang/rust/rust-1.45.1.ebuild | 504 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 505 insertions(+)
this bug has nothing to do with the ebuilds filtering out -mcpu -march and -mtune, doesn't it?
(In reply to tt_1 from comment #5) > this bug has nothing to do with the ebuilds filtering out -mcpu -march and > -mtune, doesn't it? no, not at all. cross support filters out cpu specific flags. it needs to be smarter.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51563211f1ddc9662e89cad5c1a2495fcdf9f117 commit 51563211f1ddc9662e89cad5c1a2495fcdf9f117 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-10-08 19:32:12 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-10-09 06:23:05 +0000 dev-lang/rust: bump to 1.47.0 we now install to /usr/lib/rust/<ver> this is more robust and mirrors how rustup installs rust, also most slotted toolchain projects already to it, so we follow Bug: https://bugs.gentoo.org/734018 PR: https://github.com/gentoo/gentoo/pull/16846 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/Manifest | 15 + ...46.0-don-t-create-prefix-at-time-of-check.patch | 31 ++ ....0-ignore-broken-and-non-applicable-tests.patch | 75 +++ dev-lang/rust/files/gentoo-musl-target-specs.patch | 168 ++++++ dev-lang/rust/rust-1.47.0.ebuild | 582 +++++++++++++++++++++ 5 files changed, 871 insertions(+)
I've added IFS in a subshell, can you test rust-1.47.0 ?
(In reply to Georgy Yakovlev from comment #8) > I've added IFS in a subshell, can you test rust-1.47.0 ? I've test compiled rust-1.47, and it worked. I didn't merge it as I needed to keep 1.46 to compile firefox.
thanks for testing! firefox (at least latest) should compile fine now with 1.47.0, we have patches. but anyway, I do not recommend using 1.47.0 yet, revbumps with more fixes coming soon. so hold on to 1.46 for now. I will backport env fixes to stable versions.
and sorry for taking so long, I lost track of the bug.
(In reply to Georgy Yakovlev from comment #11) > and sorry for taking so long, I lost track of the bug. np, thanks for fixing it!