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