Wine staging compilation fail.

Questions about Wine on Linux
Locked
tambel
Newbie
Newbie
Posts: 2
Joined: Sun Dec 27, 2020 7:04 am

Wine staging compilation fail.

Post by tambel »

Hello. I have troubles with compiling the wine-staging on ubuntu 20.04. Vanilla wine compiles well. For now, I've tried to compile the versions 6.0~rc4 and 5.22 and they all fail with the same errors.

Code: Select all

dlls/winex11.drv/mouse.c: In function 'grab_clipping_window':
dlls/winex11.drv/mouse.c:501:13: error: 'struct x11drv_thread_data' has no member named 'xi2_state'
  501 |     if (data->xi2_state != xi_enabled)
      |             ^~
dlls/winex11.drv/mouse.c:501:28: error: 'xi_enabled' undeclared (first use in this function)
  501 |     if (data->xi2_state != xi_enabled)
      |                            ^~~~~~~~~~
dlls/winex11.drv/mouse.c:501:28: note: each undeclared identifier is reported only once for each function it appears in
dlls/winex11.drv/mouse.c: In function 'create_xcursor_system_cursor':
I've tried to patch the upstream wine with staging patches manually and also have tried to compile already patched source and both failed with this error. Since the binaries of those versions are available, then the successful compilation is possible and I just do not do that right. I guess, my build options may be wrong, because I just do a "default" ./configure --enable-win64, but I can not find any other build options in docs.

Here is a dockerfile where I am trying to do that, hope it will help.

Code: Select all

FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
# install build dependencies.
RUN apt install -y build-essential autoconf wget \
flex libbison-dev libx11-dev libfreetype6-dev libdbus-1-dev libfontconfig1-dev libgnutls28-dev \
libjpeg-dev libgl-dev libosmesa6-dev libunwind-dev libx11-dev libxml2-dev libxslt1-dev gettext libxrender-dev

# download staging source.
RUN wget https://dl.winehq.org/wine-builds/ubuntu/dists/focal/main/source/wine-staging_6.0~rc4~focal.orig.tar.gz -O wine-staging.tar.gz

RUN mkdir wine-staging
RUN tar xvf wine-staging.tar.gz -C wine-staging --strip-components 1



WORKDIR wine-staging

# Cmake can not tresolve freetype lib automatically.
ENV CPPFLAGS='-I//usr/include/freetype2'

RUN ./configure --enable-win64

RUN make -j 7
Any help is appreciated. Thanks is advance.
spoon0042
Level 6
Level 6
Posts: 572
Joined: Thu Dec 24, 2009 11:00 am

Re: Wine staging compilation fail.

Post by spoon0042 »

It's possible you're still missing some dependency. The guides on winehq.org recommend running 'apt-get build-dep wine' to be sure.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Wine staging compilation fail.

Post by Bob Wya »

@tambel

I've a build script on Github, to build multilib Wine / Wine Staging, for Debian or Ubuntu.
See: Github: bobwya / build-multilib-wine .

I think this should still be OK, up to the current Wine / Wine Staging 6.0-rc* releases...
Might be useful to you? 8)

Bob
tambel
Newbie
Newbie
Posts: 2
Joined: Sun Dec 27, 2020 7:04 am

Re: Wine staging compilation fail.

Post by tambel »

spoon0042 wrote: Sun Dec 27, 2020 12:16 pm It's possible you're still missing some dependency. The guides on winehq.org recommend running 'apt-get build-dep wine' to be sure.
It seems like apt-get build-dep wine is outdated now but the root cause is in a missing dependency indeed. Installing the Xintup2 library (libxi-dev) is solved the problem.
I guess this dependency is introduced by the wine-staging, because it is not listed in the vanilla dependencies and vanilla compiles well without it. Sad that I had not found any hint about that earlier. Thanks to all and sorry for the noise :)
Locked