Project

General

Profile

Actions

Emulator Issues #13239

closed

Compilation error on Fedora 38; related to VulkanMemoryAllocator submodule

Added by r2rX over 1 year ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-19365

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?

  1. Run Fedora 38 (KDE) and install related dependencies.
  2. Grab a copy of dolphin via git clone --recursive https://github.com/dolphin-emu/dolphin.git .
  3. 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 and make

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

dolphin_log (96.1 KB) dolphin_log r2rX, 04/24/2023 10:50 AM
Actions #1

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?

Actions #2

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).

Actions #3

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.

Actions #4

Updated by r2rX over 1 year ago

Can confirm it's fixed. Cheers!

Actions #5

Updated by JosJuice over 1 year ago

  • Status changed from New to Fixed
  • Fixed in set to 5.0-19365
Actions

Also available in: Atom PDF