dhewg / nine

Gallium Nine Standalone
https://wiki.ixit.cz/d3d9
50 stars 3 forks source link

Does not compile on ubuntu 18.04+padoka ppa #14

Closed montvid closed 5 years ago

montvid commented 5 years ago

Hi, can't compile with up to date padoka ppa ubuntu 18.04. Installed all the amd64 and i386 binaries in the readme. Any ideas?

found ubuntu compatible distro The Meson build system Version: 0.45.1 Source dir: /home/momo/Atsiuntimai/nine-master Build dir: /tmp/tmp.Bq9DbZ8myz/build64 Build type: cross build Program tools/get_version.sh found: YES (/home/momo/Atsiuntimai/nine-master/tools/get_version.sh) Project name: Gallium Nine Standalone Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0") Cross C compiler: winegcc (gcc 7.3.0) Host machine cpu family: x86_64 Host machine cpu: x86_64 Target machine cpu family: x86_64 Target machine cpu: x86_64 Build machine cpu family: x86_64 Build machine cpu: x86_64 Checking if "winelib check" compiles: YES Library wine found: YES Has header "wine/debug.h": YES Program wrc found: YES (/usr/bin/wrc) Checking for function "dlopen": NO Library dl found: YES Checking for function "dlopen": YES Checking for function "dlclose": YES Checking for function "dlsym": YES Checking for function "dladdr": YES Cross dependency d3d found: YES 1.0.0 Cross dependency x11 found: YES 1.6.4 Cross dependency xext found: YES 1.3.3 Cross dependency x11-xcb found: YES 1.6.4 Cross dependency xcb found: YES 1.13 Cross dependency xcb-dri3 found: YES 1.13 Cross dependency xcb-present found: YES 1.13 Cross dependency xcb-xfixes found: YES 1.13 Cross dependency gl found: YES 19.0.0-devel - padoka PPA Cross dependency egl found: YES 19.0.0-devel - padoka PPA Library dxguid found: YES Library uuid found: YES Library advapi32 found: YES Library gdi32 found: YES Library user32 found: YES Library shell32 found: YES Library comctl32 found: YES Library ole32 found: YES Library shlwapi found: YES Message: default module path: /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1 Build targets in project: 4 Found ninja-1.8.2 at /usr/bin/ninja ninja: Entering directory `/tmp/tmp.Bq9DbZ8myz/build64' [1/13] Generating version.res with a custom command. FAILED: d3d9-nine/version.res /usr/bin/wrc -DNINE_MAJOR=0 -DNINE_MINOR=2 -DNINE_BUILD=0 -DNINE_REVISION=0 '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_PROJECT="Gallium Nine Standalone"' -i ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/version.rc -o d3d9-nine/version.res ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/version.rc:20:1: Error: Unable to open include file verrsrc.h [2/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o'. FAILED: d3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -UWIN32 -UWIN32 -UWINNT -UWINNT -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3d9_main.c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3d9_main.c:25:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja

include

