[GH-ISSUE #1320] [Linux] shadps4 fails to build for second reason #432

Closed
opened 2026-02-27 21:06:16 +03:00 by kerem · 3 comments
Owner

Originally created by @Shoegzer on GitHub (Oct 9, 2024).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1320

Builds are failing in the latest commits, presumably due to the recently-submitted Discord RPC PRs:

/home/testing/Desktop/shadps4/shadPS4/externals/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
  319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
      |                                                                           ~~~~~~~^~~~~~~~~~~~

Note that this is not the same reason as discussed in #1195.

System information:

  • OS: Linux Mint 22 / kernel 6.8
  • CPU: Intel i7-10870H
  • GPU: Nvidia GTX 3070
  • Commit tested: c9f894c45a
  • Last known good commit: 7389cf3e89 (I can bisect if necessary)
  • Full build log: build.log
Originally created by @Shoegzer on GitHub (Oct 9, 2024). Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1320 Builds are failing in the latest commits, presumably due to the recently-submitted Discord RPC PRs: ``` /home/testing/Desktop/shadps4/shadPS4/externals/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’ 319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } | ~~~~~~~^~~~~~~~~~~~ ``` Note that this is not the same reason as discussed in #1195. System information: * OS: Linux Mint 22 / kernel 6.8 * CPU: Intel i7-10870H * GPU: Nvidia GTX 3070 * Commit tested: c9f894c45a80645bc50f722e37e47a949c85f348 * Last known good commit: 7389cf3e897bdf489f9260cfdef6fdddee88f72c (I can bisect if necessary) * Full build log: [build.log](https://github.com/user-attachments/files/17317719/build.log)
kerem closed this issue 2026-02-27 21:06:16 +03:00
Author
Owner

@qurious-pixel commented on GitHub (Oct 10, 2024):

Your build is faililing on the discord external repo building.

L1208

no rapidjson, download

And your boost and fmt are below the minimums.

<!-- gh-comment-id:2405297140 --> @qurious-pixel commented on GitHub (Oct 10, 2024): Your build is faililing on the discord external repo building. L1208 ``` no rapidjson, download ``` And your `boost` and `fmt` are below the minimums.
Author
Owner

@Shoegzer commented on GitHub (Oct 10, 2024):

Thanks. I was able to avoid the no rapidjson, download message you found in the log by installing rapidjson-dev, though it still fails to build. There doesn't appear to be a CMake flag to exclude discord - is that possible?

Also, should it matter that the local boost and fmt libraries are below the minimum since it's building them from externals anyway? Otherwise the local versions are as available on the Ubuntu 24.04 repo, so I would imagine this would fail for anyone building on Ubuntu-based distros:

$ apt list libboost-dev
Listing... Done
libboost-dev/noble,now 1.83.0.1ubuntu2 amd64 [installed]
libboost-dev/noble 1.83.0.1ubuntu2 i386

$ apt list libfmt-dev
Listing... Done
libfmt-dev/noble,now 9.1.0+ds1-2 amd64 [installed]
libfmt-dev/noble 9.1.0+ds1-2 i386
<!-- gh-comment-id:2405572041 --> @Shoegzer commented on GitHub (Oct 10, 2024): Thanks. I was able to avoid the `no rapidjson, download` message you found in the log by installing `rapidjson-dev`, though it still fails to build. There doesn't appear to be a CMake flag to exclude discord - is that possible? Also, should it matter that the local `boost` and `fmt` libraries are below the minimum since it's building them from externals anyway? Otherwise the local versions are as available on the Ubuntu 24.04 repo, so I would imagine this would fail for anyone building on Ubuntu-based distros: ``` $ apt list libboost-dev Listing... Done libboost-dev/noble,now 1.83.0.1ubuntu2 amd64 [installed] libboost-dev/noble 1.83.0.1ubuntu2 i386 $ apt list libfmt-dev Listing... Done libfmt-dev/noble,now 9.1.0+ds1-2 amd64 [installed] libfmt-dev/noble 9.1.0+ds1-2 i386 ```
Author
Owner

@Shoegzer commented on GitHub (Oct 11, 2024):

Update: Apparently this issue only occurs when building with gcc (using gcc-14.0.1 here). However, since gcc is neither officially supported nor recommended for this project, it's not technically an "issue" so I'm closing this.

<!-- gh-comment-id:2407883678 --> @Shoegzer commented on GitHub (Oct 11, 2024): Update: Apparently this issue only occurs when building with gcc (using `gcc-14.0.1` here). However, since gcc is neither officially supported nor recommended for this project, it's not technically an "issue" so I'm closing this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#432
No description provided.