Package Base Details: dolphin-emu-git

Git Clone URL: https://aur.archlinux.org/dolphin-emu-git.git (read-only, click to copy)
Keywords: dolphin emu emulator game gamecube gui nintendo remote revolution triforce wii wiimote
Submitter: None
Maintainer: dpeukert
Last Packager: dpeukert
Votes: 120
Popularity: 0.31
First Submitted: 2011-08-20 13:05 (UTC)
Last Updated: 2024-02-25 16:52 (UTC)

Pinned Comments

dpeukert commented on 2020-04-10 12:34 (UTC) (edited on 2020-09-26 17:48 (UTC) by dpeukert)

The PKGBUILD for this package is hosted here (contributions are welcome!): https://gitlab.com/dpeukert/pkgbuilds/tree/main/dolphin-emu-git

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 11 12 13 .. 51 Next › Last »

Peter0x44 commented on 2023-08-02 01:20 (UTC) (edited on 2023-08-02 01:21 (UTC) by Peter0x44)

@scatherinch you just apply the changes in question to the PKGBUILD file from the repo, then run makepkg -si or whatever the AUR helper you're using expects.

EDIT: never mind, I see it is solved for you

scatherinch commented on 2023-08-01 15:23 (UTC) (edited on 2023-08-02 00:13 (UTC) by scatherinch)

@Peter0x44 I'm still kind of new to Arch. One thing I haven't scratched yet is how to build or modify packages in the way you described. However, maybe you wouldn't mind giving me a quick rundown or pointing me to a resource where I could learn to do this?

I would really like to learn and fix this issue!

EDIT: I figured it out. Seems to have solved it for now, can confirm

Peter0x44 commented on 2023-08-01 13:46 (UTC) (edited on 2023-08-01 13:56 (UTC) by Peter0x44)

@scatherinch My suggestion is (as others have mentioned) that you remove "libfmt.so" from the depends, and build dolphin-emu-git using a static fmt that dolphin provides

Here's the relevant patch to the PKGBUILD

Once this gets resolved (hopefully) this workaround won't be necessary

diff --git a/PKGBUILD b/PKGBUILD
index f7b2dc9..a542a21 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,7 +18,7 @@ depends=(
        'alsa-lib' 'bluez-libs' 'cubeb' 'enet' 'hidapi' 'libevdev' 'libgl' 'libpulse'
        'libspng' 'libx11' 'libxi' 'libxrandr' 'lzo' 'mbedtls2' 'minizip-ng' 'pugixml'
        'qt6-base' 'qt6-svg' 'sfml' 'zlib-ng'
-       'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libcurl.so' 'libfmt.so'
+       'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libcurl.so'
        'libminiupnpc.so' 'libsfml-network.so' 'libsfml-system.so' 'libswscale.so'
        'libudev.so' 'libusb-1.0.so'
 )
@@ -32,15 +32,13 @@ source=(
        "$pkgname-rcheevos::git+https://github.com/RetroAchievements/rcheevos.git"
        "$pkgname-vma::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
        'minizip-ng.diff'
-       'fmt-10.diff'
 )
 sha512sums=('SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
-            '568ca7db64149e9ac9409947689a8390783b891e6cff7b096690771512db3e19f9d8551a8739921d8a9f6ec4a9de747811a2efc8cdd4791d715677772db7fa8e'
-            '57852e07fc6e296598a3351a2ad63ac5af8c0130e1d1d8f0f8f99d0730fe01b1cf206e31efe1837a33ff2971e08fd48e281edc4be625c4660a711062812ae0ee')
+            '568ca7db64149e9ac9409947689a8390783b891e6cff7b096690771512db3e19f9d8551a8739921d8a9f6ec4a9de747811a2efc8cdd4791d715677772db7fa8e')

 _sourcedirectory="$pkgname"

