Package Details: wine-valve-git 5.0-1

Git Clone URL: https://aur.archlinux.org/wine-valve-git.git (read-only, click to copy)
Package Base: wine-valve-git
Description: A compatibility layer for running Windows programs (Valve version)
Upstream URL: https://github.com/ValveSoftware/wine.git
Licenses: LGPL
Conflicts: bin32-wine, wine, wine-staging, wine-staging-git, wine-wow64
Provides: bin32-wine=5.0, wine=5.0, wine-valve=5.0, wine-wow64=5.0
Replaces: bin32-wine
Submitter: Forty-Bot
Maintainer: flacks
Last Packager: PrinceMachiavell
Votes: 10
Popularity: 0.135861
First Submitted: 2018-11-11 06:14
Last Updated: 2020-03-10 16:29

Dependencies (150)

Required by (254)

Sources (3)

Pinned Comments

PrinceMachiavell commented on 2019-11-18 17:04

@skjnldsv, filthyAUR Seems there is an issues somewhere in the LDFLAGS. A temporary fix is to add '!buildflags', to the options array in the PKGBUILD. I just want to figure out what & how to fix the LDFLAGS. I'm guessing something needs -fPIC but in my experience adding that globally can cause other issues.

Latest Comments

1 2 3 4 Next › Last »

Nigholith commented on 2020-06-07 21:28

@kescherAUR Editing the PKGBUILD to append the -fcommon flag solved the hInstance definition problem for me perfectly. Thanks.

For people like me using yay: run "yay -S wine-valve-git --editmenu" to edit the PKGBUILD when prompted, then append -fcommon to the export CFLAGS line as kescherAUR outlines.

kescherAUR commented on 2020-06-05 23:25

@junaru @hwaiting @silversilva I suggest you read this: https://gcc.gnu.org/gcc-10/porting_to.html#c and upgrade back to the latest version of GCC right afterwards.

In short, upstream uses some tentative definitions in header files, which GCC's linker used to ignore, but now, a default option has changed to -fno-common, so we have to specify -fcommon until upstream either decides to recommend this as well, or until they fix it. I suggest CFLAGS to be temporarily appended (or prepended, git diff below shows appended variant) with -fcommon in the PKGBUILD.

Git diff:

diff --git a/PKGBUILD b/PKGBUILD
index fa4d536..eb6082b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
 # Conttributor: xiretza <xiretza+aur@gmail.com>

 pkgname=wine-valve-git
-pkgver=5.0
+pkgver=5.0.r649.g76dd491924
 pkgrel=1
 pkgdesc='A compatibility layer for running Windows programs (Valve version)'
 arch=('i686' 'x86_64')
