I'm struggling to compile the tagged 5.0 release on Github. I check out the repo with the command
with the 5.0 release cloned I then follow the linux build instructions (both the one specified in the readme of the tagged release and the current instructions)
. The compilation gets to 25% with an error
I can compile the master branch with the standard cmake build instructions but as soon as I try to compile the tagged release with the same instructions it behaves differently. Any support on this would be greatly appreciated, thanks!
Code:
git clone --branch 5.0 https://github.com/dolphin-emu/dolphin.git
Code:
mkdir Build && cd Build
cmake ..
make
Code:
[ 25%] Building CXX object Source/Core/Common/CMakeFiles/common.dir/GL/GLInterface/X11_Util.cpp.o
/home/user/test/dolphin/Source/Core/Common/SettingsHandler.cpp: In member function ‘const string SettingsHandler::generateSerialNumber()’:
/home/user/test/dolphin/Source/Core/Common/SettingsHandler.cpp:124:32: warning: ‘%i’ directive output may be truncated writing between 1 and 2 bytes into a region of size between 0 and 11 [-Wformat-truncation=]
124 | snprintf(serialNumber, 11, "%s%i", buffer, (Common::Timer::GetTimeMs() >> 1) & 0xF);
| ^~
/home/user/test/dolphin/Source/Core/Common/SettingsHandler.cpp:124:29: note: directive argument in the range [0, 15]
124 | snprintf(serialNumber, 11, "%s%i", buffer, (Common::Timer::GetTimeMs() >> 1) & 0xF);
| ^~~~~~
In file included from /usr/include/stdio.h:867,
from /usr/include/c++/9/cstdio:42,
from /usr/include/c++/9/ext/string_conversions.h:43,
from /usr/include/c++/9/bits/basic_string.h:6493,
from /usr/include/c++/9/string:55,
from /usr/include/c++/9/stdexcept:39,
from /usr/include/c++/9/array:39,
from /home/user/test/dolphin/Build/Source/CMakeFiles/pch.dir/pch.h:6,
from <command-line>:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: ‘__builtin___snprintf_chk’ output between 2 and 14 bytes into a destination of size 11
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 25%] Built target discio
In file included from /usr/include/string.h:495,
from /usr/include/c++/9/cstring:42,
from /home/user/test/dolphin/Build/Source/CMakeFiles/pch.dir/pch.h:17,
from <command-line>:
In function ‘char* strncpy(char*, const char*, size_t)’,
inlined from ‘void SysConf::GenerateSysConf()’ at /home/user/test/dolphin/Source/Core/Common/SysConf.cpp:206:9:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/test/dolphin/Source/Core/Common/x64CPUDetect.cpp:45:12: error: ambiguating new declaration of ‘u64 _xgetbv(u32)’
45 | static u64 _xgetbv(u32 index)
| ^~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include/immintrin.h:43,
from /usr/lib/gcc/x86_64-linux-gnu/9/include/x86intrin.h:32,
from /home/user/test/dolphin/Source/Core/Common/Intrinsics.h:12,
from /home/user/test/dolphin/Source/Core/Common/x64CPUDetect.cpp:10:
/usr/lib/gcc/x86_64-linux-gnu/9/include/xsaveintrin.h:60:1: note: old declaration ‘long long int _xgetbv(unsigned int)’
60 | _xgetbv (unsigned int __A)
| ^~~~~~~
/home/user/test/dolphin/Source/Core/Common/x64CPUDetect.cpp:45:12: warning: ‘u64 _xgetbv(u32)’ defined but not used [-Wunused-function]
45 | static u64 _xgetbv(u32 index)
| ^~~~~~~
make[2]: *** [Source/Core/Common/CMakeFiles/common.dir/build.make:616: Source/Core/Common/CMakeFiles/common.dir/x64CPUDetect.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:843: Source/Core/Common/CMakeFiles/common.dir/all] Error 2
make: *** [Makefile:183: all] Error 2
I can compile the master branch with the standard cmake build instructions but as soon as I try to compile the tagged release with the same instructions it behaves differently. Any support on this would be greatly appreciated, thanks!