Compile error when the current commit has a GPG signature
compilation-build
**Describe the bug**
I encounter a compile error compiling ares when the current commit has a GPG signature.
On my system the `Version` string in the cmake generated `ares.cpp` file contains newline characters.
OS: Debian 13.4 stable
gcc: version c++ (Debian 14.2.0-19) 14.2.0
cmake: version 3.31.6
git: version 2.47.3
**To Reproduce**
Compile ares from the git repo using commit 2219f48fcad6d8a8a739985e88d12200e8cdf579 (current master) and cmake.
**Additional context**
```
`--> ninja
[1/225] Building CXX object ares/CMakeFiles/ares.dir/ares/ares.cpp.o
FAILED: ares/CMakeFiles/ares.dir/ares/ares.cpp.o
/usr/bin/c++ -DARES_ENABLE_CHD -DBUILD_LOCAL -DBUILD_RELEASE -DCORE_A26 -DCORE_CV -DCORE_FC -DCORE_GB -DCORE_GBA -DCORE_MD -DCORE_MS -DCORE_MSX -DCORE_MYVISION -DCORE_N64 -DCORE_NG -DCORE_NGP -DCORE_PCE -DCORE_PS1 -DCORE_SFC -DCORE_SG -DCORE_SPEC -DCORE_WS -DPROFILE_PERFORMANCE -DSLJIT_HAVE_CONFIG_POST=1 -DSLJIT_HAVE_CONFIG_PRE=1 -DVULKAN -I/home/dev/src/emulators/ares/build/ares -I/home/dev/src/emulators/ares/ares -I/home/dev/src/emulators/ares/ares/n64/vulkan/parallel-rdp/parallel-rdp -I/home/dev/src/emulators/ares/ares/n64/vulkan/parallel-rdp/volk -I/home/dev/src/emulators/ares/ares/n64/vulkan/parallel-rdp/vulkan -I/home/dev/src/emulators/ares/ares/n64/vulkan/parallel-rdp/vulkan-headers/include -I/home/dev/src/emulators/ares/ares/n64/vulkan/parallel-rdp/util -I/home/dev/src/emulators/ares/libco/.. -I/home/dev/src/emulators/ares/thirdparty/lzma -I/home/dev/src/emulators/ares/build/thirdparty/libchdr/include -I/home/dev/src/emulators/ares/thirdparty/libchdr/include -I/home/dev/src/emulators/ares/thirdparty/../thirdparty -I/home/dev/src/emulators/ares/thirdparty/../thirdparty/ymfm/src -isystem /home/dev/src/emulators/ares/nall/nall/.. -O2 -g -DNDEBUG -std=c++20 -flto=auto -fno-fat-lto-objects -fvisibility=hidden -fvisibility-inlines-hidden -fwrapv -fno-strict-aliasing -Wno-unused-result -Wno-stringop-overflow -fno-char8_t -march=native -MD -MT ares/CMakeFiles/ares.dir/ares/ares.cpp.o -MF ares/CMakeFiles/ares.dir/ares/ares.cpp.o.d -o ares/CMakeFiles/ares.dir/ares/ares.cpp.o -c /home/dev/src/emulators/ares/build/ares/ares/ares.cpp
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:13:27: warning: missing terminating " character
13 | const string Version = "master - (2219f48fc - gpg: Signature made Wed 29 Apr 2026 18:31:26 AEST
| ^
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:13:27: error: missing terminating " character
13 | const string Version = "master - (2219f48fc - gpg: Signature made Wed 29 Apr 2026 18:31:26 AEST
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:15:9: warning: missing terminating ' character
15 | gpg: Can't check signature: No public key
| ^
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:15:9: error: missing terminating ' character
15 | gpg: Can't check signature: No public key
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:16:12: warning: missing terminating " character
16 | 2026-04-29)";
| ^
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:16:12: error: missing terminating " character
16 | 2026-04-29)";
| ^~
/home/dev/src/emulators/ares/build/ares/ares/ares.cpp:14:1: error: ‘gpg’ was not declared in this scope
14 | gpg: using RSA key B5690EEEBB952194
| ^~~
[14/225] Building CXX object ares/CMakeFiles/ares.dir/sfc/coprocessor/coprocessor.cpp.o
ninja: build stopped: subcommand failed.
```
build/ares/ares/ares.cpp
``` cpp
#include <ares/ares.hpp>
#include <ares/debug/debug.cpp>
#include <nall/gdb/server.cpp>
#include <ares/node/node.cpp>
#include <ares/resource/resource.cpp>
namespace ares {
Platform* platform = nullptr;
atomic<bool> _runAhead = false;
const string Name = "ares";
const string Version = "master - (2219f48fc - gpg: Signature made Wed 29 Apr 2026 18:31:26 AEST
gpg: using RSA key B5690EEEBB952194
gpg: Can't check signature: No public key
2026-04-29)";
const string Copyright = "2004-2026 ares team, Near";
const string License = "ISC";
const string LicenseURI = "https://opensource.org/licenses/ISC";
const string Website = "ares-emu.net";
const string WebsiteURI = "https://ares-emu.net/";
const u32 SerializerSignature = 0x31545342; //"BST1" (little-endian)
}
```
I imported the GitHub web-flow.gpg key and I still have the same compile error.
This time the Version string is:
``` cpp
const string Version = "master - (2219f48fc - gpg: Signature made Wed 29 Apr 2026 18:31:26 AEST
gpg: using RSA key B5690EEEBB952194
gpg: Good signature from "GitHub <noreply@github.com>" [ultimate]
2026-04-29)";
```
5 条评论