^~~~ compilation terminated. winegcc: gcc failed [3/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o'. FAILED: d3d9-nine/d3d9-nine.dll@sha/dri3.c.o winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -UWIN32 -UWIN32 -UWINNT -UWINNT -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/dri3.c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/dri3.c:22:10: fatal error: windows.h: Toks failas ar aplankas neegzistuoja

include

^~~ compilation terminated. winegcc: gcc failed [4/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o'. FAILED: d3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -UWIN32 -UWIN32 -UWINNT -UWINNT -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/device_wrap.c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/device_wrap.c:19:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja

include

^~~~ compilation terminated. winegcc: gcc failed [5/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o'. FAILED: d3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -UWIN32 -UWIN32 -UWINNT -UWINNT -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3dadapter9.c In file included from /usr/include/d3dadapter/d3dadapter9.h:26:0, from ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3dadapter9.c:26: /usr/include/d3dadapter/present.h:26:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja

include

^~~~ compilation terminated. winegcc: gcc failed [6/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/present.c.o'. FAILED: d3d9-nine/d3d9-nine.dll@sha/present.c.o winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -UWIN32 -UWIN32 -UWINNT -UWINNT -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/present.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/present.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/present.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/present.c In file included from /usr/include/d3dadapter/d3dadapter9.h:26:0, from /usr/include/d3dadapter/drm.h:26, from ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/present.c:26: /usr/include/d3dadapter/present.h:26:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja

include

^~~~ compilation terminated. winegcc: gcc failed ninja: build stopped: subcommand failed.

dhewg commented 5 years ago

Error: Unable to open include file verrsrc.h

That (and the other headers it didn't find) are part of libwine-dev. If you have those installed (try dpkg -S verrsrc.h) then I guess it's a problem with winegcc I fixed for v3.21 (iirc). What version of wine do you have installed? Is there a newer one available?

montvid commented 5 years ago

I installed wine staging from winehq so 4.0 rc7 but libwine-dev is (3.0-1ubuntu1). I installed libwine-development-dev (3.6-1) and afterwards I get this error by running release.sh:

found ubuntu compatible distro The Meson build system Version: 0.45.1 Source dir: /home/momo/Atsiuntimai/nine-master Build dir: /tmp/tmp.BgFj7UAcCh/build64 Build type: cross build Program tools/get_version.sh found: YES (/home/momo/Atsiuntimai/nine-master/tools/get_version.sh) Project name: Gallium Nine Standalone Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0") Cross C compiler: winegcc (gcc 7.3.0) Host machine cpu family: x86_64 Host machine cpu: x86_64 Target machine cpu family: x86_64 Target machine cpu: x86_64 Build machine cpu family: x86_64 Build machine cpu: x86_64 Checking if "winelib check" compiles: YES Library wine found: YES Has header "wine/debug.h": YES Program wrc found: YES (/usr/bin/wrc) Checking for function "dlopen": NO Library dl found: YES Checking for function "dlopen": YES Checking for function "dlclose": YES Checking for function "dlsym": YES Checking for function "dladdr": YES Cross dependency d3d found: YES 1.0.0 Cross dependency x11 found: YES 1.6.4 Cross dependency xext found: YES 1.3.3 Cross dependency x11-xcb found: YES 1.6.4 Cross dependency xcb found: YES 1.13 Cross dependency xcb-dri3 found: YES 1.13 Cross dependency xcb-present found: YES 1.13 Cross dependency xcb-xfixes found: YES 1.13 Cross dependency gl found: YES 19.0.0-devel - padoka PPA Cross dependency egl found: YES 19.0.0-devel - padoka PPA Library dxguid found: YES Library uuid found: YES Library advapi32 found: YES Library gdi32 found: YES Library user32 found: YES Library shell32 found: YES Library comctl32 found: YES Library ole32 found: YES Library shlwapi found: YES Message: default module path: /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1 Build targets in project: 4 Found ninja-1.8.2 at /usr/bin/ninja ninja: Entering directory `/tmp/tmp.BgFj7UAcCh/build64' [12/13] Installing files. Installing d3d9-nine/d3d9-nine.dll.so to /tmp/tmp.BgFj7UAcCh/nine/lib64/d3d9-nine.dll.so Installing ninewinecfg/ninewinecfg.exe.so to /tmp/tmp.BgFj7UAcCh/nine/bin64/ninewinecfg.exe.so The Meson build system Version: 0.45.1 Source dir: /home/momo/Atsiuntimai/nine-master Build dir: /tmp/tmp.BgFj7UAcCh/build32 Build type: cross build Program tools/get_version.sh found: YES (/home/momo/Atsiuntimai/nine-master/tools/get_version.sh) Project name: Gallium Nine Standalone Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0") Cross C compiler: winegcc (gcc 7.3.0) Host machine cpu family: x86 Host machine cpu: i686 Target machine cpu family: x86 Target machine cpu: i686 Build machine cpu family: x86_64 Build machine cpu: x86_64 Checking if "winelib check" compiles: YES

meson.build:39:0: ERROR: C library 'wine' not found

A full log can be found at /tmp/tmp.BgFj7UAcCh/build32/meson-logs/meson-log.txt

montvid commented 5 years ago

Removed libwine-development-dev (3.6-1) but installed wine-staging-dev wine-staging-dbg afterwards I get the same error by running release.sh.

montvid commented 5 years ago

meson log:

Build started at 2019-01-31T23:01:42.156889 Main binary: /usr/bin/python3 Python system: Linux The Meson build system Version: 0.45.1 Source dir: /home/momo/Atsiuntimai/nine-master Build dir: /tmp/tmp.837Hkpw9Zl/build32 Build type: cross build Program tools/get_version.sh found: YES (/home/momo/Atsiuntimai/nine-master/tools/get_version.sh) Running command: /home/momo/Atsiuntimai/nine-master/tools/get_version.sh --- stdout---- 0.2.0.0-devel ----stderr----

Project name: Gallium Nine Standalone Sanity testing C compiler: cc Is cross compiler: False. Sanity check compiler command line: cc /tmp/tmp.837Hkpw9Zl/build32/meson-private/sanitycheckc.c -o /tmp/tmp.837Hkpw9Zl/build32/meson-private/sanitycheckc.exe Sanity check compile stdout:


Sanity check compile stderr:


Running test binary command: /tmp/tmp.837Hkpw9Zl/build32/meson-private/sanitycheckc.exe Sanity testing C compiler: winegcc Is cross compiler: True. Sanity check compiler command line: winegcc -m32 --no-gnu-unique -c /tmp/tmp.837Hkpw9Zl/build32/meson-private/sanitycheckc.c -o /tmp/tmp.837Hkpw9Zl/build32/meson-private/sanitycheckc_cross.exe Sanity check compile stdout:


Sanity check compile stderr:


Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0") Cross C compiler: winegcc (gcc 7.3.0) Host machine cpu family: x86 Host machine cpu: i686 Target machine cpu family: x86 Target machine cpu: i686 Build machine cpu family: x86_64 Build machine cpu: x86_64 Running compile: Working directory: /tmp/tmpl9889byi Command line: winegcc /tmp/tmpl9889byi/testfile.c -m32 --no-gnu-unique -O0 -pipe -D_FILE_OFFSET_BITS=64 -c -o /tmp/tmpl9889byi/output.obj

Code:

ifndef WINE

error 1

endif

Compiler stdout:

Compiler stderr:

Checking if "winelib check" compiles: YES Running compile: Working directory: /tmp/tmpeii995q3 Command line: winegcc /tmp/tmpeii995q3/testfile.c -m32 --no-gnu-unique -m32 -mwindows -O0 -Wl,--start-group -lwine -Wl,--end-group -pipe -D_FILE_OFFSET_BITS=64 -o /tmp/tmpeii995q3/output.exe

Code: int main(int argc, char **argv) { return 0; } Compiler stdout:

Compiler stderr: ld: Relocatable linking with relocations from format elf64-x86-64 (/usr/lib/x86_64-linux-gnu/wine-development/libwinecrt0.a(exe_entry.o)) to format elf32-i386 (output.kHiSZs.o) is not supported winebuild: ld failed with status 1 winegcc: /usr/lib/wine-development/winebuild failed

meson.build:39:0: ERROR: C library 'wine' not found

dhewg commented 5 years ago

Looks like the 64bit build succeeded, and now its failing at the 32bit one. So far so good, but the build is using winegcc from wine64-development-tools. I think it would succeed with the wine-staging one, so try export PATH=/opt/wine-staging/bin:$PATH before you run release.sh.

montvid commented 5 years ago

I needed sudo apt install gcc-multilib. :) Now it compiled! Thanks for support. Gallium nine runs smooth as peanut butter. :) So all I needed was the packages you described but wine-staging-dev + wine staging + padoka ppa + gcc-multilib.. :)