@@ -52,9 +50,6 @@ prepare() {
        # Fix minizip-ng name for Arch
        patch --forward -p1 < "$srcdir/minizip-ng.diff"

-       # Fix build with fmt 10
-       patch --forward -p1 < "$srcdir/fmt-10.diff"
-
        # Provide submodules
        declare -A _submodules=(
                [implot]='implot/implot'
@@ -89,6 +84,7 @@ build() {
                -DENABLE_AUTOUPDATE=OFF \
                -DUSE_SYSTEM_LIBS=ON \
                -DUSE_SYSTEM_LIBMGBA=OFF \
+               -DUSE_SYSTEM_FMT=OFF \
                -Wno-dev
        cmake --build 'build/'
 }

Then, you should be able to update, without any conflicts on libfmt.so.9

scatherinch commented on 2023-08-01 12:42 (UTC)

I already had this installed beforehand, but trying to -Syu returns an error claiming that updating will break this. I would like to do the update, but I don't want to lose dolphin because I think removing it to update will most assuredly prevent me from installing again from what I've been reading.

error: failed to prepare transaction (could not satisfy dependencies) :: installing fmt (10.0.0-1) breaks dependency 'libfmt.so=9-64' required by dolphin-emu-git

Therefore, I have not been able to update my system for a few days. Is there a way around this or should I just wait for this to become compatible with the new version of fmt?

xiota commented on 2023-08-01 01:09 (UTC)

Clean chroot. Successfully built after adding -DUSE_SYSTEM_FMT=OFF. No other changes to the PKGBUILD.

noabody commented on 2023-07-31 22:44 (UTC)

One way around some of the system lib issues would be to use internal like so:

    -DUSE_SYSTEM_LIBS=ON \
    -DUSE_SYSTEM_FMT=OFF \
    -DUSE_SYSTEM_LIBMGBA=OFF \
    -DUSE_SYSTEM_MINIZIP=OFF \
    -DUSE_SYSTEM_SPNG=OFF \
    -DUSE_SYSTEM_ZLIB=OFF \

Just a thought.

abouvier commented on 2023-07-31 04:18 (UTC)

You can depend on fmt9 if you want ;)

spikerguy commented on 2023-07-30 14:26 (UTC)

failed to compile

FAILED: Source/Core/VideoCommon/CMakeFiles/videocommon.dir/Assets/DirectFilesystemAssetLibrary.cpp.o 
/usr/bin/c++ -DDATA_DIR=\"/usr/share/dolphin-emu/\" -DFMT_SHARED -DHAS_LIBMGBA -DHAS_OPENGL -DHAS_VULKAN -DHAVE_CRC32 -DHAVE_EGL=1 -DHAVE_FFMPEG -DHAVE_LIBEVDEV=1 -DHAVE_LIBSYSTEMD -DHAVE_LIBUDEV=1 -DHAVE_X11=1 -DHAVE_XRANDR=1 -DUSE_ANALYTICS=1 -DUSE_MEMORYWATCHER=1 -DUSE_PIPES=1 -DUSE_UPNP -D_ARCH_64=1 -D_DEFAULT_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_M_X86=1 -D_M_X86_64=1 -D__LIBUSB__ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/soundtouch -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/discord-rpc/include -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/picojson -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/build/Source/Core -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/expr/include -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/mGBA/mgba/include -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/build/Externals/mGBA/mgba/include -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/xxhash -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/imgui -I/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/implot/implot -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/glslang/glslang/Public -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core/VideoCommon/SYSTEM -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/glslang/StandAlone -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/glslang/SPIRV -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/glslang -isystem /usr/include/mbedtls2 -isystem /usr/include/minizip-ng -isystem /usr/include/libusb-1.0 -isystem /usr/include/hidapi -isystem /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Externals/rangeset/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -std=c++20 -msse2 -fdiagnostics-color -fno-strict-aliasing -fno-exceptions -fvisibility-inlines-hidden -fvisibility=hidden -fomit-frame-pointer -Wall -Wtype-limits -Wsign-compare -Wignored-qualifiers -Wuninitialized -Wlogical-op -Wshadow -Winit-self -Wmissing-declarations -Wno-stringop-truncation -Werror=format -MD -MT Source/Core/VideoCommon/CMakeFiles/videocommon.dir/Assets/DirectFilesystemAssetLibrary.cpp.o -MF Source/Core/VideoCommon/CMakeFiles/videocommon.dir/Assets/DirectFilesystemAssetLibrary.cpp.o.d -o Source/Core/VideoCommon/CMakeFiles/videocommon.dir/Assets/DirectFilesystemAssetLibrary.cpp.o -c /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp
In file included from /usr/include/fmt/format.h:49,
                 from /usr/include/fmt/os.h:20,
                 from /var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp:7:
/usr/include/fmt/core.h: In instantiation of ‘constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_value(T&&) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const std::error_code&]’:
/usr/include/fmt/core.h:1711:29:   required from ‘constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; type <anonymous> = fmt::v10::detail::type::custom_type; T = const std::error_code&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’
/usr/include/fmt/core.h:1827:77:   required from ‘constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::error_code&}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::error_code}]’
/usr/include/fmt/core.h:1844:31:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<_Args>::type>::type ...> fmt::v10::make_format_args(T&& ...) [with Context = basic_format_context<appender, char>; T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::error_code&}]’
/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core/Common/Logging/Log.h:101:75:   required from ‘void Common::Log::GenericLogFmt(LogLevel, LogType, const char*, int, const S&, const Args& ...) [with long unsigned int NumFields = 2; S = VideoCommon::DirectFilesystemAssetLibrary::LoadPixelShader(const VideoCommon::CustomAssetLibrary::AssetID&, VideoCommon::PixelShaderData*)::<lambda()>::FMT_COMPILE_STRING; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::error_code}]’
/var/cache/private/pamac/dolphin-emu-git/src/dolphin-emu-git/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp:86:7:   required from here
/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1691 |       formattable,
      |       ^~~~~~~~~~~
/usr/include/fmt/core.h:1691:7: note: ‘formattable’ evaluates to false

while upstream dolphin doesn't work with vulkan since last update

Riedler commented on 2023-07-30 13:32 (UTC)

soo… I can't upgrade until dolphin becomes compatible with fmt10?