Created attachment 913119 [details] emerge info New Gentoo system (and user!) with little installed - sudo emerge -av dotnet-sdk fails for a reason that isn't immediately obvious to me.
Created attachment 913120 [details] build log
Created attachment 913121 [details] emerge -pqv info
Portage 3.0.66.1 (python 3.12.7-final-0, default/linux/amd64/23.0, gcc-13, glibc-2.40-r5, 6.6.58-gentoo-dist x86_64) ================================================================= System Settings ================================================================= System uname: Linux-6.6.58-gentoo-dist-x86_64-Intel-R-_Xeon-R-_CPU_E7-8880_v4_@_2.20GHz-with-glibc2.40 KiB Mem: 230927624 total, 214430948 free KiB Swap: 134217724 total, 134217724 free Timestamp of repository gentoo: Fri, 22 Nov 2024 00:45:00 +0000 Head commit of repository gentoo: 04a9b5db9d41ad878d5c221c59e902f7490831ac sh bash 5.2_p37 ld GNU ld (Gentoo 2.42 p6) 2.42.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p37::gentoo dev-build/autoconf: 2.72-r1::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.30.5::gentoo dev-build/libtool: 2.4.7-r4::gentoo dev-build/make: 4.4.1-r100::gentoo dev-build/meson: 1.5.2::gentoo dev-java/java-config: 2.3.4::gentoo dev-lang/perl: 5.40.0::gentoo dev-lang/python: 3.12.7_p1::gentoo, 3.13.0::gentoo dev-lang/rust-bin: 1.81.0-r100::gentoo sys-apps/baselayout: 2.17::gentoo sys-apps/openrc: 0.54.2::gentoo sys-apps/sandbox: 2.39::gentoo sys-devel/binutils: 2.42-r2::gentoo sys-devel/binutils-config: 5.5.2::gentoo sys-devel/clang: 18.1.8::gentoo sys-devel/gcc: 13.3.1_p20241025::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/llvm: 18.1.8-r1::gentoo sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.40-r5::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: ...can't post URLs yet... priority: -1000 volatile: False sync-rsync-verify-max-age: 3 sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes Binary Repositories: gentoobinhost priority: 1 sync-uri: ...can't post URLs yet... ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS=" --jobs=176 --load-average=176" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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 XDG_STATE_HOME" FCFLAGS="-march=native -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted 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=native -O2 -pipe" GENTOO_MIRRORS="...can't post URLs yet..." LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j64 -l65" PKGDIR="/var/cache/binpkgs" 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" SHELL="/bin/bash" USE="acl amd64 bzip2 cet crypt dist-kernel gdbm iconv ipv6 libtirpc multilib ncurses nls openmp pam pcre readline seccomp ssl test-rust tty-helpers unicode xattr zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio 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="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
See also: https://github.com/dotnet/source-build/discussions/4780
squogg, any change with: env EMERGE_DEFAULT_OPTS="--jobs=1 --load-average=1" MAKEOPTS="-j1 -l1" emerge dev-dotnet/dotnet-sdk Also, do you have LR_ICU_VERSION_OVERRIDE or USER_CLR_ICU_VERSION_OVERRIDE env set?
The output of `env` may be helpful as well
Output of `env`: SHELL=/bin/bash LESS=-R -M --shift 5 JDK_HOME=/etc/java-config-2/current-system-vm CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/ca-certificates.conf JAVA_HOME=/etc/java-config-2/current-system-vm EDITOR=/bin/nano PWD=/home/johnc CONFIG_PROTECT=/usr/share/gnupg/qualified.txt LOGNAME=johnc MANPATH=/etc/java-config-2/current-system-vm/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/13/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.42/man:/etc/java-config-2/current-system-vm/man/:/usr/local/share/man:/usr/share/man:/usr/lib/rust/man-bin-1.81.0:/usr/lib/llvm/18/share/man:/usr/share/erlang/man MOTD_SHOWN=pam HOME=/home/johnc LANG=en_GB.utf8 LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.cfg=00;32:*.conf=00;32:*.diff=00;32:*.doc=00;32:*.ini=00;32:*.log=00;32:*.patch=00;32:*.pdf=00;32:*.ps=00;32:*.tex=00;32:*.txt=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90: SSH_CONNECTION=192.168.1.197 61033 192.168.1.227 22 INFOPATH=/usr/share/gcc-data/x86_64-pc-linux-gnu/13/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.42/info:/usr/share/autoconf-2.72/info:/usr/share/automake-1.16.5/info:/usr/share/info JAVAC=/etc/java-config-2/current-system-vm/bin/javac TERM=xterm LESSOPEN=|lesspipe %s USER=johnc MANPAGER=manpager SHLVL=1 PAGER=/usr/bin/less LEX=flex GCC_SPECS= SSH_CLIENT=192.168.1.197 61033 22 PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/18/bin MAIL=/var/mail/johnc SSH_TTY=/dev/pts/0 _=/usr/bin/env
Neither LR_ICU_VERSION_OVERRIDE nor USER_CLR_ICU_VERSION_OVERRIDE are set (as my user or su'd or sudo'd).
Created attachment 913272 [details] Build log with -j1 -l1 Diff'ing this and the original is a little awkward because of different timings, and sometimes different order (due to -j1 vs -j64 I suspect) - but the -j1 build log at the end shows four errors, not three as before. Sadly, I'm not familiar enough with the build process to know if this is significant or not.
Also checked CLR_ICU_VERSION_OVERRIDE - also not set as an environment variable, and can't see any mention of it in the build.log file...
ICU env vars were the cause of this error -> https://github.com/dotnet/source-build/issues/4781 My question about them was before I knew that they caused that one.
Thanks Maciej! I can't spot anything currently in the other bugs linked from #4780 - if it helps, it's very unlikely to be the OOM killer as I've got 88 cores and 224GB of RAM (old IBM server), and was running btop during the build and the machine was not under much load.
Okay - so I got the build done. Inspired by one of the Github bugs I decided to try to build .NET 9 from Github, and that revealed I needed to install (using emerge, of course): app-arch/brotli sys-libs/libunwind dev-libs/rapidjson I suspect the verbosity of the two different builds (build.sh from Github vs the ebuild for Gentoo) is different with the Github build being more verbose. Once done, both .NET 9 from Github and .NET 8 via emerge worked. So it would appear that there's no check for these - and as I've got a pretty new install, I just didn't have these on my box. I don't know how simple or appropriate this is - and apologies if it's a bit naive - but could these be added to the ebuild as pre-requisites?
And as an aside - does this need passing back to the Github build community?
(In reply to squogg from comment #13) > Okay - so I got the build done. > > Inspired by one of the Github bugs I decided to try to build .NET 9 from > Github, and that revealed I needed to install (using emerge, of course): > > app-arch/brotli > sys-libs/libunwind > dev-libs/rapidjson > > I suspect the verbosity of the two different builds (build.sh from Github vs > the ebuild for Gentoo) is different with the Github build being more verbose. > > Once done, both .NET 9 from Github and .NET 8 via emerge worked. So it > would appear that there's no check for these - and as I've got a pretty new > install, I just didn't have these on my box. Thank you so much for testing! > I don't know how simple or appropriate this is - and apologies if it's a bit > naive - but could these be added to the ebuild as pre-requisites? Yes, they will be added as soon as I get back to dotnet tests (probably tomorrow evening). After that this bug will be closed. (In reply to squogg from comment #14) > And as an aside - does this need passing back to the Github build community? This looks like it is should be solved for .NET 9.0 as they have this option -> https://github.com/gentoo/gentoo/blob/master/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild#L211
See also: https://github.com/dotnet/source-build/discussions/4780#discussioncomment-11455853
(In reply to Maciej Barć from comment #15) > This looks like it is should be solved for .NET 9.0 as they have this option > -> > https://github.com/gentoo/gentoo/blob/master/dev-dotnet/dotnet-sdk/dotnet- > sdk-9.0.100.ebuild#L211 Link to the --with-system-libs option in ebuild, again, this time with exact commit that introduced it -> https://github.com/dotnet/source-build/discussions/4780#discussioncomment-11455853
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acb6f16691818d73de5515e2c80202c00c447060 commit acb6f16691818d73de5515e2c80202c00c447060 Author: Maciej Barć <xgqt@gentoo.org> AuthorDate: 2024-12-04 08:45:26 +0000 Commit: Maciej Barć <xgqt@gentoo.org> CommitDate: 2024-12-04 22:32:58 +0000 dev-dotnet/dotnet-sdk: add missing deps Closes: https://bugs.gentoo.org/945773 Signed-off-by: Maciej Barć <xgqt@gentoo.org> .../{dotnet-sdk-8.0.107.ebuild => dotnet-sdk-8.0.107-r1.ebuild} | 3 +++ 1 file changed, 3 insertions(+)