Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
862 stars 156 forks source link

Build failure on 32 bit steamhelper (-Wchanges-meaning) needs -fpermissive #1007

Closed mikeserv-git closed 1 year ago

mikeserv-git commented 1 year ago
make: Entering directory '/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/external-resources/Proton/build/steam.win32'
wineg++ -m32 -std=gnu++11 -c -Wno-attributes -O2 -march=nehalem  -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/wine -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/Proton/lsteamclient/steamworks_sdk_142/ -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/openvr/headers/   -o jsoncpp.o jsoncpp.cpp
wineg++ -m32 -std=gnu++11 -c -Wno-attributes -O2 -march=nehalem  -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/wine -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/Proton/lsteamclient/steamworks_sdk_142/ -I/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/openvr/headers/   -o steam.o steam.cpp
In file included from /storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/rpc.h:59,
                 from /storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/windows.h:60,
                 from steam.cpp:37:
/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/rpcasync.h:139:7: error: declaration of ‘_RPC_ASYNC_NOTIFICATION_INFO::<unnamed struct> _RPC_ASYNC_NOTIFICATION_INFO::HWND’ changes meaning of ‘HWND’ [-Wchanges-meaning]
  139 |     } HWND;

blah blah...

winegcc: /usr/bin/g++ failed
make: *** [Makefile:88: steam.o] Error 2
make: *** Waiting for unfinished jobs....
make: Leaving directory '/storage2/shit/build/manjaro_aur/wine-tkg/wine-tkg-git/proton-tkg/external-resources/Proton/build/steam.win32'

It seems that the steamhelper also needs -fpermissive now too

Line 446 in proton-tkg.sh

function build_steamhelper { export CFLAGS="-Wno-attributes -O2 -g" export CXXFLAGS="-Wno-attributes -O2 -g -fpermissive"

For me, this coincided with a new GNU bootstrap (for me that means new kernel headers, glibc, binutils, gcc 13.1.1, recompiles of same and other toolchain components) so I don't know if this is something on Valve's end, or changes to the c++ from gcc 13 on my system.

I tested my new proton_tkg_experimental.bleeding.edge.8.0.43304.20230512 build and it seems to be interfacing with Steam OK, so I'll assume that redefined declaration I'm ignoring didn't break it for me.