


























for people who get problems with ft2build.h (error: file not found) at compile time, just follow these steps :
1- install "freetype2" package
2- copy in PKGBUILD, section "build()" before "cmake" command:
export CFLAGS="$(pkg-config --cflags freetype2) $CFLAGS"
export CXXFLAGS="$(pkg-config --cflags freetype2) $CXXFLAGS"
export LDFLAGS="$(pkg-config --libs freetype2) $LDFLAGS"
What is exactly the problem even with the freetype2 packages installed?
On ArchLinux, it installs the header files in its own folder (freetype2/ft2build.h) in source code, we can see "#include <ft2build.h>" so compilation fails.
What is your CPU and/or what CXXFLAGS do you have in your makepkg.conf?
For those who got issues with SDL SIMD intrinsics while compiling:
[ 57%] Building CXX object CMakeFiles/shadps4.dir/src/core/libraries/audio/sdl_audio_out.cpp.o
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/immintrin.h:39,
from /home/chandler/.cache/yay/shadps4-git/src/shadps4/src/core/libraries/audio/sdl_audio_out.cpp:20:
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/smmintrin.h: In function ‘Libraries::AudioOut::SDLPortBackend::ConvertS16_8CH_SIMD(void const*, void*, unsigned int, float const*)’:
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/smmintrin.h:489:1: error: inlining failed in call to ‘always_inline’ ‘_mm_cvtepi16_epi32(long long __vector(2))’: target specific option mismatch
489 | _mm_cvtepi16_epi32 (__m128i __X)
| ^~~~~~~~~~~~~~~~~~
add -DCMAKE_CXX_FLAGS="-msse4.1" option in cmake configuring and compile again.
Needs to vendor in CLI11 as a submodule now. Here's the diff:
diff --git a/.SRCINFO b/.SRCINFO
index b00ee9e..3fe0ca3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = shadps4-git
pkgdesc = Sony PlayStation 4 emulator (CLI)
- pkgver = 0.13.0.r2.g9a3e4ea
+ pkgver = 0.14.0.r1.ge39529c
pkgrel = 1
url = https://shadps4.net/
arch = aarch64
@@ -37,9 +37,10 @@ pkgbase = shadps4-git
optdepends = renderdoc: for graphics debugging
optdepends = shadps4-qtlauncher: for official Qt GUI
optdepends = vulkan-validation-layers: for vulkan debugging
- provides = shadps4=0.13.0.r2.g9a3e4ea
+ provides = shadps4=0.14.0.r1.ge39529c
conflicts = shadps4
source = shadps4::git+https://github.com/shadps4-emu/shadPS4.git
+ source = shadps4-CLI11::git+https://github.com/shadexternals/CLI11.git
source = shadps4-discord-rpc::git+https://github.com/shadps4-emu/ext-discord-rpc.git
source = shadps4-hwinfo::git+https://github.com/shadps4-emu/ext-hwinfo.git
source = shadps4-imgui::git+https://github.com/shadps4-emu/ext-imgui.git
diff --git a/PKGBUILD b/PKGBUILD
index c72cd89..e3cc51d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Alexandre Bouvier <contact@amb.tf>
_pkgname=shadps4
pkgname=$_pkgname-git
-pkgver=0.13.0.r2.g9a3e4ea
+pkgver=0.14.0.r1.ge39529c
pkgrel=1
pkgdesc="Sony PlayStation 4 emulator (CLI)"
arch=('aarch64' 'x86_64')
@@ -48,6 +48,7 @@ provides=("$_pkgname=$pkgver")
conflicts=("$_pkgname")
source=(
"$_pkgname::git+https://github.com/shadps4-emu/shadPS4.git"
+ "$_pkgname-CLI11::git+https://github.com/shadexternals/CLI11.git"
"$_pkgname-discord-rpc::git+https://github.com/shadps4-emu/ext-discord-rpc.git"
"$_pkgname-hwinfo::git+https://github.com/shadps4-emu/ext-hwinfo.git"
"$_pkgname-imgui::git+https://github.com/shadps4-emu/ext-imgui.git"
@@ -82,6 +83,7 @@ pkgver() {
prepare() {
cd $_pkgname
+ git config submodule.externals/CLI11.url ../$_pkgname-CLI11
git config submodule.externals/aacdec/fdk-aac.url ../aac
git config submodule.externals/dear_imgui.url ../$_pkgname-imgui
git config submodule.externals/discord-rpc.url ../$_pkgname-discord-rpc
sdl3 is not currently usable, because sdl3-git is forced by sdl3_mixer-git.
But sdl3-git doesn't have version information in the provides array. So a fix is needed in this package instead ;)
sdl3>=3.1.8 fails with both sdl3 and sdl3-git. Is the version really needed?
Fixes are needed in both sdl3-git and sdl3_mixer-git.
sdl3_mixer now seems to be a required build dependency, except there is no sdl3_mixer repo package. sdl3_mixer-git is available in the AUR, but it requires sdl3-git to build against since it requires 3.3.0 at minimum. This in turn creates a dependency conflict when building shadps4, as it tries to pull 3.2.26 from the repo.
:: sdl3-3.2.26-1.1 and sdl3-git-3.3.2.r229.g770b38b4f1-1 are in conflict. Remove sdl3-git? [y/N]
Reverting to 3.2.26 after building sdl3_mixer-git does not work, either, and a CMake error regarding sdl3_mixer is produced.
CMake Error at externals/CMakeLists.txt:75 (add_subdirectory):
The source directory
/.cache/yay/shadps4-git/src/shadps4/externals/sdl3_mixer
does not contain a CMakeLists.txt file.
To add, sdl3_mixer-git seems too new, anyway. Having that installed, as well as including sdl3_mixer in the submodules list will kick off the build, but it ultimately fails with this error:
[100%] Linking CXX executable shadps4
...
/usr/bin/ld: /usr/lib/libSDL3_mixer.so.0.1.0: undefined reference to `SDL_PutAudioStreamPlanarData@SDL3_0.0.0'
/usr/bin/ld: /usr/lib/libSDL3_mixer.so.0.1.0: undefined reference to `SDL_PutAudioStreamDataNoCopy@SDL3_0.0.0'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/shadps4.dir/build.make:5222: shadps4] Error 1
make[1]: *** [CMakeFiles/Makefile2:463: CMakeFiles/shadps4.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
Support for miniupnp, need to add into source() function:
"miniupnp::git+https://github.com/miniupnp/miniupnp.git"and into build() function :
git config submodule.externals/miniupnp.url ../miniupnpdon't forget to add a comma in :
b2sums=('SKIP'{,,,,,,,,,,,,})