Skip to content

Commit

Permalink
windows-gnu: Use latest stable wine and ubuntu 22.04
Browse files Browse the repository at this point in the history
Fixed with winehq-stable (9.0.0):

```
0009:err:module:import_dll Library bcryptprimitives.dll (which is needed by L"Z:\\tmp\\test-gcc\\rust\\target\\i686-pc-windows-gnu\\debug\\rust-test.exe") not found
0009:err:module:LdrInitializeThunk Importing dlls for L"Z:\\tmp\\test-gcc\\rust\\target\\i686-pc-windows-gnu\\debug\\rust-test.exe" failed, status c0000135
```

Fixed with ubuntu 22.04:

```
wine: Call from 00006FFFFFC4FCF8 to unimplemented function KERNEL32.dll.WaitOnAddress, aborting
wine: Call from 00006FFFFFC4FCF8 to unimplemented function KERNEL32.dll.WakeByAddressSingle, aborting
```
  • Loading branch information
taiki-e committed Mar 2, 2024
1 parent fb08bd1 commit edfab75
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 11 deletions.
2 changes: 2 additions & 0 deletions .github/.cspell/project-dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Icelake
INLINES
isnan
isystem
keyrings
keyserver
lclang
LDFLAGS
Expand Down Expand Up @@ -134,6 +135,7 @@ virt
wasmtime
wchar
WINEBOOT
winehq
WINEPATH
WINEPREFIX
wineserver
Expand Down
2 changes: 1 addition & 1 deletion docker/test/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1077,7 +1077,7 @@ case "${RUST_TARGET}" in
assert_file_info 'for MS Windows' "${bin}"
else
case "${RUST_TARGET}" in
aarch64-*) assert_file_info 'data' "${bin}" ;; # TODO: ?
aarch64-*) assert_file_info 'Aarch64 COFF object file' "${bin}" ;;
i686-*) assert_file_info 'Intel 80386 COFF object file' "${bin}" ;;
x86_64*) assert_file_info 'Intel amd64 COFF object file' "${bin}" ;;
*) bail "unrecognized target '${RUST_TARGET}'" ;;
Expand Down
18 changes: 13 additions & 5 deletions docker/windows-gnu.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0 OR MIT

ARG RUST_TARGET
ARG UBUNTU_VERSION=20.04
ARG UBUNTU_VERSION=22.04
ARG TOOLCHAIN_TAG=dev
ARG HOST_ARCH=amd64

Expand Down Expand Up @@ -55,11 +55,19 @@ case "${dpkg_arch##*-}" in
;;
*) echo >&2 "unsupported architecture '${dpkg_arch}'" && exit 1 ;;
esac
# See https://wiki.winehq.org/Ubuntu when install the latest wine.
# Install the latest wine: https://wiki.winehq.org/Ubuntu
codename=$(grep '^VERSION_CODENAME=' /etc/os-release | sed 's/^VERSION_CODENAME=//')
mkdir -pm755 /etc/apt/keyrings
curl --proto '=https' --tlsv1.2 -fsSL --retry 10 --retry-connrefused https://dl.winehq.org/wine-builds/winehq.key \
| tee /etc/apt/keyrings/winehq-archive.key >/dev/null
curl --proto '=https' --tlsv1.2 -fsSLR --retry 10 --retry-connrefused "https://dl.winehq.org/wine-builds/ubuntu/dists/${codename}/winehq-${codename}.sources" \
| tee "/etc/apt/sources.list.d/winehq-${codename}.sources" >/dev/null
apt-get -o Acquire::Retries=10 -qq update && apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends \
wine-stable \
wine32 \
wine64
winehq-stable \
# apt-get -o Acquire::Retries=10 -qq update && apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends \
# wine-stable \
# wine32 \
# wine64
wine --version
EOF
ARG RUST_TARGET
Expand Down
18 changes: 13 additions & 5 deletions docker/windows-gnullvm.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# - https://github.com/rust-lang/rust/blob/1.70.0/src/doc/rustc/src/platform-support/pc-windows-gnullvm.md

ARG RUST_TARGET
ARG UBUNTU_VERSION=20.04
ARG UBUNTU_VERSION=22.04
ARG TOOLCHAIN_TAG=dev

# https://github.com/mstorsjo/llvm-mingw/releases
Expand Down Expand Up @@ -68,11 +68,19 @@ esac
case "${RUST_TARGET}" in
aarch64* | arm64*) ;;
*)
# See https://wiki.winehq.org/Ubuntu when install the latest wine.
# Install the latest wine: https://wiki.winehq.org/Ubuntu
codename=$(grep '^VERSION_CODENAME=' /etc/os-release | sed 's/^VERSION_CODENAME=//')
mkdir -pm755 /etc/apt/keyrings
curl --proto '=https' --tlsv1.2 -fsSL --retry 10 --retry-connrefused https://dl.winehq.org/wine-builds/winehq.key \
| tee /etc/apt/keyrings/winehq-archive.key >/dev/null
curl --proto '=https' --tlsv1.2 -fsSLR --retry 10 --retry-connrefused "https://dl.winehq.org/wine-builds/ubuntu/dists/${codename}/winehq-${codename}.sources" \
| tee "/etc/apt/sources.list.d/winehq-${codename}.sources" >/dev/null
apt-get -o Acquire::Retries=10 -qq update && apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends \
wine-stable \
wine32 \
wine64
winehq-stable \
# apt-get -o Acquire::Retries=10 -qq update && apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends \
# wine-stable \
# wine32 \
# wine64
wine --version
;;
esac
Expand Down

0 comments on commit edfab75

Please sign in to comment.