Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 917163 - media-gfx/renderdoc-1.29 - incompatibility with dev-util/glslang-1.3.268-r2
Summary: media-gfx/renderdoc-1.29 - incompatibility with dev-util/glslang-1.3.268-r2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Matthew Smith
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-11 10:34 UTC by Toralf Förster
Modified: 2023-12-03 13:24 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,23.01 KB, text/plain)
2023-11-11 10:34 UTC, Toralf Förster
Details
emerge-history.txt.xz (emerge-history.txt.xz,143.76 KB, application/x-xz)
2023-11-11 10:34 UTC, Toralf Förster
Details
environment (environment,170.41 KB, text/plain)
2023-11-11 10:34 UTC, Toralf Förster
Details
etc.portage.tar.xz (etc.portage.tar.xz,72.25 KB, application/x-xz)
2023-11-11 10:34 UTC, Toralf Förster
Details
media-gfx:renderdoc-1.29:20231111-065533.log (media-gfx:renderdoc-1.29:20231111-065533.log,242.35 KB, text/plain)
2023-11-11 10:34 UTC, Toralf Förster
Details
qlist-info.txt.xz (qlist-info.txt.xz,134.95 KB, application/x-xz)
2023-11-11 10:34 UTC, Toralf Förster
Details
temp.tar.xz (temp.tar.xz,45.10 KB, application/x-xz)
2023-11-11 10:34 UTC, Toralf Förster
Details
patch cmake to use -std=c++17 instead of -std=c++11 (use-c++-17.patch,547 bytes, patch)
2023-11-28 16:45 UTC, Anna
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2023-11-11 10:34:24 UTC
  120 |     std::variant<const TIntermConstantUnion*, const TType*> value;
      |          ^~~~~~~
/usr/include/glslang/Include/SpirvIntrinsics.h:120:5: note: std::variant is only available from C++17 onwards
  120 |     std::variant<const TIntermConstantUnion*, const TType*> value;
      |     ^~~
/usr/include/glslang/Include/SpirvIntrinsics.h: In constructor glslang::TSpirvTypeParameter::TSpirvTypeParameter(const glslang::TIntermConstantUnion*):
/usr/include/glslang/Include/SpirvIntrinsics.h:100:60: error: value was not declared in this scope
  100 |     TSpirvTypeParameter(const TIntermConstantUnion* arg) { value = arg; }
      |                                                            ^~~~~

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 23.0_systemd-20231028-165512

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-10
 [2] x86_64-pc-linux-gnu-13 *
clang/llvm (if any):
/usr/lib/llvm/17
17.0.4
Python 3.11.6
Available Ruby profiles:
  [1]   ruby31 (with Rubygems) *
Available Rust versions:
  [1]   rust-bin-1.73.0
  [2]   rust-1.73.0 *
The following VMs are available for generation-2:
1)	Eclipse Temurin JDK 11.0.20.1_p1 [openjdk-bin-11]
2)	Eclipse Temurin JDK 17.0.8.1_p1 [openjdk-bin-17]
3)	Eclipse Temurin JDK 21.0.1_p12 [openjdk-bin-21]
*)	Eclipse Temurin JDK 8.382_p05 [openjdk-bin-8]
Available Java Virtual Machines:
  [1]   openjdk-bin-8  system-vm
  [2]   openjdk-bin-11 
  [3]   openjdk-bin-17 
  [4]   openjdk-bin-21 

The Glorious Glasgow Haskell Compilation System, version 9.2.8
php cli (if any):
go version go1.21.4 linux/amd64

  HEAD of ::gentoo
commit 4da82315fb6d5aa99cd19b6c0f4bf2a90f526bae
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Sat Nov 11 04:46:54 2023 +0000

    2023-11-11 04:46:53 UTC

