Source: wine
Version: 9.0~repack-4
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: syominser...@gmail.com

Hi!

I found a problem that it is impossible to build wine version 9.0~repack-4 from 
source in Debian Trixie amd64.
Also to could be reproduced in Debian Trixie i386.
It is easier and much more important to show how to reproduce problem in Debian 
Trixie amd64, so I will continue for this arch.

Goto page with official Debian Testing Vagrant images:
https://app.vagrantup.com/debian/boxes/testing64

Most recent version is here:
https://app.vagrantup.com/debian/boxes/testing64/versions/20240905.1

Download image for example for virtual box:
```
wget -O debian_trixie_amd64.img 
https://app.vagrantup.com/debian/boxes/testing64/versions/20240905.1/providers/virtualbox/unknown/vagrant.box
```

Import this image into Vagrant:
```
vagrant box add --name "debian/testing64 20240905.1" debian_trixie_amd64.img
```

Create a Vagrantfile:
```
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "debian/testing64 20240905.1"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus = 4
  end
end
```
(number of CPUs and amount of RAM depends of host computer free resources)

Start VM:
```
vagrant up
```

Login into VM:
```
vagrant ssh
```

In VM for all later actions we will use a user called `vagrant`.

Update apt cache:
```
sudo apt update
```

Upgrade the system:
```
sudo apt upgrade
```

Then shutdown, start VM again and login as earlier.

Remove excess packages:
```
sudo apt autoremove
```

Then shutdown, start VM again and login as earlier.

Install dpkg-dev package with tools for package development (including 
dpkg-source necessary to unpack source packages):
```
sudo apt install dpkg-dev
```

Add line for sources in /etc/apt/sources.list:
```
echo "deb-src https://deb.debian.org/debian testing main" | sudo tee -a 
/etc/apt/sources.list
```

Now /etc/apt/sources.list looks like this:
```
deb https://deb.debian.org/debian testing main
deb-src https://deb.debian.org/debian testing main
```

Update apt cache again:
```
sudo apt update
```

Download wine sources:
```
apt source wine
```

In my case I got wine 9.0~repack-4.

Goto into folder with extracted sources and install necessary build deps:
```
sudo apt build-dep .
```

Try to build wine package using dpkg-buildpackage:
```
dpkg-buildpackage -b -uc
```

Full log is very big, so I will place here only small fragment with cuts:
```
cd dlls/winevulkan && ./make_vulkan -x /usr/share/vulkan/registry/vk.xml
Traceback (most recent call last):
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
3927, in <module>
    main()
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
3897, in main
    generator = VkGenerator(registry)
                ^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2667, in __init__
    conversions = func.get_conversions()
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 688, 
in get_conversions
    conversions.extend(param.get_conversions(self.unwrap))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1398, in get_conversions
    conversions.extend(struct.get_conversions(unwrap, is_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2301, in get_conversions
    conversions.extend(e.get_conversions(Unwrap.HOST, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2307, in get_conversions
    conversions.extend(m.get_conversions(unwrap, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<...>
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1398, in get_conversions
    conversions.extend(struct.get_conversions(unwrap, is_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2301, in get_conversions
    conversions.extend(e.get_conversions(Unwrap.HOST, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2307, in get_conversions
    conversions.extend(m.get_conversions(unwrap, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<...>
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1398, in get_conversions
    conversions.extend(struct.get_conversions(unwrap, is_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2301, in get_conversions
    conversions.extend(e.get_conversions(Unwrap.HOST, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
2307, in get_conversions
    conversions.extend(m.get_conversions(unwrap, parent_const))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1408, in get_conversions
    if self.needs_conversion(conv, unwrap, Direction.INPUT, parent_const):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1683, in needs_conversion
    self.needs_conversion(conv, unwrap, Direction.OUTPUT, struct_const):
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vagrant/wine-9.0~repack/dlls/winevulkan/./make_vulkan", line 
1651, in needs_conversion
    if self.is_union() and not self.selector:
       ^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded
make[1]: *** [debian/rules:129: override_dh_auto_configure] Error 1
make[1]: Leaving directory '/home/vagrant/wine-9.0~repack'
make: *** [debian/rules:115: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
```

It is possible to reproduce this problem in the same way when building wine 
from sources in Debian Trixie i386.

Some additional info about host platform:
- Virtual Box 6.1.38 r153438
- Vagrant 2.2.19

-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.10.9-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to