Project

General

Profile

Actions

Emulator Issues #12032

closed

Can't compile with clang 10: glslang compilation problem

Added by v1993 about 4 years ago. Updated almost 4 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-12106

Description

Game Name?

[Put Game Name here]

Game ID? (right click the game in the game list, Properties, Info tab)

[Put Game ID here]

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

[Put MD5 Hash here]

What's the problem? Describe what went wrong.

I'm trying to compile Dolphin on KUbuntu 20.04 (beta), which includes clang 10 as default clang version.

I get the following error:

../Externals/glslang/glslang/GenericCodeGen/../Include/PoolAlloc.h:307:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator'
    void setAllocator(TPoolAllocator* a) { allocator = *a; }
                                           ~~~~~~~~~ ^ ~~
../Externals/glslang/glslang/GenericCodeGen/../Include/PoolAlloc.h:244:21: note: declared private here
    TPoolAllocator& operator=(const TPoolAllocator&);  // don't allow assignment operator

What steps will reproduce the problem?

  1. Try compiling dolphin with Clang 10 compiler.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

git revision 1b97f081b8eff9012132a4124537968bdb0e03e0

Is the issue present in the latest stable version?

[Yes/No and version number here] It is unrelated to dolphin itself but to included library

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

[First broken version number here (if applicable)]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]

What are your PC specifications? (CPU, GPU, Operating System, more)

[PC specs here]

KUbuntu 20.04 daily build (clang 10)

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

[Anything else here]

It was fixed in upstream glslang. Freshports dolphin use this patch: https://svnweb.freebsd.org/ports/head/emulators/dolphin-emu/files/patch-Externals_glslang_glslang_Include_PoolAlloc.h?revision=527182&view=markup. It includes link to relevant git commit in main glslang repo too.

By the way, it seems advisable to use system glslang whenever possible. Example find module attached.


Files

FindGLSLang.cmake (3.66 KB) FindGLSLang.cmake v1993, 03/31/2020 11:28 AM
Actions #1

Updated by JosJuice about 4 years ago

  • Milestone set to Current
Actions #2

Updated by v1993 about 4 years ago

On a plus side, after commenting this line out Dolphin compiles without any other errors.

Actions #3

Updated by JosJuice about 4 years ago

  • Status changed from New to Fix pending
Actions #4

Updated by JosJuice almost 4 years ago

  • Status changed from Fix pending to Fixed
  • Fixed in set to 5.0-12106
Actions

Also available in: Atom PDF