emerge -qpvO media-gfx/renderdoc
[ebuild   R   ] media-gfx/renderdoc-1.29  USE="-doc -pyside2 -qt5 -verify-sig" PYTHON_SINGLE_TARGET="python3_11 -python3_10"
Comment 1 Toralf Förster gentoo-dev 2023-11-11 10:34:25 UTC
Created attachment 874548 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2023-11-11 10:34:27 UTC
Created attachment 874549 [details]
emerge-history.txt.xz
Comment 3 Toralf Förster gentoo-dev 2023-11-11 10:34:28 UTC
Created attachment 874550 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2023-11-11 10:34:29 UTC
Created attachment 874551 [details]
etc.portage.tar.xz
Comment 5 Toralf Förster gentoo-dev 2023-11-11 10:34:31 UTC
Created attachment 874552 [details]
media-gfx:renderdoc-1.29:20231111-065533.log
Comment 6 Toralf Förster gentoo-dev 2023-11-11 10:34:32 UTC
Created attachment 874553 [details]
qlist-info.txt.xz
Comment 7 Toralf Förster gentoo-dev 2023-11-11 10:34:33 UTC
Created attachment 874554 [details]
temp.tar.xz
Comment 8 Matthew Smith gentoo-dev 2023-11-12 07:47:08 UTC
Incompatible with glslang change. Will try and fix, but in the meantime will block >=dev-util/glslang-1.3.268-r2 in renderdoc depend.
Comment 9 Larry the Git Cow gentoo-dev 2023-11-12 07:52:16 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04335ecc47da8979e94ff01f74de3099bcc57367

commit 04335ecc47da8979e94ff01f74de3099bcc57367
Author:     Matthew Smith <matthew@gentoo.org>
AuthorDate: 2023-11-12 07:50:34 +0000
Commit:     Matthew Smith <matthew@gentoo.org>
CommitDate: 2023-11-12 07:51:58 +0000

    media-gfx/renderdoc: incompatibility with glslang-1.3.268
    
    Bug: https://bugs.gentoo.org/917163
    Signed-off-by: Matthew Smith <matthew@gentoo.org>

 media-gfx/renderdoc/{renderdoc-1.27.ebuild => renderdoc-1.27-r1.ebuild} | 2 +-
 media-gfx/renderdoc/{renderdoc-1.28.ebuild => renderdoc-1.28-r1.ebuild} | 2 +-
 media-gfx/renderdoc/{renderdoc-1.29.ebuild => renderdoc-1.29-r1.ebuild} | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Comment 10 provod 2023-11-27 23:01:58 UTC
What's the initial reason behind depending on system glslang as opposed to vendored one? I've been unable to find it in history/blame, it seems to have been there from the very beginning w/o any rationale.

I've tried building a patched ebuild locally, disabling system-glslang and system-compress patches. It seems to build and work just fine, although I haven't tested it extensively.

What I propose is to either completely remove the dependency on system glslang and compress, or make it optional under a USE flag.
Comment 11 Anna 2023-11-28 16:45:41 UTC
Created attachment 875873 [details, diff]
patch cmake to use -std=c++17 instead of -std=c++11

seems like dev-util/glslang-1.3.268-r2 now requires c++ 17, by using std::variant on it's headers

renderdoc is using -std=c++11, the patch makes cmake use -std=c++17 and it seems to be building and running fine under 17
Comment 12 Matthew Smith gentoo-dev 2023-12-03 12:29:28 UTC
Sorry for the delay.

(In reply to provod from comment #10)
> What's the initial reason behind depending on system glslang as opposed to
> vendored one? I've been unable to find it in history/blame, it seems to have
> been there from the very beginning w/o any rationale.

I think in the long run, unbundling libraries is better for compatibility.

https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies

It hasn't really had any issues up until now. If it keeps breaking in the future we can just use the vendored copy.

(In reply to Anna from comment #11)
> seems like dev-util/glslang-1.3.268-r2 now requires c++ 17

Thanks!
Comment 13 Larry the Git Cow gentoo-dev 2023-12-03 13:24:24 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dd18e883c89eaec43c3576c30ff1f7df0aebbbd

commit 5dd18e883c89eaec43c3576c30ff1f7df0aebbbd
Author:     Matthew Smith <matthew@gentoo.org>
AuthorDate: 2023-12-03 13:15:27 +0000
Commit:     Matthew Smith <matthew@gentoo.org>
CommitDate: 2023-12-03 13:17:06 +0000

    media-gfx/renderdoc: fix compat w/ glslang-1.3.268-r2
    
    Closes: https://bugs.gentoo.org/917163
    Suggested-by: Anna <navi@vlhl.dev>
    Signed-off-by: Matthew Smith <matthew@gentoo.org>

 .../files/renderdoc-1.29-r2-system-compress.patch  | 144 +++++++++++
 .../files/renderdoc-1.29-r2-system-glslang.patch   | 268 +++++++++++++++++++++
 media-gfx/renderdoc/renderdoc-1.29-r2.ebuild       | 202 ++++++++++++++++
 3 files changed, 614 insertions(+)