Emulator Issues #13239
closedCompilation error on Fedora 38; related to VulkanMemoryAllocator submodule
0%
Description
What's the problem? Describe what went wrong.
Hello there. I recently upgraded to Fedora 38, having had no issues compiling on Fedora 37 a week prior (I'm not implying that the Fedora upgrade is responsible but simply giving a timeline account). Today was my first attempt compiling after the upgrade but it ends with the following:
[ 42%] Building CXX object Source/Core/VideoBackends/Vulkan/CMakeFiles/videovulkan.dir/VulkanLoader.cpp.o In file included from /home/xxxxx/Source/emulators/dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h:63, from /home/xxxxx/Source/emulators/dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp:5: /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h: In function ‘void VmaUint32ToStr(char*, size_t, uint32_t)’: /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2859:9: error: ‘snprintf’ was not declared in this scope 2859 | snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num)); | ^~~~~~~~ /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2687:1: note: ‘snprintf’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’? 2686 | #include <mutex> +++ |+#include <cstdio> 2687 | #else /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h: In function ‘void VmaUint64ToStr(char*, size_t, uint64_t)’: /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2863:9: error: ‘snprintf’ was not declared in this scope 2863 | snprintf(outStr, strLen, "%llu", static_cast<unsigned long long>(num)); | ^~~~~~~~ /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2863:9: note: ‘snprintf’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’? /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h: In function ‘void VmaPtrToStr(char*, size_t, const void*)’: /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2867:9: error: ‘snprintf’ was not declared in this scope 2867 | snprintf(outStr, strLen, "%p", ptr); | ^~~~~~~~ /home/xxxxx/Source/emulators/dolphin/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h:2867:9: note: ‘snprintf’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’? make[2]: *** [Source/Core/VideoBackends/Vulkan/CMakeFiles/videovulkan.dir/build.make:314: Source/Core/VideoBackends/Vulkan/CMakeFiles/videovulkan.dir/VulkanLoader.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:1941: Source/Core/VideoBackends/Vulkan/CMakeFiles/videovulkan.dir/all] Error 2 make: *** [Makefile:156: all] Error 2
What steps will reproduce the problem?
- Run Fedora 38 (KDE) and install related dependencies.
- Grab a copy of dolphin via
git clone --recursive https://github.com/dolphin-emu/dolphin.git
. - Create the 'build' folder in dolphin and compile via
cmake .. -DLINUX_LOCAL_DEV=true -DENCODE_FRAMEDUMPS=OFF -DUSE_SHARED_ENET=ON -DUSE_DISCORD_PRESENCE=OFF
andmake
What are your PC specifications? (CPU, GPU, Operating System, more)
Fedora 38 KDE (Wayland)
AMD Ryzen 9 5900HX
AMD Radeon RX 6800M (running Mesa 23.2.0-devel)
32GB RAM
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
Attached is the full terminal log for the compilation attempt. If there's any further info I can provide, I'll be more than happy to.
Files
Updated by r2rX over 1 year ago
There is a chance that this may be related to the GCC 13 update in Fedora 38. A couple of other projects I compile are also having odd behavior similar to this (with linking errors). Is anyone else running Linux and successfully compiling with GCC 13?
Updated by Dentomologist over 1 year ago
This appears to be fixed by https://github.com/dolphin-emu/dolphin/pull/11821 (which hasn't been merged yet).
Updated by r2rX over 1 year ago
Dentomologist wrote in #note-2:
This appears to be fixed by https://github.com/dolphin-emu/dolphin/pull/11821 (which hasn't been merged yet).
Fantastic! Thanks for pointing it out here. I'll keep an eye on it and report back once tested.
Updated by JosJuice over 1 year ago
- Status changed from New to Fixed
- Fixed in set to 5.0-19365