You are not building the latest version of the PKGBUILD.
Search Criteria
Package Details: cemu-git 2.6.r6.gc4eab08f-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/cemu-git.git (read-only, click to copy) |
---|---|
Package Base: | cemu-git |
Description: | Nintendo Wii U emulator |
Upstream URL: | https://cemu.info/ |
Keywords: | console emulation emulator game nintendo |
Licenses: | MPL-2.0 |
Conflicts: | cemu |
Provides: | cemu |
Submitter: | abouvier |
Maintainer: | abouvier |
Last Packager: | abouvier |
Votes: | 12 |
Popularity: | 0.028618 |
First Submitted: | 2022-08-27 04:24 (UTC) |
Last Updated: | 2025-04-04 00:04 (UTC) |
Dependencies (50)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR)
- glslang (glslang-gitAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libbluetooth.so (bluez-gitAUR, bluez-libs)
- libboost_program_options.so (boost183-libsAUR, boost1.86-libsAUR, boost-libs)
- libcrypto.so (openssl-gitAUR, openssl-staticAUR, lib32-openssl, openssl, openssl-1.1)
- libcubeb.so (cubeb-gitAUR, cubebAUR)
- libcurl.so (curl-gitAUR, curl-c-aresAUR, curl, lib32-curl)
- libfmt.so (fmt-gitAUR, fmt9AUR, fmt10AUR, fmt)
- libgdk-3.so (gtk3-no_deadkeys_underlineAUR, gtk3-gitAUR, gtk3-patched-filechooser-icon-viewAUR, gtk3-classicAUR, gtk3-classic-xfceAUR, gtk3, lib32-gtk3)
- libgobject-2.0.so (glib2-gitAUR, glib2-selinuxAUR, glib2-patched-thumbnailerAUR, glib2, lib32-glib2)
- libgtk-3.so (gtk3-no_deadkeys_underlineAUR, gtk3-gitAUR, gtk3-patched-filechooser-icon-viewAUR, gtk3-classicAUR, gtk3-classic-xfceAUR, gtk3, lib32-gtk3)
- libhidapi-hidraw.so (lib32-hidapiAUR, hidapi)
- libssl.so (openssl-gitAUR, openssl-staticAUR, lib32-openssl, openssl, openssl-1.1)
- libusb-1.0.so (libusb-gitAUR, lib32-libusb, libusb)
- libwayland-client.so (wayland-asan-gitAUR, wayland-chromiumAUR, lib32-wayland, wayland)
- libx11 (libx11-gitAUR)
- libz.so (zlib-gitAUR, lib32-zlib, zlib, zlib-ng-compat)
- libzarchive.so (zarchive-gitAUR, zarchive)
- libzip.so (libzip)
- libzstd.so (zstd-gitAUR, zstd-staticAUR, lib32-zstd, zstd)
- pugixml (pugixml-gitAUR)
- sdl2AUR (sdl2-compat-gitAUR, sdl2-gitAUR, sdl2-compat)
- wxwidgets-gtk3 (wxwidgets-gtk3-gitAUR, wxwidgets-gtk3-lightAUR)
- bluez-libs (bluez-gitAUR) (make)
- boost (boost-gitAUR) (make)
- cmake (cmake3AUR, cmake-gitAUR) (make)
- cubebAUR (cubeb-gitAUR, cubebAUR) (make)
- curl (curl-gitAUR, curl-c-aresAUR) (make)
- fmt (fmt-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- glib2 (glib2-gitAUR, glib2-selinuxAUR, glib2-patched-thumbnailerAUR) (make)
- glm (glm-gitAUR) (make)
- glu (glu-gitAUR) (make)
- gtk3 (gtk3-no_deadkeys_underlineAUR, gtk3-patched-filechooser-icon-viewAUR, gtk3-classicAUR, gtk3-classic-xfceAUR) (make)
- hidapi (hidapi-gitAUR) (make)
- libgl (libglvnd-gitAUR, amdgpu-pro-oglp-legacyAUR, nvidia-340xx-utilsAUR, amdgpu-pro-oglpAUR, libglvnd) (make)
- libpng (libpng-gitAUR, libpng-apngAUR) (make)
- libusb (libusb-gitAUR) (make)
- libzip (libzip-gitAUR) (make)
- nasm (nasm-gitAUR) (make)
- openssl (openssl-gitAUR, openssl-staticAUR) (make)
- rapidjson (rapidjson-gitAUR) (make)
- vulkan-headers (vulkan-headers-gitAUR) (make)
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR) (make)
- wayland-protocols (wayland-protocols-gitAUR) (make)
- zarchive (zarchive-gitAUR) (make)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat) (make)
- zstd (zstd-gitAUR, zstd-staticAUR) (make)
Required by (0)
Sources (2)
abouvier commented on 2023-08-03 18:19 (UTC)
queenbiscuit311 commented on 2023-08-03 17:41 (UTC)
I've found myself unable to build this package ever since the fmt 9/10 incident. Every time I try to compile, I get met with this error:
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found CURL: /usr/lib/libcurl.so (found version "8.2.1")
-- RapidJSON found. Headers: /usr/include
-- Found Boost: /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found version "1.81.0") found components: program_options filesystem nowide
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")
-- Found zstd: /usr/lib/cmake/zstd/zstdConfig.cmake (found version "1.5.5")
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.1.2") found components: Crypto SSL
CMake Error at CMakeLists.txt:115 (find_package):
find_package called with invalid argument "9.1.0...<10...<10"
-- Found PNG: /usr/lib/libpng.so (found version "1.6.40")
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found Wayland_Client: /usr/lib/libwayland-client.so (found version "1.22.0")
-- Found Wayland: /usr/lib/libwayland-client.so (found version "1.22.0") found components: Client
-- Found WaylandScanner: /usr/bin/wayland-scanner
-- Found WaylandProtocols: //usr/share/wayland-protocols (found suitable version "1.32", minimum required is "1.15")
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Checking for one of the modules 'gtk+-3.0'
-- Found GTK3: /usr/lib/libgtk-3.so;/usr/lib/libgdk-3.so;/usr/lib/libz.so;/usr/lib/libpangocairo-1.0.so;/usr/lib/libpango-1.0.so;/usr/lib/libharfbuzz.so;/usr/lib/libatk-1.0.so;/usr/lib/libcairo-gobject.so;/usr/lib/libcairo.so;/usr/lib/libgdk_pixbuf-2.0.so;/usr/lib/libgio-2.0.so;/usr/lib/libgobject-2.0.so;/usr/lib/libglib-2.0.so (found version "3.24.38")
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Found wxWidgets: /usr/lib/cmake/wxWidgets/wxWidgetsConfig.cmake (found suitable version "3.2.2", minimum required is "3.2")
-- Checking for one of the modules 'zarchive'
-- Found ZArchive: /usr/lib/libzarchive.so (found version "0.1.2")
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- The ASM_NASM compiler identification is NASM
-- Found assembler: /usr/bin/nasm
-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
Aborting...
-> error making: cemu-git-exit status 4
-> Failed to install the following packages. Manual intervention is required:
cemu-git - exit status 4
I've tried reinstalling and updating both fmt and fmt9, but nothing's worked.
Neko-san commented on 2023-08-02 01:52 (UTC)
Building with Clang and -stdlib=libc++
doesn't seem to actually use LLVM's libc++?
Using ldd on the resulting binary shows it links against gcc's:
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007efcc2c00000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007efcc527c000)
Neko-san commented on 2023-07-30 20:09 (UTC) (edited on 2023-07-30 20:09 (UTC) by Neko-san)
To clarify, the compile flags aren't being modified;
it checks if those valuea are already defined and decides whether to build with LLVM or not, which upstream only does for clang.
The users themselves wouldn't have to modify the PKBUILD at all.
That aside, if you're sure about a fmt9
package, sure, but it'll only make more work for you.
abouvier commented on 2023-07-30 07:34 (UTC)
Sorry but I will do none of that :p
The added dependencies are only needed when you build the libs manually with vcpkg
, which I will not enable.
And it's up to you to tweak the compiler flags in makepkg.conf
, not to each PKGBUILD
.
The only good solution is to create a compatibility package fmt9
, and this PKGBUILD
will build again without modification.
Neko-san commented on 2023-07-30 06:21 (UTC) (edited on 2023-07-30 06:51 (UTC) by Neko-san)
(@abouvier we can use these edits to make Cemu build-able again until the libfmt
issue gets worked out)
Some the depends/makedepends I included were missing and are actually listed as necessary dependencies upstream:
https://github.com/cemu-project/Cemu/blob/main/BUILD.md#for-arch-and-derivatives
depends=(
'discord-rpc'
'freeglut'
'gcc-libs'
'glibc'
'hicolor-icon-theme'
'libc++abi'
'libpulse'
'libx11'
'pugixml'
'sdl2'
'systemd'
'wxwidgets-gtk3>=3.2'
'zlib'
)
makedepends=(
'boost'
'clang'
'cmake>=3.21.1'
'cubeb'
'curl'
# 'fmt>=9.1'
'git'
'glib2'
'glm'
'glslang'
'glu'
'gtk3'
'libgcrypt'
'libgl'
'libpng'
'libsecret'
'libzip'
'llvm'
'nasm'
'openssl'
'rapidjson'
'tar'
'unzip'
'vulkan-headers>=1:1.3.225'
'wayland'
'wayland-protocols'
'zarchive>=0.1.2'
'zip'
'zstd'
)
Need to pull all the submodules or vcpkg
will get mad (you might be able to refactor it to include everything besides fmt
? Probably not)
prepare() {
cd $_pkgname
git config submodule.dependencies/imgui.url ../imgui
git -c protocol.file.allow=always submodule update --init --recursive
rm -r bin/shaderCache
sed -i '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt
sed -i '/discord-rpc/d' CMakeLists.txt
sed -i '/FMT_HEADER_ONLY/d' src/Common/precompiled.h
sed -i 's/glm::glm/glm/' src/{Common,input}/CMakeLists.txt
}
The if-check to both start using vcpkg
and better account for using clang+LLVM if users have set clang in makepkg.conf
if [ "${CC} = "gcc" ] || [ "${CC} = "/usr/bin/gcc" ]; then
cmake -S $_pkgname -B build \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="/usr/bin/g++" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
-DCMAKE_MAKE_PROGRAM="make" \
-DPORTABLE=OFF \
-Wno-dev
cmake --build build
elif [ "${CC} = "clang" ] || [ "${CC} = "/usr/bin/clang" ]; then
cmake -S $_pkgname -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS="-lc++abi ${LDFLAGS}" \
-DCMAKE_AR="/usr/bin/llvm-ar" \
-DCMAKE_NM="/usr/bin/llvm-nm" \
-DCMAKE_AS="/usr/bin/llvm-as" \
-DCMAKE_RANLIB="/usr/bin/llvm-ranlib" \
-DCMAKE_OBJCOPY="/usr/bin/llvm-objcopy" \
-DCMAKE_MAKE_PROGRAM="make" \
-DPORTABLE=OFF \
-Wno-dev
cmake --build build
fi
queenbiscuit311 commented on 2023-07-29 05:01 (UTC)
The fmt build error might be related to the update to fmt on the arch repos from yesterday. I can't update my packages because this and two other emulators require the previous version, that might be why but I'm not sure.
Neko-san commented on 2023-07-28 20:14 (UTC) (edited on 2023-07-28 21:07 (UTC) by Neko-san)
There appears to be a build error connected to CubebInputAPI.cpp
that might be connected to a core.h
header error with the fmt
package:
[ 24%] Building CXX object src/audio/CMakeFiles/CemuAudio.dir/CubebInputAPI.cpp.o
In file included from <built-in>:508:
In file included from /build/cemu-git/src/build/src/audio/CMakeFiles/CemuAudio.dir/cmake_pch.hxx:5:
In file included from /build/cemu-git/src/cemu/src/Common/precompiled.h:9:
/usr/include/fmt/core.h:2561:10: error: call to deleted constructor of 'formatter<mapped_type, char_type>' (aka 'formatter<IAudioInputAPI::AudioInputAPI, char>')
return formatter<mapped_type, char_type>().parse(ctx);
^
/usr/include/fmt/core.h:2620:23: note: in instantiation of function template specialization 'fmt::detail::parse_format_specs<IAudioInputAPI::AudioInputAPI, fmt::detail::compile_parse_context<char>>' requested here
parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
^
/usr/include/fmt/core.h:2769:47: note: in instantiation of member function 'fmt::detail::format_string_checker<char, IAudioInputAPI::AudioInputAPI>::format_string_checker' requested here
detail::parse_format_string<true>(str_, checker(s));
^
/build/cemu-git/src/cemu/src/audio/IAudioInputAPI.cpp:54:40: note: in instantiation of function template specialization 'fmt::basic_format_string<char, IAudioInputAPI::AudioInputAPI &>::basic_format_string<char[22], 0>' requested here
throw std::runtime_error(fmt::format("invalid audio api: {}", api));
^
/usr/include/fmt/core.h:792:3: note: 'formatter' has been explicitly marked deleted here
formatter() = delete;
^
/usr/include/fmt/core.h:1690:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
static_assert(
^
/usr/include/fmt/core.h:1711:10: note: in instantiation of function template specialization 'fmt::detail::make_value<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI &>' requested here
return make_value<Context>(val);
^
/usr/include/fmt/core.h:1825:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, fmt::detail::type::custom_type, IAudioInputAPI::AudioInputAPI &, 0>' requested here
data_{detail::make_arg<
^
/usr/include/fmt/core.h:1844:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI>::format_arg_store<IAudioInputAPI::AudioInputAPI &>' requested here
return {FMT_FORWARD(args)...};
^
/usr/include/fmt/core.h:2817:28: note: in instantiation of function template specialization 'fmt::make_format_args<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI &>' requested here
return vformat(fmt, fmt::make_format_args(args...));
^
/build/cemu-git/src/cemu/src/audio/IAudioInputAPI.cpp:54:33: note: in instantiation of function template specialization 'fmt::format<IAudioInputAPI::AudioInputAPI &>' requested here
throw std::runtime_error(fmt::format("invalid audio api: {}", api));
^
2 errors generated.
make[2]: *** [src/audio/CMakeFiles/CemuAudio.dir/build.make:109: src/audio/CMakeFiles/CemuAudio.dir/IAudioInputAPI.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from <built-in>:508:
In file included from /build/cemu-git/src/build/src/audio/CMakeFiles/CemuAudio.dir/cmake_pch.hxx:5:
In file included from /build/cemu-git/src/cemu/src/audio/../Common/precompiled.h:9:
/usr/include/fmt/core.h:2561:10: error: call to deleted constructor of 'formatter<mapped_type, char_type>' (aka 'formatter<IAudioAPI::AudioAPI, char>')
return formatter<mapped_type, char_type>().parse(ctx);
^
/usr/include/fmt/core.h:2620:23: note: in instantiation of function template specialization 'fmt::detail::parse_format_specs<IAudioAPI::AudioAPI, fmt::detail::compile_parse_context<char>>' requested here
parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
^
/usr/include/fmt/core.h:2769:47: note: in instantiation of member function 'fmt::detail::format_string_checker<char, IAudioAPI::AudioAPI>::format_string_checker' requested here
detail::parse_format_string<true>(str_, checker(s));
^
/build/cemu-git/src/cemu/src/audio/IAudioAPI.cpp:134:40: note: in instantiation of function template specialization 'fmt::basic_format_string<char, IAudioAPI::AudioAPI &>::basic_format_string<char[22], 0>' requested here
throw std::runtime_error(fmt::format("invalid audio api: {}", api));
^
/usr/include/fmt/core.h:792:3: note: 'formatter' has been explicitly marked deleted here
formatter() = delete;
^
/usr/include/fmt/core.h:1690:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
static_assert(
^
/usr/include/fmt/core.h:1711:10: note: in instantiation of function template specialization 'fmt::detail::make_value<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI &>' requested here
return make_value<Context>(val);
^
/usr/include/fmt/core.h:1825:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, fmt::detail::type::custom_type, IAudioAPI::AudioAPI &, 0>' requested here
data_{detail::make_arg<
^
/usr/include/fmt/core.h:1844:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI>::format_arg_store<IAudioAPI::AudioAPI &>' requested here
return {FMT_FORWARD(args)...};
^
/usr/include/fmt/core.h:2817:28: note: in instantiation of function template specialization 'fmt::make_format_args<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI &>' requested here
return vformat(fmt, fmt::make_format_args(args...));
^
/build/cemu-git/src/cemu/src/audio/IAudioAPI.cpp:134:33: note: in instantiation of function template specialization 'fmt::format<IAudioAPI::AudioAPI &>' requested here
throw std::runtime_error(fmt::format("invalid audio api: {}", api));
^
2 errors generated.
make[2]: *** [src/audio/CMakeFiles/CemuAudio.dir/build.make:93: src/audio/CMakeFiles/CemuAudio.dir/IAudioAPI.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:593: src/audio/CMakeFiles/CemuAudio.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
Also mentioned this upstream: https://github.com/cemu-project/Cemu/issues/919
Martchus commented on 2023-01-23 16:38 (UTC)
@modnoob Just rebuild. This "soname" dependency is automatically determined during the build. There's no change to the PKGBUILD file itself required.
Pinned Comments
abouvier commented on 2022-10-12 17:50 (UTC)
Data and config files previously stored in
~/.local/share/cemu
are now searched in~/.config/Cemu
,~/.local/share/Cemu
and~/.cache/Cemu
.