@@ -120,7 +120,7 @@ build() {
     # workaround for FS#55128
     # https://bugs.archlinux.org/task/55128
     # https://bugs.winehq.org/show_bug.cgi?id=43530
-    export CFLAGS="${CFLAGS/-fno-plt/}"
+    export CFLAGS="${CFLAGS/-fno-plt/} -fcommon"
     export LDFLAGS="${LDFLAGS/,-z,now/}"

     # build wine 64-bit

attila123 commented on 2020-06-01 14:10

Hi, wanted to install it with yay wine-valve-git. My system is fully updated. It was not a trivial search on the Internet, am not a winebuild/GAS expert, so raising this here. It fails with:

make[1]: Entering directory '/home/avangel/.cache/yay/wine-valve-git/src/wine-valve-git-64-build/dlls/dinput'
gcc -m64 -c -o data_formats.o ../../../wine-valve-git/dlls/dinput/data_formats.c -I. \
  -I../../../wine-valve-git/dlls/dinput -I../../include -I../../../wine-valve-git/include \
  -I/usr/include/SDL2 -D__WINESRC__ -D_REENTRANT -DDIRECTINPUT_VERSION=0x0700 -D_REENTRANT -fPIC \
  -Wall -pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-packed-not-aligned \
  -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla \
  -Wwrite-strings -Wpointer-arith -Wlogical-op -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
../../tools/winebuild/winebuild -w --implib -o libdinput.a -m64 --export \
  ../../../wine-valve-git/dlls/dinput/dinput.spec data_formats.o
flag provided but not defined: -64

GAS - Go AST Scanner

Gas analyzes Go source code to look for common programming mistakes that
can lead to security problems.

USAGE:
<then it prints the usage ...>

junaru commented on 2020-05-18 23:19

Ran into this exact same issue while trying to build older wine source from 2019. Timestamps on @silversilva, @hwaiting suggest it started happening recently and there was gcc-10 update at May 8th. Downgrading gcc gcc-ada and gcc-libs worked for me. I went with versions from late 2019 to match my codebase but im pretty sure more recent 9.3.0 would work too.

$ pacman -U https://archive.archlinux.org/packages/g/gcc/gcc-9.2.0-4-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/g/gcc-libs/gcc-libs-9.2.0-4-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/g/gcc-ada/gcc-ada-9.2.0-4-x86_64.pkg.tar.xz

Hope it helps.

kescherAUR commented on 2020-05-18 12:35

@hwaiting, are you building in a clean chroot? I occasionally get build errors on my running system as well, but to date, none in a fresh chroot.

hwaiting commented on 2020-05-18 12:11

On my desktop I receive the same error as silversilva, but on my laptop it does build successfully.

kescherAUR commented on 2020-05-17 09:02

@silversilva, Ota-Coder This does not happen in a clean chroot for me. Can you retry in a clean chroot with all the neccessary AUR dependencies installed beforehand?

silversilva commented on 2020-05-17 04:48

I am getting these error messages when i try to run makepkg -si

usr/bin/ld: chain.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: collectionstore.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: context.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: crl.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: ctl.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: decode.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: encode.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: filestore.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: main.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: msg.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: object.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: oid.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: proplist.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: provstore.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: regstore.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: rootstore.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: serialize.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: sip.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: store.o:(.bss+0x20): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
/usr/bin/ld: str.o:(.bss+0x0): multiple definition of `hInstance'; cert.o:(.bss+0x0): first defined here
winebuild: /usr/bin/ld failed with status 1
winegcc: ../../tools/winebuild/winebuild failed
make[1]: *** [Makefile:887: crypt32.dll.so] Error 2
make: *** [Makefile:8574: dlls/crypt32] Error 2
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().

Ota-Coder commented on 2020-05-13 12:32

I don't know if it's just me but I've tried countless times, removing first proton versions, wine, winetricks among others and these are the last few lines I get whenever I build the package ("airi" is the name of the computer):

 ../../dlls/uuid/libuuid.cross.a ../../dlls/dxgi/libdxgi.cross.a \
  ../../dlls/wined3d/libwined3d.cross.a  -Wl,--file-alignment,4096
make[1]: Leaving directory '/var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-32-build/dlls/d3d11'
/var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-64-build/tools/winegcc/winegcc -o crtdll.dll.so \
  --wine-objdir ../.. --winebuild \
  /var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-64-build/tools/winebuild/winebuild \
  -m32 -fno-PIC -fasynchronous-unwind-tables -shared ../../../wine-valve-git/dlls/crtdll/crtdll.spec \
  console.o cpp.o ctype.o data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o \
  except_i386.o except_x86_64.o exit.o file.o heap.o locale.o lock.o main.o math.o mbcs.o misc.o \
  process.o scanf.o string.o thread.o time.o undname.o wcs.o -ladvapi32 -luser32 \
  ../../libs/port/libwine_port.a -Wl,-delayload,advapi32.dll -Wl,-delayload,user32.dll -Wl,-O1,--sort-common,--as-needed,-z,relro 
/var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-64-build/tools/winegcc/winegcc -o crtdll.dll.fake \
  --wine-objdir ../.. --winebuild \
  /var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-64-build/tools/winebuild/winebuild \
  -m32 -fno-PIC -fasynchronous-unwind-tables -shared ../../../wine-valve-git/dlls/crtdll/crtdll.spec \
  console.o cpp.o ctype.o data.o dir.o environ.o errno.o except.o except_arm.o except_arm64.o \
  except_i386.o except_x86_64.o exit.o file.o heap.o locale.o lock.o main.o math.o mbcs.o misc.o \
  process.o scanf.o string.o thread.o time.o undname.o wcs.o -ladvapi32 -luser32 \
  ../../libs/port/libwine_port.a -Wl,-delayload,advapi32.dll -Wl,-delayload,user32.dll -Wl,-O1,--sort-common,--as-needed,-z,relro 
make[1]: Leaving directory '/var/tmp/pamac-build-airi/wine-valve-git/src/wine-valve-git-32-build/dlls/crtdll'
==> ERROR: A failure occurred in build().
    Aborting...

pagdot commented on 2020-05-08 14:27

It seems like the mentioned issue could be fixed with

diff --git a/PKGBUILD b/PKGBUILD
index 09a5c1e..d4a29ac 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -21,7 +21,7 @@ source=("https://github.com/ValveSoftware/Proton/archive/$pkgname-$_pkgver.tar.g
 prepare() {
        cd "Proton-$pkgname-$_pkgver"
        #git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git
-       sed -i 's,wined3d-interop.h,wine/wined3d-interop.h,g' vrclient_x64/vrclient_x64/*
+       sed -i 's,wined3d-interop.h,wine/wined3d-interop.h,g' vrclient_x64/vrclient_x64/*.{h,c,cpp}
 }

 build() {

But this opens a new issue:

winegcc -c -march=x86-64 -mtune=generic -O2 -pipe -fno-plt  -I. -DSTEAM_API_EXPORTS  -o steamclient_main.o steamclient_main.c
steamclient_main.c:13:10: fatal error: wine/list.h: No such file or directory
   13 | #include "wine/list.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
winegcc: gcc failed

It seems like proton now requires at least list.h from wine. Maybe wine-valve could fix this issue by also including list.h in the include dir of the installation