protonscr

Can't make dxvk with ubuntu 18.04

dxvkclosed duplicate
doitsujin/dxvk#650 · opened 2018-09-19 by illiaSkif · updated 2018-09-19 · 4 comments · github
IilliaSkif 2018-09-19 github

I've got this output when i try to build dxvk by myself. I've installed MinGW64 from apt-get and build glslangValidator by myself. Can some one help me?

The Meson build system
Version: 0.45.1
Source dir: /home/skif/Proton/dxvk
Build dir: /home/skif/Proton/dxvk/dxvk-master/build.64
Build type: cross build
Project name: dxvk
Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-16ubuntu3) 7.3.0")
Cross C compiler: x86_64-w64-mingw32-gcc (gcc 7.3.0)
Native C++ compiler: c++ (gcc 7.3.0 "c++ (Ubuntu 7.3.0-16ubuntu3) 7.3.0")
Cross C++ compiler: x86_64-w64-mingw32-g++ (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
Library vulkan-1 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_43 found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES (/home/skif/glslang/build/install/bin/glslangValidator)
Dependency threads found: YES
Configuring setup_dxvk.sh using configuration
Build targets in project: 10
Found ninja-1.8.2 at /usr/bin/ninja
[5/178] Compiling C++ object 'src/util/util@sta/config_config.cpp.obj'.
FAILED: src/util/util@sta/config_config.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/util/util@sta -Isrc/util -I../../src/util -I../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/util/util@sta/config_config.cpp.obj' -MF 'src/util/util@sta/config_config.cpp.obj.d' -o 'src/util/util@sta/config_config.cpp.obj' -c ../../src/util/config/config.cpp
In file included from ../../src/util/config/config.cpp:7:0:
../../src/util/config/../log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
[8/178] Compiling C++ object 'src/util/util@sta/log_log_debug.cpp.obj'.
FAILED: src/util/util@sta/log_log_debug.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/util/util@sta -Isrc/util -I../../src/util -I../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/util/util@sta/log_log_debug.cpp.obj' -MF 'src/util/util@sta/log_log_debug.cpp.obj.d' -o 'src/util/util@sta/log_log_debug.cpp.obj' -c ../../src/util/log/log_debug.cpp
In file included from ../../src/util/log/log_debug.h:5:0,
                 from ../../src/util/log/log_debug.cpp:1:
../../src/util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
[9/178] Compiling C++ object 'src/util/util@sta/log_log.cpp.obj'.
FAILED: src/util/util@sta/log_log.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/util/util@sta -Isrc/util -I../../src/util -I../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/util/util@sta/log_log.cpp.obj' -MF 'src/util/util@sta/log_log.cpp.obj.d' -o 'src/util/util@sta/log_log.cpp.obj' -c ../../src/util/log/log.cpp
In file included from ../../src/util/log/log.cpp:1:0:
../../src/util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
../../src/util/log/log.cpp: In member function ‘void dxvk::Logger::emitMsg(dxvk::LogLevel, const string&)’:
../../src/util/log/log.cpp:49:28: error: ‘mutex’ is not a member of ‘std’
       std::lock_guard<std::mutex> lock(m_mutex);
                            ^~~~~
../../src/util/log/log.cpp:49:33: error: template argument 1 is invalid
       std::lock_guard<std::mutex> lock(m_mutex);
                                 ^
../../src/util/log/log.cpp:49:40: error: ‘m_mutex’ was not declared in this scope
       std::lock_guard<std::mutex> lock(m_mutex);
                                        ^~~~~~~
../../src/util/log/log.cpp:49:35: warning: unused variable ‘lock’ [-Wunused-variable]
       std::lock_guard<std::mutex> lock(m_mutex);
                                   ^~~~
[10/178] Compiling C++ object 'src/util/util@sta/com_com_guid.cpp.obj'.
FAILED: src/util/util@sta/com_com_guid.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/util/util@sta -Isrc/util -I../../src/util -I../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/util/util@sta/com_com_guid.cpp.obj' -MF 'src/util/util@sta/com_com_guid.cpp.obj.d' -o 'src/util/util@sta/com_com_guid.cpp.obj' -c ../../src/util/com/com_guid.cpp
In file included from ../../src/util/com/../../d3d11/../dxgi/dxgi_include.h:14:0,
                 from ../../src/util/com/../../d3d11/d3d11_include.h:3,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxgi/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_buffer_res.h:4:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_buffer.h:6,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:4,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_memory.h:259:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex                                      m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_framebuffer.h:4:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_constant_state.h:4,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:6,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_renderpass.h:206:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex                      m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_query_pool.h:5:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_query_tracker.h:3,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_cmdlist.h:12,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_barrier.h:4,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_context.h:3,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_query.h:191:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_graphics.h:8:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_context_state.h:7,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_context.h:6,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_pipecompiler.h:49:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex                  m_compilerLock;
          ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_pipecompiler.h:50:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
     std::condition_variable     m_compilerCond;
          ^~~~~~~~~~~~~~~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_context.h:10:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_meta_mipgen.h:194:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_context.h:11:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_meta_resolve.h:105:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_context.h:13:0,
                 from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_pipemanager.h:104:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex m_mutex;
          ^~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:16:0,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:55:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex              m_mutex;
          ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:56:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
     std::condition_variable m_condOnAdd;
          ^~~~~~~~~~~~~~~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:57:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
     std::condition_variable m_condOnTake;
          ^~~~~~~~~~~~~~~~~~
In file included from ../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:18:0,
                 from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:57:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex           m_mutex;
          ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h: In member function ‘dxvk::Rc<T> dxvk::DxvkRecycler<T, N>::retrieveObject()’:
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:28: error: ‘mutex’ is not a member of ‘std’
       std::lock_guard<std::mutex> lock(m_mutex);
                            ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:33: error: template argument 1 is invalid
       std::lock_guard<std::mutex> lock(m_mutex);
                                 ^
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:40: error: ‘m_mutex’ was not declared in this scope
       std::lock_guard<std::mutex> lock(m_mutex);
                                        ^~~~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h: In member function ‘void dxvk::DxvkRecycler<T, N>::returnObject(const dxvk::Rc<T>&)’:
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:28: error: ‘mutex’ is not a member of ‘std’
       std::lock_guard<std::mutex> lock(m_mutex);
                            ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:33: error: template argument 1 is invalid
       std::lock_guard<std::mutex> lock(m_mutex);
                                 ^
../../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:40: error: ‘m_mutex’ was not declared in this scope
       std::lock_guard<std::mutex> lock(m_mutex);
                                        ^~~~~~~
In file included from ../../src/util/com/../../d3d11/d3d11_interfaces.h:7:0,
                 from ../../src/util/com/com_guid.cpp:3:
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h: At global scope:
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:404:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex                  m_submissionLock;
          ^~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h: In member function ‘void dxvk::DxvkDevice::lockSubmission()’:
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:347:7: error: ‘m_submissionLock’ was not declared in this scope
       m_submissionLock.lock();
       ^~~~~~~~~~~~~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:347:7: note: suggested alternative: ‘m_submissionQueue’
       m_submissionLock.lock();
       ^~~~~~~~~~~~~~~~
       m_submissionQueue
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h: In member function ‘void dxvk::DxvkDevice::unlockSubmission()’:
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:357:7: error: ‘m_submissionLock’ was not declared in this scope
       m_submissionLock.unlock();
       ^~~~~~~~~~~~~~~~
../../src/util/com/../../d3d11/../dxvk/dxvk_device.h:357:7: note: suggested alternative: ‘m_submissionQueue’
       m_submissionLock.unlock();
       ^~~~~~~~~~~~~~~~
       m_submissionQueue
ninja: build stopped: subcommand failed.
cp: cannot stat '/home/skif/Proton/dxvk/dxvk-master/install.64/bin/d3d10.dll': No such file or directory
cp: cannot stat '/home/skif/Proton/dxvk/dxvk-master/install.64/bin/d3d10_1.dll': No such file or directory
cp: cannot stat '/home/skif/Proton/dxvk/dxvk-master/install.64/bin/d3d10core.dll': No such file or directory
cp: cannot stat '/home/skif/Proton/dxvk/dxvk-master/install.64/bin/d3d11.dll': No such file or directory
cp: cannot stat '/home/skif/Proton/dxvk/dxvk-master/install.64/bin/dxgi.dll': No such file or directory
rm: cannot remove '/home/skif/Proton/dxvk/dxvk-master/wine.64': No such file or directory
rm: cannot remove '/home/skif/Proton/dxvk/dxvk-master/install.64': No such file or directory
Ttingvarsson 2018-09-19 github

Described on the wiki: https://github.com/doitsujin/dxvk/wiki/Common-issues

Solution/copy-paste:
update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++

Sssorgatem 2018-09-19 github

You could also try building it as a winelib, that way you don't need a crosscompiler, but the winelib build is broken right now (https://github.com/doitsujin/dxvk/issues/651)

Llegluondunet 2018-09-19 github
Ddoitsujin maintainer 2018-09-19 github

See comments above.

Upstream links

DLLs