Project

General

Profile

Actions

Emulator Issues #13239

open

Compilation error on Fedora 38; related to VulkanMemoryAllocator submodule

Added by r2rX about 1 month ago. Updated 21 days ago.

Status:
New
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:

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 24 days 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 24 days 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 24 days 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 21 days ago

Can confirm it's fixed. Cheers!

Actions

Also available in: Atom PDF