How to build 32 bit wine using org.freedesktop.Sdk.Compat.i386?

flatpak install flathub org.freedesktop.Platform.Compat.i386/x86_64/20.08
flatpak-builder --arch=i386 build-dir --force-clean wine.yml

giving error:

bwrap: execvp ./configure: No such file or directory

Whereas 64bit sdk: org.freedesktop.Sdk find ./configure and starts the building process, 32 bit (as above can’t find configure); How to build 32 bit wine using compat.i386 sdk?

Here’s the yml

---
app-id: org.winehq.wine
branch: master
runtime: org.freedesktop.Platform.Compat.i386/x86_64
sdk: org.freedesktop.Sdk.Compat.i386/x86_64
runtime-version: '20.08'

command: wine
build-options:
  cflags: "-O1 -pipe"
  env:
    WINEPREFIX: "/var/data/winedir"
    WINEDLLOVERRIDES: mscoree=d;mshtml=d
    V: '0'
finish-args:
- "--socket=x11"
- "--device=dri"
- "--allow=multiarch"
- "--socket=pulseaudio"
- "--filesystem=xdg-documents"
modules:
- name: wine
  build-options:
    make-args:
#    - "--silent"
  config-opts:
  - "--libdir=/app/lib"
  - "--enable-win64"
  - "--disable-win16"
  - "--with-x"
  - "--without-cups"
  - "--without-curses"
  - "--without-capi"
  - "--without-glu"
  - "--without-gphoto"
  - "--without-gsm"
  - "--without-hal"
  - "--without-ldap"
  - "--without-netapi"
  cleanup:
  - "/bin/function_grep.pl"
  - "/bin/msiexec"
  - "/bin/widl"
  - "/bin/wine64-preloader"
  - "/bin/winebuild"
  - "/bin/wineconsole"
  - "/bin/winedbg"
  - "/bin/winefile"
  - "/bin/winegcc"
  - "/bin/winemine"
  - "/bin/wrc"
  - "/bin/msidb"
  - "/bin/notepad"
  - "/bin/regsvr32"
  - "/bin/wineboot"
  - "/bin/winecfg"
  - "/bin/winecpp"
  - "/bin/winedump"
  - "/bin/wineg++"
  - "/bin/winemaker"
  - "/bin/winepath"
  - "/bin/wmc"
  - "/include"
  - "/share/man"
  - "/share/applications"
  sources:
  - type: archive
    url: https://dl.winehq.org/wine/source/5.0/wine-5.0.3.tar.xz
    sha256: 9c1a35362fd513dff5c845bf76da63ea105a794ac7144aa503f71361af36d22f

I would not pass --arch=i386. There is no 20.08 runtime for i386 and you are using the compat i386 layer on top of x86_64 (it should be enough)

Also you want to build i386 but pass --enable-win64 to the configure? (maybe I misunderstand what it does)

org.freedesktop.Platform.Compat.i386 is not a runtime - only an extension for the runtime. You have to base your application on org.freedesktop.Platform/x86_64/20.08 and add the extensions via sdk-extensions (to make them available while building) & add-extensions (runtime).

You can take a look at flathub/com.valvesoftware.Steam as an example. You’ll need at least these extensions:

sdk-extensions:

  • org.freedesktop.Sdk.Compat.i386
  • org.freedesktop.Sdk.Extension.toolchain-i386

add-extensions:

  • org.freedesktop.Platform.Compat.i386
  • org.freedesktop.Platform.GL32

Also take a look at modules-32bit.yml on how to configure your modules.

If you’re just trying to build Wine32 (and not WoW64) you can look at the Fightcade Flatpak manifest, https://github.com/flathub/com.fightcade.Fightcade/blob/master/com.fightcade.Fightcade.yml

1 Like

Thank you so much, as i386 sdk and platform of 1.6 and 18.08 is going obsolete, I just want to save my paid Games and Applications in flatpaks, so that I don’t have to install and configure wine and apps everytime I want to use them. Flatpaked wine is just like wine bottles and it will be cross distribution.

I hope WoW64 would also be possible. Thanks Again!

I think I’ve built a wow64 wine with flatpak-builder, please test https://github.com/fastrizwaan/flatpak-wine/tree/main/wine-x86_64

Could you please reshare the file, it’s been removed from Github. I was planning to use it to try WoW64 this weekend in my Flatpak.

Edit: Nevermind, I see it’s just been moved; https://github.com/fastrizwaan/flatpak-wine/blob/7ccd4bc71622361fd87af7b4c1275132c7e8fa4d/org.winehq.flatpak-wine/org.winehq.flatpak-wine.yml

here’s a link to a commit rather than tip of tree for anyone who comes across this 404