misyltoad / d9vk

A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
https://github.com/doitsujin/dxvk
zlib License
838 stars 42 forks source link

master fails to compile on F31 #473

Closed n1trux closed 4 years ago

n1trux commented 4 years ago

When I want to compile 2f7d3d0cb87d89cfa854f6c6fda888b20b134873, I currently get

[144/261] Linking target src/dxgi/dxgi.dll.
FAILED: src/dxgi/dxgi.dll 
x86_64-w64-mingw32-g++  -o src/dxgi/dxgi.dll 'src/dxgi/cde8a16@@dxgi@sha/version.o' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_adapter.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_enums.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_factory.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_format.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_main.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_monitor.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_options.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_output.cpp.obj' 'src/dxgi/cde8a16@@dxgi@sha/dxgi_swapchain.cpp.obj' ../../../d9vk-master/src/dxgi/dxgi.def -Wl,--allow-shlib-undefined -Wl,-O1 -shared ../../../d9vk-master/src/dxgi/dxgi.def -Wl,--start-group -Wl,--out-implib=src/dxgi/dxgi.dll.a -static -static-libgcc -static-libstdc++ src/dxvk/libdxvk.a src/util/libutil.a src/spirv/libspirv.a src/vulkan/libvkcommon.a -pthread /tmp/d9vk-master/lib32/vulkan-1.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
/usr/lib/gcc/x86_64-w64-mingw32/9.2.1/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lpthread

and with --winelib:

[208/260] Linking target src/d3d10/d3d10core.dll.so.
FAILED: src/d3d10/d3d10core.dll.so 
wineg++  -o src/d3d10/d3d10core.dll.so 'src/d3d10/c74346f@@d3d10core.dll@sha/version10_core.res' 'src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o' 'src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_reflection.cpp.o' 'src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_state_block.cpp.o' ../../../d9vk-master/src/d3d10/d3d10core.spec -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,d3d10core.dll.so -m64 -mwindows src/dxbc/libdxbc.a src/dxvk/libdxvk.a src/util/libutil.a src/spirv/libspirv.a src/vulkan/libvkcommon.a -L/tmp/d9vk-master/lib32 -ld3dcompiler_43 -ldxgi -ld3d11 -pthread -ldl -lwinevulkan -Wl,--end-group '-Wl,-rpath,$ORIGIN/../dxbc:$ORIGIN/../dxvk:$ORIGIN/../util:$ORIGIN/../spirv:$ORIGIN/../vulkan' -Wl,-rpath-link,/tmp/d9vk/dxvk-master/build.64/src/dxbc -Wl,-rpath-link,/tmp/d9vk/dxvk-master/build.64/src/dxvk -Wl,-rpath-link,/tmp/d9vk/dxvk-master/build.64/src/util -Wl,-rpath-link,/tmp/d9vk/dxvk-master/build.64/src/spirv -Wl,-rpath-link,/tmp/d9vk/dxvk-master/build.64/src/vulkan
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10ReflectShader':
d3d10_main.cpp:(.text+0xcf1): undefined reference to `D3DReflect'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10CompileShader':
d3d10_main.cpp:(.text+0xed9): undefined reference to `D3DCompile'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10CreateBlob':
d3d10_main.cpp:(.text+0xc41): undefined reference to `D3DCreateBlob'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10GetInputSignatureBlob':
d3d10_main.cpp:(.text+0xc51): undefined reference to `D3DGetInputSignatureBlob'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10GetOutputSignatureBlob':
d3d10_main.cpp:(.text+0xc61): undefined reference to `D3DGetOutputSignatureBlob'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10DisassembleShader':
d3d10_main.cpp:(.text+0x1424): undefined reference to `D3DDisassemble'
/usr/bin/ld: src/d3d10/c74346f@@d3d10core.dll@sha/d3d10_main.cpp.o: in function `D3D10PreprocessShader':
d3d10_main.cpp:(.text+0x1431): undefined reference to `D3DPreprocess'

when compiling on Fedora 31. How do I resolve this? The problem seems to originate from this change: https://github.com/doitsujin/dxvk/commit/8c1063b51228717bb63e758f9f4bb325a99d1194

misyltoad commented 4 years ago

Use a newer MinGW.

n1trux commented 4 years ago

I used 6.0.0-2. Sad that you don't care.

misyltoad commented 4 years ago

You are correct.

n1trux commented 4 years ago

Just for the lulz: Why is your README wrong when it says you should use 6.0?

misyltoad commented 4 years ago

Why is your README wrong

That's not my README, that's the DXVK one. It's failing in upstream (https://github.com/doitsujin/dxvk) code anyway.

Make an issue there if you're so inclined but you're probably just going to get the README to bump up the version number.