Tatsh / tatsh-overlay

Personal Gentoo Portage overlay.
https://tatsh.github.io/tatsh-overlay/
GNU General Public License v2.0
35 stars 10 forks source link

games-emulation/rpcs3-0.0.31 - Fails to Build via Clang/LLVM & libc++ #284

Closed ThisNekoGuy closed 3 months ago

ThisNekoGuy commented 3 months ago

I get build errors near the end of compilation.


emerge_rpcs3_build.log

Emerge Info: ``` Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/17.1/clang, gcc-13, glibc-2.38-r10, 6.7.1-tkg-pds-gentoo-llvm-zen2 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-6.7.1-tkg-pds-gentoo-llvm-zen2-x86_64-AMD_Ryzen_7_3700X_8-Core_Processor-with-glibc2.38 KiB Mem: 32776752 total, 1387864 free KiB Swap: 16777212 total, 15150076 free Timestamp of repository gentoo: Mon, 11 Mar 2024 21:04:10 +0000 Head commit of repository gentoo: 6648e2a313fde8c883920ae9dc81a6a2521b4a48 Timestamp of repository guru: Mon, 11 Mar 2024 17:48:27 +0000 Head commit of repository guru: d4571efc9ca0d020f4a60a13e180376c55736b2c Timestamp of repository steam-overlay: Fri, 08 Mar 2024 06:20:30 +0000 Head commit of repository steam-overlay: 81806f9889dc8cd6e388081b8f2e57540ceed2bf Head commit of repository bobwya: 8ddde7cfbd4e6680e886fe8a4e16f91b7e2f1f03 Head commit of repository farmboy0: b936baea493b2b35b79c5a3ed3dbfbd582b70df0 Head commit of repository librewolf: 09f2e73504f9247099f8d0d580afbb9237caa2f0 Head commit of repository oxen-overlay: caa06ee33866f344b827f2bf7105839272cd7b3e Head commit of repository src_prepare-overlay: 8afdf1a050da4f5a2c43794f31381c4d1434239a Head commit of repository tatsh-overlay: 561126b873d465a8cc8271f66edc3d57cea3bb13 Head commit of repository tezeta: 7a74149b63fb8ab04f61ea527374a9c9e7e70a76 Head commit of repository thegreatmcpain: 982040419f05b4757c217178c26b12ec0b1b7df3 Head commit of repository x0rzavi: e560dddb58c5baebc899623129a9db37f9a8da4b Timestamp of repository xwing: Fri, 08 Mar 2024 08:03:16 +0000 Head commit of repository xwing: 9496360c24de489d758bfee3816b1f374fd65624 sh lksh ld GNU ld (Gentoo 2.41 p5) 2.41.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.1_p16-r6::gentoo dev-build/autoconf: 2.13-r8::gentoo, 2.71-r6::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.27.9::gentoo dev-build/libtool: 2.4.7-r2::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.3.2::gentoo dev-java/java-config: 2.3.3-r1::gentoo dev-lang/perl: 5.38.2-r2::gentoo dev-lang/python: 3.11.8_p1::gentoo, 3.12.2_p1::gentoo dev-lang/rust: 1.74.1::gentoo sys-apps/baselayout: 2.14-r2::gentoo sys-apps/openrc: 0.53::gentoo sys-apps/sandbox: 2.38::gentoo sys-devel/binutils: 2.41-r5::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo sys-devel/gcc: 13.2.1_p20240113-r1::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/lld: 17.0.6::gentoo sys-devel/llvm: 17.0.6::gentoo sys-kernel/linux-headers: 6.7::gentoo (virtual/os-headers) sys-libs/glibc: 2.38-r10::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 volatile: False guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo volatile: False steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo volatile: False bobwya location: /var/db/repos/bobwya sync-type: git sync-uri: https://github.com/bobwya/bobwya masters: gentoo priority: 50 volatile: False farmboy0 location: /var/db/repos/farmboy0 sync-type: git sync-uri: https://github.com/farmboy0/portage-overlay.git masters: gentoo priority: 50 volatile: False librewolf location: /var/db/repos/librewolf sync-type: git sync-uri: https://codeberg.org/librewolf/gentoo.git masters: gentoo priority: 50 volatile: False oxen-overlay location: /var/db/repos/oxen-overlay sync-type: git sync-uri: https://github.com/XutaxKamay/oxen-overlay.git masters: gentoo priority: 50 volatile: False src_prepare-overlay location: /var/db/repos/src_prepare-overlay sync-type: git sync-uri: https://gitlab.com/src_prepare/src_prepare-overlay.git masters: gentoo priority: 50 volatile: False tatsh-overlay location: /var/db/repos/tatsh-overlay sync-type: git sync-uri: https://github.com/Tatsh/tatsh-overlay.git masters: gentoo priority: 50 volatile: False tezeta location: /var/db/repos/tezeta sync-type: git sync-uri: https://github.com/tezeta/tezeta-overlay.git masters: gentoo priority: 50 volatile: False thegreatmcpain location: /var/db/repos/thegreatmcpain sync-type: git sync-uri: https://gitlab.com/TheGreatMcPain/thegreatmcpain-overlay.git masters: gentoo priority: 50 volatile: False x0rzavi location: /var/db/repos/x0rzavi sync-type: git sync-uri: https://github.com/x0rzavi/x0rzavi-overlay.git masters: gentoo priority: 50 volatile: False xwing location: /var/db/repos/xwing sync-type: git sync-uri: https://github.com/gentoo-mirror/xwing.git masters: gentoo priority: 50 volatile: False ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" ADDR2LINE="llvm-addr2line" AR="llvm-ar" AS="llvm-as" CBUILD="x86_64-pc-linux-gnu" CC="clang" CFLAGS="-march=znver2 -pipe -minline-all-stringops -ftree-vectorize -O3 -fno-plt -ftrivial-auto-var-init=pattern -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fstack-protector-strong -fcf-protection -fPIC -ggdb3" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" 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" CPP="clang-cpp" CXX="clang++" CXXFLAGS="-march=znver2 -pipe -minline-all-stringops -ftree-vectorize -O3 -fno-plt -ftrivial-auto-var-init=pattern -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fstack-protector-strong -fcf-protection -fPIC -ggdb3" DISTDIR="/var/cache/distfiles" 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=znver2 -pipe -minline-all-stringops -ftree-vectorize -O3 -fno-plt -ftrivial-auto-var-init=pattern -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fstack-protector-strong -fcf-protection -fPIC -ggdb3" 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 multilib-strict network-sandbox news nostrip 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=znver2 -pipe -minline-all-stringops -ftree-vectorize -O3 -fno-plt -ftrivial-auto-var-init=pattern -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fstack-protector-strong -fcf-protection -fPIC -ggdb3" GENTOO_MIRRORS="https://gentoo.osuosl.org/" LANG="en_US.utf8" LD="ld.lld" LDFLAGS="-Wl,-O3,--sort-common,--as-needed,-z,relro,-z,now" LEX="flex" MAKEOPTS="-j7" NM="llvm-nm" OBJCOPY="llvm-objcopy" OBJDUMP="llvm-objdump" PKGDIR="/var/cache/binpkgs" PORTAGE_COMPRESS="gzip" PORTAGE_COMPRESS_FLAGS="-9 -R -p4" 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" RANLIB="llvm-ranlib" READELF="llvm-readelf" RUSTFLAGS="-C opt-level=3 -C target-cpu=native -C codegen-units=1" SHELL="/bin/bash" STRINGS="llvm-strings" STRIP="llvm-strip" USE="7z X a52 aac acl acpi activities alsa amd64 autotype bash-completion bluetooth branding browser browser-integration bzip2 cairo cdda cdr clang cli colord crash-handler crypt cups dbus declarative default-compiler-rt default-libcxx default-lld desktop-portal dhclient discover dri dts dvd dvdr echo-cancel elogind encode exif ffmpeg firewall flac flatpak fluidsynth fortran gbm gdbm gif gles2 gles3 gpm gstreamer gtk gui hardened iconv icu ipv6 iwd jack jack-client jpeg kde kf6compat kwallet lcms legacy-systray libcxx libnotify libtirpc llvm-libunwind lm-sensors mad mgba mng mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openh264 openmp openssl opus pam pango pcre pdf pic pie pipewire pipewire-alsa plasma png policykit ppds pulseaudio qml qt5 raw readline resolvconf retroachievements rtc screencast sddm sdl seccomp sechash semantic-desktop share smart sound sound-server spell split-usr ssl startup-notification svg system-crontab system-man test-rust threads tiff timidity truetype udev udisks unicode upnp upower usb v4l vaapi vdpau vorbis vulkan wallpapers wav wayland widgets wired wxwidgets x264 xattr xcb xcsecurity xft xml xorg xscreensaver xv xvid zeroconf zlib" ABI_X86="64" ADA_TARGET="gnat_2021" 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="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" 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-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby31" SANE_BACKENDS="hp" VIDEO_CARDS="fbdev vesa dummy v4l lavapipe amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" YACC="byacc" Unset: ARFLAGS, ASFLAGS, CCLD, CONFIG_SHELL, CPPFLAGS, CTARGET, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, SIZE, YFLAGS ```
Tatsh commented 3 months ago

