protonscr

Failing to build on Kubuntu 18.04

dxvkclosed duplicatebuild
doitsujin/dxvk#546 · opened 2018-08-12 by nextgenthemes · updated 2018-08-15 · 6 comments · github
1 matching comments, n / p to jump
Nnextgenthemes 2018-08-12 github

I am trying to build DXVK using wine-3.13 (Staging) on Kubuntu 18.04

I think the install instructions could be a lot better, I had to find out package names and apparently at least to someone on reddit installing glslang can be installed just by extracting it to /usr

#/bin/bash
# install wine staging via https://wiki.winehq.org/Ubuntu
cd ~/tmp
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
sudo apt install -y winehq-staging
# show installed version
wine --version
# install meson and mingw
sudo apt install -y meson mingw-w64
# install glslang
wget https://github.com/KhronosGroup/glslang/releases/download/7.8.2850/glslang-master-linux-Release.zip
sudo unzip glslang-master-linux-Release.zip -d /usr
# Try to build dxvk
if cd ~/dxvk; then
	git pull
else
	git clone https://github.com/doitsujin/dxvk.git ~/dxvk
	cd ~/dxvk
fi
./package-release.sh master ~/dxvk-target --no-package

Errors from the build:

mkdir: das Verzeichnis »/home/user/dxvk-target/dxvk-master/x32“ kann nicht angelegt werden: Die Datei existiert bereits
cp: Aufruf von stat für '/home/user/dxvk-target/dxvk-master/install.32/bin/d3d11.dll' nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für '/home/user/dxvk-target/dxvk-master/install.32/bin/dxgi.dll' nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für '/home/user/dxvk-target/dxvk-master/install.32/bin/setup_dxvk.sh' nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: das Entfernen von '/home/user/dxvk-target/dxvk-master/install.32' ist nicht möglich: Datei oder Verzeichnis nicht gefunden

# user @ PC in ~/dxvk on git:master x [10:05:28] 
$ wineserver: could not save registry branch to system.reg : No such file or directory
wineserver: could not save registry branch to userdef.reg : No such file or directory
wineserver: could not save registry branch to user.reg : No such file or directory

Sorry for the German but basically there are directories that are expected but not there or can not be created, its also trying to remove files that are not there. I also tried to use my ~/dxvk directory where the clone of this repo is as a target but it fails with the same errors. When I look into the target after build I see only empty x32 and x64 directories.

Just tried the manual compile and ninja fails with this (probably the same and the reason the easy build fails as well)

ninja
[0/1] Regenerating build files.
The Meson build system
Version: 0.45.1
Source dir: /home/user23/dxvk
Build dir: /home/user23/dxvk/build.w64
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_47 found: YES
Program glslangValidator found: YES (/usr/bin/glslangValidator)
Dependency threads found: YES (cached)
Configuring setup_dxvk.sh using configuration
Build targets in project: 7
Found ninja-1.8.2 at /usr/bin/ninja
[1/154] Generating 'src/dxvk/dxvk@sta/dxvk_resolve_geom.h'.
../src/dxvk/shaders/dxvk_resolve_geom.geom
[2/154] Generating 'src/dxvk/dxvk@sta/dxvk_resolve_frag_f.h'.
../src/dxvk/shaders/dxvk_resolve_frag_f.frag
[3/154] Generating 'src/dxvk/dxvk@sta/dxvk_resolve_vert.h'.
../src/dxvk/shaders/dxvk_resolve_vert.vert
[7/154] 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;
          ^~~~~
[8/154] Generating 'src/dxvk/dxvk@sta/dxvk_clear_buffer_u.h'.
../src/dxvk/shaders/dxvk_clear_buffer_u.comp
[10/154] 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);
                                   ^~~~
[13/154] 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;
          ^~~~~
[14/154] Compiling C++ object 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj'.
FAILED: src/spirv/spirv@sta/spirv_code_buffer.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/spirv/spirv@sta -Isrc/spirv -I../src/spirv -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj' -MF 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj.d' -o 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj' -c ../src/spirv/spirv_code_buffer.cpp
In file included from ../src/spirv/spirv_include.h:3:0,
                 from ../src/spirv/spirv_instruction.h:6,
                 from ../src/spirv/spirv_code_buffer.h:8,
                 from ../src/spirv/spirv_code_buffer.cpp:4:
../src/spirv/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
[15/154] Compiling C++ object 'src/spirv/spirv@sta/spirv_module.cpp.obj'.
FAILED: src/spirv/spirv@sta/spirv_module.cpp.obj 
x86_64-w64-mingw32-g++  -Isrc/spirv/spirv@sta -Isrc/spirv -I../src/spirv -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/spirv/spirv@sta/spirv_module.cpp.obj' -MF 'src/spirv/spirv@sta/spirv_module.cpp.obj.d' -o 'src/spirv/spirv@sta/spirv_module.cpp.obj' -c ../src/spirv/spirv_module.cpp
In file included from ../src/spirv/spirv_include.h:3:0,
                 from ../src/spirv/spirv_instruction.h:6,
                 from ../src/spirv/spirv_code_buffer.h:8,
                 from ../src/spirv/spirv_module.h:3,
                 from ../src/spirv/spirv_module.cpp:3:
../src/spirv/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~
[16/154] 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.
Ddoitsujin maintainer 2018-08-12 github

The DLLs aren't there because your build failed, but you didn't post any console output from the actual build process, just the aftermath.

Nnextgenthemes 2018-08-12 github

I edited the output of the ninja command that fails in.

Ddoitsujin maintainer 2018-08-12 github
Nnextgenthemes 2018-08-13 github

@doitsujin sorry I was not searching or even reading the readme to the very end. I am able to build it now.

Llegluondunet 2018-08-13 github

@nextgenthemes how did you install glslangValidator? It is not available on Ubuntu and I didn't find a package to install it.

Nnextgenthemes 2018-08-15 github

@legluondunet You can download teh release from github and extract it to /usr. I saw someone reddit say to install it this way. Does not feel very good but works. I made a PR for my entire wine-dxvk install script i put together while figuring out how to get this installed https://github.com/doitsujin/dxvk/blob/b5d0b6cfab5ada7760673766e404db5987f37d5f/ubuntu-wine-dxvk-install.sh

Upstream links

DLLs