mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
fix(aur): unset CFLAGS/CXXFLAGS to fix ring LTO link failure on CachyOS
CachyOS makepkg.conf sets -flto=auto in CFLAGS. ring's build.rs uses the cc crate to compile its C/asm objects, which picks up CFLAGS, producing fat-LTO objects. bfd cannot resolve ring_core_* symbols from fat-LTO objects when linking against non-LTO Rust rlibs. Also adds nasm to makedepends (required by ring 0.17.x for x86_64 asm). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,7 @@ makedepends=(
|
|||||||
'rust'
|
'rust'
|
||||||
'cargo'
|
'cargo'
|
||||||
'clang'
|
'clang'
|
||||||
|
'nasm'
|
||||||
)
|
)
|
||||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/Psychotoxical/psysonic/archive/refs/tags/v$pkgver.tar.gz")
|
source=("$pkgname-$pkgver.tar.gz::https://github.com/Psychotoxical/psysonic/archive/refs/tags/v$pkgver.tar.gz")
|
||||||
sha256sums=('SKIP')
|
sha256sums=('SKIP')
|
||||||
@@ -34,6 +35,13 @@ build() {
|
|||||||
# because the last -fuse-ld=* flag passed to cc wins.
|
# because the last -fuse-ld=* flag passed to cc wins.
|
||||||
export RUSTFLAGS="${RUSTFLAGS} -C link-arg=-fuse-ld=bfd"
|
export RUSTFLAGS="${RUSTFLAGS} -C link-arg=-fuse-ld=bfd"
|
||||||
|
|
||||||
|
# CachyOS sets -flto=auto in CFLAGS. ring compiles its C/asm objects via the
|
||||||
|
# cc crate and picks up CFLAGS, producing fat-LTO objects. bfd cannot resolve
|
||||||
|
# symbols from fat-LTO objects when linking against non-LTO Rust rlibs, causing
|
||||||
|
# "undefined reference to ring_core_*" even though the symbols exist in the .a.
|
||||||
|
# Strip CFLAGS/CXXFLAGS entirely so ring builds plain ELF objects.
|
||||||
|
unset CFLAGS CXXFLAGS
|
||||||
|
|
||||||
npm install
|
npm install
|
||||||
npm run tauri:build -- --no-bundle
|
npm run tauri:build -- --no-bundle
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user