flathub / com.valvesoftware.Steam.CompatibilityTool.Proton-GE

https://flathub.org/apps/details/com.valvesoftware.Steam.CompatibilityTool.Proton-GE
50 stars 5 forks source link

Remove FAudio and jxrlib for GE-Proton7-4-1 #74

Closed ColinKinloch closed 2 years ago

ColinKinloch commented 2 years ago

Fixes for #73, Proton-7.3-GE-1 removed FAudio and jxrlib from the build as they are included in wine.

flathubbot commented 2 years ago

Started test build 79985

gasinvein commented 2 years ago

There is a bunch of other changes needed, see the Proton 6.3 -> 7.0 update.

ColinKinloch commented 2 years ago

Ah, never mind then.

Lctrs commented 2 years ago

Yeah, this is on my todo list, but with a low priority as I don't play on Linux actually.

ColinKinloch commented 2 years ago

I've relatively blindly applied the changes you mentioned and it's still throwing an error due to the redefinitions of some bcrypt structs while compiling wines LDAP code.

Error message ``` ccache x86_64-w64-mingw32-gcc -c -o dlls/msvcrt/crt_winmain.cross.o dlls/msvcrt/crt_winmain.c -Idlls/msvcrt -Iinclude -Iinclude/msvcrt \ -D__WINESRC__ -D_CRTIMP= -D_MSVCR_VER=0 -D__WINE_PE_BUILD -Wall -fno-strict-aliasing \ -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Winit-self \ -Wno-packed-not-aligned -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \ -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -Wabsolute-value \ -Wno-format -Wformat-overflow -Wnonnull -mcx16 -gdwarf-4 -fno-builtin -g -O2 In file included from include/wincrypt.h:28, from include/schannel.h:21, from include/schnlsp.h:21, from include/winldap.h:23, from dlls/adsldp/ldap.c:24: include/bcrypt.h:371:16: error: redefinition of ‘struct _BCRYPT_DH_KEY_BLOB’ 371 | typedef struct _BCRYPT_DH_KEY_BLOB { | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:327:16: note: originally defined here 327 | typedef struct _BCRYPT_DH_KEY_BLOB | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:3: error: conflicting types for ‘BCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:3: note: previous declaration of ‘BCRYPT_DH_KEY_BLOB’ with type ‘BCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:24: error: conflicting types for ‘PBCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB *’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:24: note: previous declaration of ‘PBCRYPT_DH_KEY_BLOB’ with type ‘PBCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB *’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:411:16: error: redefinition of ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 411 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:364:16: note: originally defined here 364 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:416:3: error: conflicting types for ‘BCRYPT_DH_PARAMETER_HEADER’; have ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 416 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:369:3: note: previous declaration of ‘BCRYPT_DH_PARAMETER_HEADER’ with type ‘BCRYPT_DH_PARAMETER_HEADER’ {aka ‘struct _BCRYPT_DH_PARAMETER_HEADER’} 369 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:3045: dlls/adsldp/ldap.cross.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from include/wincrypt.h:28, from dlls/advapi32/crypt.h:28, from dlls/advapi32/crypt_des.c:25: include/bcrypt.h:371:16: error: redefinition of ‘struct _BCRYPT_DH_KEY_BLOB’ 371 | typedef struct _BCRYPT_DH_KEY_BLOB { | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:327:16: note: originally defined here 327 | typedef struct _BCRYPT_DH_KEY_BLOB | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:3: error: conflicting types for ‘BCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:3: note: previous declaration of ‘BCRYPT_DH_KEY_BLOB’ with type ‘BCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:24: error: conflicting types for ‘PBCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB *’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:24: note: previous declaration of ‘PBCRYPT_DH_KEY_BLOB’ with type ‘PBCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB *’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:411:16: error: redefinition of ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 411 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:364:16: note: originally defined here 364 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:416:3: error: conflicting types for ‘BCRYPT_DH_PARAMETER_HEADER’; have ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 416 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:369:3: note: previous declaration of ‘BCRYPT_DH_PARAMETER_HEADER’ with type ‘BCRYPT_DH_PARAMETER_HEADER’ {aka ‘struct _BCRYPT_DH_PARAMETER_HEADER’} 369 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:3350: dlls/advapi32/crypt_des.cross.o] Error 1 In file included from include/wincrypt.h:28, from dlls/advapi32/crypt.h:28, from dlls/advapi32/crypt_arc4.c:30: include/bcrypt.h:371:16: error: redefinition of ‘struct _BCRYPT_DH_KEY_BLOB’ 371 | typedef struct _BCRYPT_DH_KEY_BLOB { | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:327:16: note: originally defined here 327 | typedef struct _BCRYPT_DH_KEY_BLOB | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:3: error: conflicting types for ‘BCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:3: note: previous declaration of ‘BCRYPT_DH_KEY_BLOB’ with type ‘BCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:24: error: conflicting types for ‘PBCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB *’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:24: note: previous declaration of ‘PBCRYPT_DH_KEY_BLOB’ with type ‘PBCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB *’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:411:16: error: redefinition of ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 411 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:364:16: note: originally defined here 364 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:416:3: error: conflicting types for ‘BCRYPT_DH_PARAMETER_HEADER’; have ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 416 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:369:3: note: previous declaration of ‘BCRYPT_DH_PARAMETER_HEADER’ with type ‘BCRYPT_DH_PARAMETER_HEADER’ {aka ‘struct _BCRYPT_DH_PARAMETER_HEADER’} 369 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/wincrypt.h:28, from dlls/advapi32/crypt.h:28, from dlls/advapi32/cred.c:34: include/bcrypt.h:371:16: error: redefinition of ‘struct _BCRYPT_DH_KEY_BLOB’ 371 | typedef struct _BCRYPT_DH_KEY_BLOB { | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:327:16: note: originally defined here 327 | typedef struct _BCRYPT_DH_KEY_BLOB | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:3: error: conflicting types for ‘BCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:3: note: previous declaration of ‘BCRYPT_DH_KEY_BLOB’ with type ‘BCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:24: error: conflicting types for ‘PBCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB *’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:24: note: previous declaration of ‘PBCRYPT_DH_KEY_BLOB’ with type ‘PBCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB *’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:411:16: error: redefinition of ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 411 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:364:16: note: originally defined here 364 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:416:3: error: conflicting types for ‘BCRYPT_DH_PARAMETER_HEADER’; have ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 416 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:369:3: note: previous declaration of ‘BCRYPT_DH_PARAMETER_HEADER’ with type ‘BCRYPT_DH_PARAMETER_HEADER’ {aka ‘struct _BCRYPT_DH_PARAMETER_HEADER’} 369 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/wincrypt.h:28, from dlls/advapi32/crypt.h:28, from dlls/advapi32/crypt_lmhash.c:30: include/bcrypt.h:371:16: error: redefinition of ‘struct _BCRYPT_DH_KEY_BLOB’ 371 | typedef struct _BCRYPT_DH_KEY_BLOB { | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:327:16: note: originally defined here 327 | typedef struct _BCRYPT_DH_KEY_BLOB | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:3: error: conflicting types for ‘BCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:3: note: previous declaration of ‘BCRYPT_DH_KEY_BLOB’ with type ‘BCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~ include/bcrypt.h:374:24: error: conflicting types for ‘PBCRYPT_DH_KEY_BLOB’; have ‘struct _BCRYPT_DH_KEY_BLOB *’ 374 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:331:24: note: previous declaration of ‘PBCRYPT_DH_KEY_BLOB’ with type ‘PBCRYPT_DH_KEY_BLOB’ {aka ‘struct _BCRYPT_DH_KEY_BLOB *’} 331 | } BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB; | ^~~~~~~~~~~~~~~~~~~ include/bcrypt.h:411:16: error: redefinition of ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 411 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:364:16: note: originally defined here 364 | typedef struct _BCRYPT_DH_PARAMETER_HEADER | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:416:3: error: conflicting types for ‘BCRYPT_DH_PARAMETER_HEADER’; have ‘struct _BCRYPT_DH_PARAMETER_HEADER’ 416 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/bcrypt.h:369:3: note: previous declaration of ‘BCRYPT_DH_PARAMETER_HEADER’ with type ‘BCRYPT_DH_PARAMETER_HEADER’ {aka ‘struct _BCRYPT_DH_PARAMETER_HEADER’} 369 | } BCRYPT_DH_PARAMETER_HEADER; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:3334: dlls/advapi32/crypt_arc4.cross.o] Error 1 make: *** [Makefile:3366: dlls/advapi32/crypt_lmhash.cross.o] Error 1 make: *** [Makefile:3282: dlls/advapi32/cred.cross.o] Error 1 ```
flathubbot commented 2 years ago

Build 79985 failed

ColinKinloch commented 2 years ago

For some reason the tarball version of wine/include/bcrypt.h as two definitions of _BCRYPT_DH_KEY_BLOB one with the opening brace of the struct after a newline.

Lctrs commented 2 years ago

Only changes we do are preapplying patches to proton-ge's sources. Maybe a broken patch on upstream's side ?

ColinKinloch commented 2 years ago

Maybe this?

https://github.com/GloriousEggroll/proton-ge-custom/blob/9b970201f3a29e6a01eb4a267fcd231ee6e2ade4/patches/proton/55-proton-bcrypt_rdr2_fixes.patch#L731-L739