Frogging-Family / wine-tkg-git

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

[proton-tkg] gcc 14.1.0 implicit-function-declaration and incompatible-pointer-types #1167

Closed mikeserv-git closed 1 month ago

mikeserv-git commented 2 months ago

It is unfun trying to build this after upgrading to gcc 14.1.0 unless you add -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration

I had to add it in two spots, for the VR Client in proton-tkg.sh and in advanced-customization.cfg for _GCC_FLAGS


function build_vrclient {
  cd "$_nowhere"
  source "$_nowhere/proton_tkg_token"
  git clone https://github.com/ValveSoftware/openvr.git || true # It'll complain the path already exists on subsequent builds
  cd openvr
  git reset --hard HEAD
  git clean -xdf
  git pull origin master
  #git checkout 52065df3d6f3af96300dac98cdf7397f26abfcd7
  #cd ..

  export WINEMAKERFLAGS="--nosource-fix --nolower-include --nodlls --nomsvcrt --dll -I$_nowhere/proton_dist_tmp/include/wine/windows/ -I$_nowhere/proton_dist_tmp/include/ -I$_nowhere/proton_dist_tmp/include/wine/"
  export CFLAGS="-O2 -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
  export CXXFLAGS="-Wno-attributes -std=c++0x -O2 -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"

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

Line 65'ish in advanced-customization.cfg

_GCC_FLAGS="-O2 -ftree-vectorize -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"

Not only the vrclient, but it needs to go in _GCC_FLAGS because it causes an error building dlls that doesn't fail the build. I watched it to make sure there were no other such errors.

Note that I have not upgraded mingw toolchains (still 13.1 from Arch), that would be a problem too I'm sure. (probably have to add it to the cross flags I'd guess)

Just a heads up...