iXit / wine-nine-standalone

Build Gallium Nine support on top of an existing WINE installation
GNU Lesser General Public License v2.1
272 stars 23 forks source link

Github workflow failed with ubuntu-latest #144

Closed kevinwidjaja21 closed 1 year ago

kevinwidjaja21 commented 1 year ago

So, I am looking to setup a workflow with ubuntu-latest to try to integrate it with Proton-GE workflow which uses ubuntu-latest. However, I encountered 3 following problem.

When running the action with just changing to ubuntu-latest, I encountered a dependency issue. (https://github.com/kevinwidjaja21/wine-nine-standalone/actions/runs/4094829542/jobs/7061318021)

The following packages have unmet dependencies: libwine-dev : Conflicts: libwine-dev:i386 but 6.0.3~repack-1 is to be installed libwine-dev:i386 : Conflicts: libwine-dev but 6.0.3~repack-1 is to be installed E: Unable to correct problems, you have held broken packages. Error: Process completed with exit code 100.

Then, I decided to change the dependency to match the dependency given in the wiki and I still get the same error.

So I decided to exclude libwine-dev:i386 as libwine-dev seems to also include 32-bit dependency and got error related to d3d9adapter. (https://github.com/kevinwidjaja21/wine-nine-standalone/actions/runs/4095769678/jobs/7062928128)

Found pkg-config: /usr/bin/x86_64-linux-gnu-pkg-config (0.29.2) Found CMake: NO Run-time dependency d3d found: NO (tried pkgconfig and cmake) Message: trying alternative name for d3d... Run-time dependency d3dadapter9 found: NO (tried pkgconfig)

meson.build:74:2: ERROR: Dependency "d3dadapter9" not found, tried pkgconfig

Sorry but I don't know if my previous thinking was wrong or something else is wrong.

dhewg commented 1 year ago

Without hacking around you need libwine-dev:i386 to build the 32bit variant. The d3d9adaper error message is just the consequence of the missing package, in a sense it works as intended.

So that's a bug on the ubuntu package.

FWIW debian had that too at one point, I filed a bug and it's been fixed, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1015239

Please file an ubuntu bug, so it gets fixed for everyone.

As for hacking around, take a look at https://github.com/iXit/wine-nine-standalone/commit/0de9c5c1696107ba4a487bb6ee7fec8989e41688 (the removed travis file) There was that issue with libegl1-mesa-dev:i386, something similar may "fix" it for you too, but that'll be a local ugly hack just like that was ;) And it may break something else

kevinwidjaja21 commented 1 year ago

Ok, thanks. I will just close this issue since it is an ubuntu package problem.

dhewg commented 1 year ago

Keep us posted, as others probably hit this issue too. Let's hope ubuntu can resolve that soon-ish. The debian changelog at least reads like it didn't take much to fix it.

kevinwidjaja21 commented 1 year ago

So, I am not getting error that Checking for function "dlopen" : NO

meson.build:62:2: ERROR: C shared or static library 'dl' not found

myself600 commented 1 year ago

So, I am not getting error that Checking for function "dlopen" : NO

meson.build:62:2: ERROR: C shared or static library 'dl' not found

I am getting the exact same error on Ubuntu 20.04 (https://www.onworks.net/os-distributions/ubuntu-based/free-ubuntu-online-version-20):

onworks@onworks-Standard-PC-i440FX-PIIX-1996:~/Downloads/wine-nine-standalone-main$ ./release.sh
creating /home/onworks/Downloads/wine-nine-standalone-main/gallium-nine-standalone.tar.gz
additional meson args: 
found ubuntu compatible distro
The Meson build system
Version: 0.53.2
Source dir: /home/onworks/Downloads/wine-nine-standalone-main
Build dir: /tmp/tmp.3fgiJpj5xU/build64
Build type: cross build
Program tools/get_version.sh found: YES (/home/onworks/Downloads/wine-nine-standalone-main/tools/get_version.sh)
Project name: Gallium Nine Standalone
Project version: 0.9.0.0-devel
C compiler for the build machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the build machine: cc ld.bfd 2.34
C compiler for the host machine: winegcc (gcc 9.4.0 "gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the host machine: winegcc ld.bfd 2.34
Build machine cpu family: x86
Build machine cpu: i686
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Program winegcc found: YES (/usr/bin/winegcc)
Checking if "winegcc check" compiles: YES 
Header <windows.h> has symbol "wine_get_unix_file_name" : YES 
Program wrc found: YES (/usr/bin/wrc)
Checking for function "dlopen" : NO 

meson.build:62:2: ERROR: C library 'dl' not found

A full log can be found at /tmp/tmp.3fgiJpj5xU/build64/meson-logs/meson-log.txt

Attachments:

meson-log.txt

dhewg commented 1 year ago

Here's a working 22.04 setup: https://github.com/dhewg/wine-nine-standalone/commits/22.04

That's not going in for the reasons mentioned in https://github.com/iXit/wine-nine-standalone/pull/146, but in case anyone want's to replicate that on a 22.04 setup.