This is yet another issue with implicit includes, precompiled headers, etc. rpcs3/Input/gui_pad_thread.cpp needs #include <unistd.h>.

Tatsh commented 3 months ago

Note that Clang 18 will not work but 17 does. Clang 18 actually crashes during compile. I do not know how to fix it though the crash is probably a concern for Clang upstream/Gentoo and not RPCS3.

Tatsh commented 3 months ago

Clang 18 bug was reported here https://github.com/llvm/llvm-project/issues/84634

ThisNekoGuy commented 3 months ago

Note that Clang 18 will not work but 17 does.

That's fine; I actually pinned all of the Clang17 and LLVM17 related things (masked everything below and above 17) because 17 was installed as an update one day a while back, alongside 16, and figuring out how to actually transition completely took me a while. eselect supports switching more easily between GCC versions but doesn't do so with LLVM, so manipulating masks was the best way I found to go about it. 18 is listed as stable anyway, and 17 mostly works fine for me, so I won't be updating to 18 for a long while (even when it becomes stable) anyway.

ThisNekoGuy commented 3 months ago

@Tatsh I wasn't able to rebuild back then (had to send my GPU out for an RMA), but I found that it still occurs with Clang/LLVM 17: emerge_rpcs3_build.log

Different error, but same version number (0.0.31)

Tatsh commented 3 months ago

Probably wolfssl compatibility. Please make a new issue.