CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Linux
Discussion about CrossOver Linux

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Building cxoffice-wine from source - Virtual Machines & Debian/KDE | Request for Comments

Building cxoffice-wine from source - Virtual Machines & Debian/KDE | Request for Comments

202506_b5c2845d-290a-44cd-ae2e-0f902f6d5173

Audience

  • Users that are new to building cxoffice-wine from source
  • Users experienced in building cxoffice-wine from source
  • cxoffice-wine developers

References

ID Title / Link
REF01 "DOWNLOAD FOSS CODE FOR CROSSOVER 25.0.1"
https://www.codeweavers.com/crossover/source
REF02 "Updated guide (for CrossOver 20.0.0)"
https://gist.github.com/sarimarton/471e9ff8046cc746f6ecb8340f942647#updated-guide-for-crossover-2000
REF03 "Working on Wine Part 2 - Wine's Build Process"
https://www.codeweavers.com/blog/aeikum/2019/1/8/working-on-wine-part-2-wines-build-process
REF04 "Building Wine"
https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64
REF05 "Building Biarch Wine On Ubuntu"
https://gitlab.winehq.org/wine/wine/-/wikis/Building-Biarch-Wine-On-Ubuntu
REF06 "libgstreamer-plugins-base1.0-dev: please return to Multi-Arch: same by moving GstAudio-1.0.gir to ${libdir}/gir-1.0"
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016631#15
REF07 "OSS4 in Debian"
https://wiki.debian.org/OSS
REF08 "Installation of cxoffice - Virtual Machine & Debian/KDE | Request for Comments"
https://www.codeweavers.com/support/forums/general/?t=26;msg=330215

Introduction

This text documents a step-by-step procedure for building cxoffice-wine reproducibly from source.
To that end separate Virtual Machines running out-of-the box Debian/KDE are used.
All packages mentioned are from the default Debian repositories.

Special Thanks

My thanks to all the authors and contributors to the publications referenced in this text.

Intended outcome

The aim is to provide an easy to follow QuickStart instruction on how to build cxoffice-wine from the source code provided by CodeWeavers, just like a number of the referenced publications intend to do for Wine.

In this procedure, a container approach similar to REF05 is used with the difference being the use of Virtual Machines and completely separate set-ups for the 64-bit and 32-bit build environments. This allows for independent debugging of the set-ups without having to worry about dependency issues, as well as cloning of (intermediate) known-good states, making debugging easier.

In case something goes wrong, the ISSUES listed and output messages included (for erroneous as well as some for normal behaviour) may help with identifying the cause.

Finally, a LookUpTable is given at the end of this text which details configure-script messages/warnings, and commands to address those.

As the environments consist of out-of-the box Debian, the procedure should work for Debian and derivatives.

It would be appreciated, if readers could

  • comment on any bugs in this text

  • comment on any improvements/simplifications that could be made

  • comment on whether they can reproduce any or all of the issues listed

  • comment on other issues they experience (ideally with potential fixes/workarounds)

  • improve the cxoffice-wine source code .tar.gz and the configure-script to address some of the ISSUES, if they have the means to do so

  • publish a best practice on how to work around ISSUE06 on a Multi-Arch installation

    ISSUE06 seems to be the single issue that makes building on Multi-Arch messy, any recommendations would help

Versions

  • Debian 12.10.0 with KDE

  • VirtualBox 7.1.8 with GuestAdditions

  • cxoffice 25.0.1 (identifies as wine-10.0)

Issues found

  • ISSUE01:

    distversion.h missing from /mnt/RAMdisk/sources/wine/programs/winedbg/ causing make to fail, as reported by Marton Sari in REF02.

    The issue was raised as (requires login) https://www.codeweavers.com/support/tickets/browse/?ticket_id=1470720.

    ../wine/programs/winedbg/resource.h:23: error: distversion.h: No such file or directory
    ../wine/programs/winedbg/crashdlg.c:29: note: resource.h was first included here
    config.status: error: could not create Makefile
  • ISSUE02:

    Running configure for wine.wow64 with --with-wine64 but without --with-wine-tools fails.

    ./config.status: 534: ../wine.win64/tools/makedep: Exec format error
    config.status: error: could not create Makefile
  • ISSUE03:

    When using a relative path for configure like --with-wine64=../wine.win64, then as a result the generated Makefile points to a non-existing directory, namely ../../wine.win64 instead of ../wine.win64.

    Note: configure also appears to dislike '~/'.

    rm -f loader/wine64 && cp -pR ../../wine.win64/loader/wine64 loader/wine64
    rm -f loader/wine64-preloader && cp -pR ../../wine.win64/loader/wine64-preloader loader/wine64-preloader
    rm -f ../wine.win64/loader/wine && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine ../wine.win64/loader/wine
    rm -f ../wine.win64/loader/wine-preloader && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader ../wine.win64/loader/wine-preloader
    cp: cannot stat '../../wine.win64/loader/wine64': No such file or directory
    cp: cannot stat '../../wine.win64/loader/wine64-preloader': No such file or directory
    cp: cannot stat '/home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader': No such file or directory
    cp: cannot stat '/home/vbox/RAMdisk/sources/wine.wow64/loader/wine': No such file or directory
    make: *** [Makefile:1468: loader/wine64] Error 1
    make: *** Waiting for unfinished jobs....
    make: *** [Makefile:1468: loader/wine64-preloader] Error 1
    make: *** [Makefile:1470: ../wine.win64/loader/wine] Error 1
    make: *** [Makefile:1472: ../wine.win64/loader/wine-preloader] Error 1
  • ISSUE04:

    configure attempts to copy non-existing files wine and wine-preloader.

    rm -f loader/wine64 && cp -pR /home/vbox/RAMdisk/sources/wine.win64/loader/wine64 loader/wine64
    rm -f loader/wine64-preloader && cp -pR /home/vbox/RAMdisk/sources/wine.win64/loader/wine64-preloader loader/wine64-preloader
    rm -f /home/vbox/RAMdisk/sources/wine.win64/loader/wine && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine /home/vbox/RAMdisk/sources/wine.win64/loader/wine
    rm -f /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader
    cp: cannot stat '/home/vbox/RAMdisk/sources/wine.wow64/loader/wine': No such file or directory
    cp: cannot stat '/home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader': No such file or directory
    make: *** [Makefile:1470: /home/vbox/RAMdisk/sources/wine.win64/loader/wine] Error 1
    make: *** Waiting for unfinished jobs....
    make: *** [Makefile:1472: /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader] Error 1
  • ISSUE05:

    wine.wow64 make install on the target fails, if the wine.wow64 make install on the 32-bit build system was omitted earlier.

    gcc -c -o dlls/msvcr70/mathf.o ../wine/dlls/msvcrt/mathf.c -Idlls/msvcr70 -I../wine/dlls/msvcr70 \
      -I../wine/dlls/msvcrt -Iinclude -I../wine/include -I../wine/include/msvcrt -D_MSVCR_VER=70 \
      -D__WINESRC__ -D_CRTIMP= -Wall -pipe -fcf-protection=none -fvisibility=hidden -fno-stack-protector \
      -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Winit-self \
      -Wlogical-op -Wno-packed-not-aligned -Wpointer-arith -Wshift-overflow=2 -Wstrict-prototypes \
      -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wno-misleading-indentation \
      -gdwarf-4 -fno-PIC -fasynchronous-unwind-tables -D_WIN32 -fno-builtin -fshort-wchar -Wno-format \
      -fno-omit-frame-pointer -g -O2
    ../wine/dlls/msvcrt/mathf.c:62:7: error: conflicting types for ¬タリpowf¬タル; have ¬タリfloat(float,  float)¬タル
       62                          | float powf(float x, float y) { return pow(x, y); }
          |       ^~~~
    ../wine/dlls/msvcrt/mathf.c:39:15: note: previous declaration of ¬タリpowf¬タル with type ¬タリfloat(float,  float)¬タル
       39                          | float __cdecl powf(float, float);
          |               ^~~~
    make: *** [Makefile:126958: dlls/msvcr70/mathf.o] Error 1
  • ISSUE06:

    Installing libgstreamer-plugins-base1.0-dev:i386 and libgstreamer-plugins-base1.0-dev fails on Multi-Arch systems.

    According to Helmut Grohne REF06, this is because of GstAudio-1.0.gir.

    The following packages have unmet dependencies:
     libgstreamer-plugins-base1.0-dev : Conflicts: libgstreamer-plugins-base1.0-dev:i386 but 1.22.0-3+deb12u4 is to be installed
     libgstreamer-plugins-base1.0-dev:i386 : Conflicts: libgstreamer-plugins-base1.0-dev but 1.22.0-3+deb12u4 is to be installed
  • ISSUE07:

    According to REF07 oss4-dev is not supported by Debian.

    OSS4 packages are, as of March 2020, present only in DebianUnstable and DebianOldOldStable.
  • ISSUE08:

    Installing libpcsclite-dev:i386 on a Multi-Arch system fails due to Python dependency conflicts.

    This odd issue occurs when using

    sudo apt-get install libpcsclite-dev:i386
    
    The following packages have unmet dependencies:
     python3 : PreDepends: python3-minimal (= 3.11.2-1+b1) but it is not going to be installed
        Depends: python3.11 (>= 3.11.2-1~) but it is not going to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    Warning:

    It was also noticed that when libpcsclite-dev was already installed on the Multi-Arch system, installing libpcsclite-dev:i386 results in apt-get trying to remove a large number of files, potentially wrecking the system.

    Using this command instead seems to work around the issue

    sudo apt-get install libpcsclite-dev:i386 libpcsclite-dev

Prerequisites

  1. Host with RAMdisk mounted as /mnt/RAMdisk/ and used as SharedDrive, containing

    • cxoffice-wine source code from REF01

    • distversion.h from REF02, included in Appendix "Reprint of distversion.h" of this text

    • 64-bit Windows test program

      E.g. "HelloWorld64.exe" built from VisualStudio's default console program "helloworld"

    • 32-bit Windows test program

      E.g. "HelloWorld32.exe" built from VisualStudio's default console program "helloworld"

  2. VirtualBox Virtual Machines

    • 8 cores in this example, adjust as required

    • Debian & KDE

    • user "vbox"

    • no previous cxoffice-wine or Wine installation and

    • SharedDrive mounted as /home/vbox/RAMdisk

    with

    1. VM-64: Virtual Machine, amd64

      Packages added as part of the GuestAdditions installation

      sudo apt-get install gcc make perl linux-headers-6.1.0.37-amd64 synaptic
    2. VM-32: Virtual Machine, i386

      Packages added as part of the GuestAdditions installation

      sudo apt-get install gcc make perl linux-headers-6.1.0.37-686-pae synaptic
    3. VM-Tgt: Virtual Machine with standard CrossOver installation

      As per REF08

    4. VM-Bi: Virtual Machine, Multi-Arch, optional

      Not used for the build procedure, but to verify the validity of the LookUpTable Multi-Arch content

      Packages added as part of the GuestAdditions installation

      sudo apt-get install gcc make perl linux-headers-6.1.0.37-amd64 synaptic

      Added i386 architecture

      sudo dpkg --add-architecture i386
      sudo apt update

Initial steps

Host

  1. Change to SharedDrive

    cd /mnt/RAMdisk/
  2. Extract source code

    tar -xf crossover-sources-25.0.1.tar.gz
  3. Copy distversion.h to winedbg directory to work around ISSUE01

    cp distversion.h sources/wine/programs/winedbg/
  4. Create build directories

    cd sources/
    
    mkdir wine.win64 wine.win32 wine.wow64

VM-64 & VM-32

  1. Install Debian development packages as per LookUpTable

    Commands 02 through 28 (g++ to libgstreamer-plugins-base1.0-dev).

VM-Tgt

  1. Install gcc-mingw-w64 to enable make install step

    sudo apt-get install gcc-mingw-w64

    Without gcc-mingw-w64 the make install step on the target fails with

    STRIPPROG="strip" ../wine/tools/install-sh  server/wineserver /usr/local/bin/wineserver
    tools/winebuild/winebuild -w --implib -o dlls/aclui/libaclui.a -m64 --export ../wine/dlls/aclui/aclui.spec
    tools/winebuild/winebuild -w --implib -o dlls/aclui/x86_64-windows/libaclui.a --without-dlltool -b x86_64-w64-mingw32 --export \
      ../wine/dlls/aclui/aclui.spec
    winebuild : No such file or directory
    make: *** [Makefile:1624: dlls/aclui/x86_64-windows/libaclui.a] Error 1

VM-Bi, if interested in verifying LookUpTable Multi-Arch content

  1. Install Debian development packages as per LookUpTable

    Commands 01 to 28 (gcc-multilib to libgstreamer-plugins-base1.0-dev)

Building 64-bit cxoffice-wine

VM-64

These steps are per REF03, REF04 "64-bit version" and REF05 "Build 64-bit Wine".

  1. Change to wine.win64 build directory on SharedDrive

    cd $HOME/RAMdisk/sources/wine.win64/
  2. Run configure

    ../wine/configure --enable-win64
  3. Build cxoffice-wine 64-bit

    make -j8
  4. Check that cxoffice-wine 64-bit was built correctly

    WINEARCH=win64 WINEPREFIX=$HOME/wine.win64.noinst ./wine64 winecfg
    
    wine: created the configuration directory '/home/vbox/wine.win64.noinst'
    002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:shell:create_link failed to connect to mount manager
    wine: could not load ntdll.so: /home/vbox/RAMdisk/sources/wine.win64/dlls/ntdll/ntdll.so: wrong ELF class: ELFCLASS64
    002c:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0128:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0128:err:setupapi:do_file_copyW Unsupported style(s) 0x10

    and

    WINEARCH=win64 WINEPREFIX=$HOME/wine.win64.noinst ./wine64 $HOME/RAMdisk/HelloWorld64.exe
    
    Hello World!

Building 32-bit cxoffice-wine

VM-32

These steps are as per REF04 "chroot or container" (wine32-tools) and REF05 "Build 32-bit Wine" (wine32-tools).

  1. Change to wine.win32 build directory on SharedDrive

    cd $HOME/RAMdisk/sources/wine.win32/
  2. Run configure

    ../wine/configure
  3. Build cxoffice-wine 32-bit

    make -j8
  4. Check that cxoffice-wine 32-bit was built correctly

    WINEARCH=win32 WINEPREFIX=$HOME/wine.win32.noinst ./wine winecfg
    
    wine: created the configuration directory '/home/vbox/wine.win32.noinst'
    002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0120:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0120:err:setupapi:do_file_copyW Unsupported style(s) 0x10

    and

    WINEARCH=win32 WINEPREFIX=$HOME/wine.win32.noinst ./wine $HOME/RAMdisk/HelloWorld32.exe
    
    Hello World!

Building 64/32-bit cxoffice-wine

VM-32, continued

  1. Change to wine.wow64 build directory on SharedDrive

    cd $HOME/RAMdisk/sources/wine.wow64/

Attempt build of cxoffice-wine as per REF03 - fails with ISSUE02

  1. Run configure using option --with-wine64 only

    ../wine/configure --with-wine64=../wine.win64

Attempt build of cxoffice-wine as per REF04 "chroot or container" (wine32-combo) - fails with ISSUE03

  1. Run configure using options --with-wine64 and --with-wine-tools and relative paths ("../")

    ../wine/configure --with-wine64=../wine.win64 --with-wine-tools=../wine.win32
  2. Build cxoffice-wine

    make -j8

Attempt build of cxoffice-wine as per REF05 "Build 32-bit Wine" (wine32) - fails with ISSUE04

  1. Run configure using options --with-wine64 and --with-wine-tools and absolute paths ("$HOME/")

    ../wine/configure --with-wine64=$HOME/RAMdisk/sources/wine.win64 --with-wine-tools=$HOME/RAMdisk/sources/wine.win32
  2. Build cxoffice-wine

    make -j8

Build cxoffice-wine as per REF05 "Build 32-bit Wine" (wine32), but with manual modifications to Makefile

  1. Run configure using options --with-wine64 and --with-wine-tools and absolute paths ("$HOME/")

    ../wine/configure --with-wine64=$HOME/RAMdisk/sources/wine.win64 --with-wine-tools=$HOME/RAMdisk/sources/wine.win32
  2. Edit Makefile to comment out the steps for copying wine and wine-preloader (lines 1470 & 1472)

    /home/vbox/RAMdisk/sources/wine.win64/loader/wine:
    #   rm -f $@ && $(LN_S) /home/vbox/RAMdisk/sources/wine.wow64/loader/wine $@
    /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader:
    #   rm -f $@ && $(LN_S) /home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader $@
  3. Build cxoffice-wine

    make -j8
  4. Copy wine and wine-preloader, which seems to be what Makefile intended

    rm -f /home/vbox/RAMdisk/sources/wine.win64/loader/wine && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine /home/vbox/RAMdisk/sources/wine.win64/loader/wine
    
    rm -f /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader && cp -pR /home/vbox/RAMdisk/sources/wine.wow64/loader/wine-preloader /home/vbox/RAMdisk/sources/wine.win64/loader/wine-preloader
  5. Install cxoffice-wine

    Without this step the installation on the target fails with ISSUE05.

    sudo make install
  6. Check that cxoffice-wine 32-bit installation worked

    WINEARCH=win32 WINEPREFIX=$HOME/wine.wow64.inst32 wine winecfg
    
    err:environ:read_nls_file failed to load /usr/local/bin/../share/wine/nls/locale.nls
    err:environ:read_nls_file failed to load /usr/local/bin/../share/wine/nls/l_intl.nls
    wine: created the configuration directory '/home/vbox/wine.wow64.inst32'
    wine: could not exec wineserver
  7. Uninstall cxoffice-wine

    sudo make uninstall
    
    rmdir: failed to remove '/usr/local/lib': Directory not empty
    make: [Makefile:274293: uninstall] Error 1 (ignored)

VM-Tgt

  1. Change to wine.wow64 build directory on SharedDrive

    cd $HOME/RAMdisk/sources/wine.wow64/
  2. Install cxoffice-wine 32-bit

    sudo make install
  3. Change to wine.win64 build directory on SharedDrive

    cd $HOME/RAMdisk/sources/wine.win64/
  4. Install cxoffice-wine 64-bit

    sudo make install
  5. Check that cxoffice-wine 32-bit installation worked

    WINEARCH=win32 WINEPREFIX=$HOME/wine.wow64.inst32 wine winecfg
    
    wine: created the configuration directory '/home/vbox/wine.wow64.inst32'
    002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0120:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0120:err:setupapi:do_file_copyW Unsupported style(s) 0x10

    and

    WINEARCH=win32 WINEPREFIX=$HOME/wine.wow64.inst32 wine $HOME/RAMdisk/HelloWorld32.exe
    
    Hello World!
  6. Check that cxoffice-wine 64-bit installation worked

    WINEARCH=win64 WINEPREFIX=$HOME/wine.wow64.inst64 wine winecfg
    
    wine: created the configuration directory '/home/vbox/wine.wow64.inst64'
    002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
    002c:fixme:shell:create_link failed to connect to mount manager
    002c:fixme:shell:create_link failed to connect to mount manager
    010c:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0130:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
    0130:err:setupapi:do_file_copyW Unsupported style(s) 0x10

    and

    WINEARCH=win64 WINEPREFIX=$HOME/wine.wow64.inst64 wine $HOME/RAMdisk/HelloWorld64.exe
    
    Hello World!

Fin


Addendum - Reprint of distversion.h REF02

    /* ---------------------------------------------------------------
    *   distversion.c
    *
    * Copyright 2013, CodeWeavers, Inc.
    *
    * Information from DISTVERSION which needs to find
    * its way into the wine tree.
    * --------------------------------------------------------------- */

    #define WINDEBUG_WHAT_HAPPENED_MESSAGE "This can be caused by a problem in the program or a deficiency in Wine. You may want to check <a href=\"http://www.codeweavers.com/compatibility/\">http://www.codeweavers.com/compatibility/</a> for tips about running this application."

    #define WINDEBUG_USER_SUGGESTION_MESSAGE "If this problem is not present under Windows and has not been reported yet, you can save the detailed information to a file using the \"Save As\" button, then <a href=\"http://www.codeweavers.com/support/tickets/enter/\">file a bug report</a> and attach that file to the report."

Addendum - LookUpTable

This LookUpTable lists

  • Commands needed to install the packages required to address configure-script messages/warnings (number_name)
  • Messages/warnings addressed by that particular command (number_Msg-index)

Observed issues:

  • libgstreamer-plugins-base1.0-dev on Multi-Arch causes ISSUE06
  • OSS4 is not included in this LookUpTable because of ISSUE07
  • libpcsclite-dev:i386 on Multi-Arch may cause issues, see ISSUE08

Recommendation:

Use apt-get install --simulate first before modifying a system, this may avoid some grief with dependency conflicts and inadvertently removed packages.

ID Commands & Messages/Warnings
01_gcc-multilib (VM-Bi) sudo apt-get install gcc-multilib
01_Msg-101_32-bit checking whether gcc -m32 works... no
01_Msg-102_32-bit configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.
02_g++ (All VM) sudo apt-get install g++
02_Msg-101 checking for g++... no
02_Msg-102 checking for c++... no
02_Msg-103 checking for gpp... no
02_Msg-104 checking for aCC... no
02_Msg-105 checking for CC... no
02_Msg-106 checking for cxx... no
02_Msg-107 checking for cc++... no
02_Msg-108 checking for cl.exe... no
02_Msg-109 checking for FCC... no
02_Msg-110 checking for KCC... no
02_Msg-111 checking for RCC... no
02_Msg-112 checking for xlC_r... no
02_Msg-113 checking for xlC... no
02_Msg-114 checking for clang++... no
02_Msg-115 checking whether the compiler supports GNU C++... no
02_Msg-116 checking whether g++ accepts -g... no
02_Msg-117 checking for g++ option to enable C++11 features... unsupported
02_Msg-118 checking for g++ option to enable C++98 features... unsupported
03_flex (All VM) sudo apt-get install flex
03_Msg-101 checking for flex... no
03_Msg-102 configure: error: no suitable flex found. Please install the 'flex' package.
04_bison (All VM) sudo apt-get install bison
04_Msg-101 checking for bison... no
04_Msg-102 configure: error: no suitable bison found. Please install the 'bison' package.
05_gcc-mingw-w64 (All VM) sudo apt-get install gcc-mingw-w64
05_Msg-101_64-bit checking for x86_64-w64-mingw32-gcc... no
05_Msg-102_64-bit checking for amd64-w64-mingw32-gcc... no
05_Msg-103_64-bit checking for x86_64-w64-mingw32-clang... no
05_Msg-104_64-bit checking for amd64-w64-mingw32-clang... no
05_Msg-201_32-bit checking for i686-w64-mingw32-gcc... no
05_Msg-202_32-bit checking for i586-w64-mingw32-gcc... no
05_Msg-203_32-bit checking for i486-w64-mingw32-gcc... no
05_Msg-204_32-bit checking for i386-w64-mingw32-gcc... no
05_Msg-205_32-bit checking for i686-w64-mingw32-clang... no
05_Msg-206_32-bit checking for i586-w64-mingw32-clang... no
05_Msg-207_32-bit checking for i486-w64-mingw32-clang... no
05_Msg-208_32-bit checking for i386-w64-mingw32-clang... no
05_Msg-301 checking for clang... no
05_Msg-401_64-bit checking whether false supports -target x86_64-windows -fuse-ld=lld -Wl,-subsystem:console -Wl,-WX --no-default-config... no
05_Msg-402_64-bit checking whether false supports -target x86_64-windows -fuse-ld=lld -Wl,-subsystem:console -Wl,-WX... no
05_Msg-403_64-bit checking whether false works... no
05_Msg-501_32-bit checking whether false supports -target i686-windows -fuse-ld=lld -Wl,-subsystem:console -Wl,-WX --no-default-config... no
05_Msg-502_32-bit checking whether false supports -target i686-windows -fuse-ld=lld -Wl,-subsystem:console -Wl,-WX... no
05_Msg-503_32-bit checking whether false works... no
06_libsdl2-dev (VM-64 & VM-32) sudo apt-get install libsdl2-dev
06_libsdl2-dev (VM-Bi) sudo apt-get install libsdl2-dev:i386 libsdl2-dev
06_Msg-101 checking for pkg-config... no
06_Msg-102 checking for pkg-config... no
06_Msg-103 checking for EGL/egl.h... no
06_Msg-104 checking for X... no
06_Msg-105 checking for wayland-client.h... no
06_Msg-106 checking for xkbcommon/xkbcommon.h... no
06_Msg-107 checking for xkb_context_new in -lxkbcommon... no
06_Msg-108 checking for EGL/egl.h... (cached) no
06_Msg-109 checking for wayland-egl.h... no
06_Msg-110 configure: error: X ??? development files not found. Wine will be built
06_Msg-111 without X support, which probably isn't what you want. You will need
06_Msg-112 to install ??? development packages of Xlib at the very least.
06_Msg-113 Use the --without-x option if you really want this.
07_libfontconfig-dev (VM-64 & VM-32) sudo apt-get install libfontconfig-dev
07_libfontconfig-dev (VM-Bi) sudo apt-get install libfontconfig-dev:i386 libfontconfig-dev
07_Msg-101 checking for ft2build.h... no
07_Msg-102 configure: error: FreeType ??? development files not found. Fonts will not be built.
07_Msg-103 Use the --without-freetype option if you really want this.
08_libunwind-dev (VM-64 & VM-32) sudo apt-get install libunwind-dev
08_libunwind-dev (VM-Bi) sudo apt-get install libunwind-dev:i386 libunwind-dev
08_Msg-101_64-bit checking for unw_step in libunwind... no
09_gettext (All VM) sudo apt-get install gettext
09_Msg-101 checking for msgfmt... no
09_Msg-102 configure: WARNING: gettext tools not found (or too old), translations won't be built.
10_libosmesa6-dev (VM-64 & VM-32) sudo apt-get install libosmesa6-dev
10_libosmesa6-dev (VM-Bi) sudo apt-get install libosmesa6-dev:i386 libosmesa6-dev
10_Msg-101 checking for -lOSMesa... not found
10_Msg-102 config.status: include/config.h is unchanged
10_Msg-103 configure: libOSMesa ??? development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
11_libgnutls28-dev (VM-64 & VM-32) sudo apt-get install libgnutls28-dev
11_libgnutls28-dev (VM-Bi) sudo apt-get install libgnutls28-dev:i386 libgnutls28-dev
11_Msg-101 checking for gnutls/gnutls.h... no
11_Msg-102 configure: WARNING: libgnutls ??? development files not found, no schannel support.
12_libxcomposite-dev (VM-64 & VM-32) sudo apt-get install libxcomposite-dev
12_libxcomposite-dev (VM-Bi) sudo apt-get install libxcomposite-dev:i386 libxcomposite-dev
12_Msg-101 checking for X11/extensions/Xcomposite.h... no
12_Msg-102 configure: libxcomposite ??? development files not found, Xcomposite won't be supported.
13_libxkbregistry-dev (VM-64 & VM-32) sudo apt-get install libxkbregistry-dev
13_libxkbregistry-dev (VM-Bi) sudo apt-get install libxkbregistry-dev:i386 libxkbregistry-dev
13_Msg-101 checking for xkbcommon/xkbregistry.h... no
13_Msg-102 checking for rxkb_context_new in -lxkbregistry... no
13_Msg-103 configure: Wayland ??? development files not found, the Wayland driver won't be supported.
14_ocl-icd-opencl-dev (VM-64 & VM-32) sudo apt-get install ocl-icd-opencl-dev
14_ocl-icd-opencl-dev (VM-Bi) sudo apt-get install ocl-icd-opencl-dev:i386 ocl-icd-opencl-dev
14_Msg-101 checking for CL/cl.h... no
14_Msg-102 configure: OpenCL ??? development files not found, OpenCL won't be supported.
15_libpcap-dev (VM-64 & VM-32) sudo apt-get install libpcap-dev
15_libpcap-dev (VM-Bi) sudo apt-get install libpcap-dev:i386 libpcap-dev
15_Msg-101 checking for pcap/pcap.h... no
15_Msg-102 configure: pcap ??? development files not found, wpcap won't be supported.
16_libpcsclite-dev (VM-64 & VM-32) sudo apt-get install libpcsclite-dev
16_libpcsclite-dev (VM-Bi) sudo apt-get install libpcsclite-dev:i386 libpcsclite-dev
16_Msg-101 checking for SCardEstablishContext in -lpcsclite... no
16_Msg-102 configure: libpcsclite not found, smart cards won't be supported.
17_libsane-dev (VM-64 & VM-32) sudo apt-get install libsane-dev
17_libsane-dev (VM-Bi) sudo apt-get install libsane-dev:i386 libsane-dev
17_Msg-101 checking for sane/sane.h... no
17_Msg-102 configure: libsane ??? development files not found, scanners won't be supported.
18_libusb-1.0-0-dev (VM-64 & VM-32) sudo apt-get install libusb-1.0-0-dev
18_libusb-1.0-0-dev (VM-Bi) sudo apt-get install libusb-1.0-0-dev:i386 libusb-1.0-0-dev
18_Msg-101 checking for libusb.h... no
18_Msg-102 configure: libusb-1.0 ??? development files not found (or too old), USB devices won't be supported.
19_libv4l-dev (VM-64 & VM-32) sudo apt-get install libv4l-dev
19_libv4l-dev (VM-Bi) sudo apt-get install libv4l-dev:i386 libv4l-dev
19_Msg-101 checking for -lv4l2... not found
19_Msg-102 config.status: include/config.h is unchanged
19_Msg-103 configure: libv4l2 ??? development files not found.
20_libgphoto2-dev (VM-64 & VM-32) sudo apt-get install libgphoto2-dev
20_libgphoto2-dev (VM-Bi) sudo apt-get install libgphoto2-dev:i386 libgphoto2-dev
20_Msg-101 checking for gphoto2-camera.h... no
20_Msg-102 checking for gphoto2-port.h... no
20_Msg-103 configure: libgphoto2 ??? development files not found, digital cameras won't be supported.
20_Msg-104 configure: libgphoto2_port ??? development files not found, digital cameras won't be auto-detected.
21_libavdevice-dev (VM-64 & VM-32) sudo apt-get install libavdevice-dev
21_libavdevice-dev (VM-Bi) sudo apt-get install libavdevice-dev:i386 libavdevice-dev
21_Msg-101 checking for libavutil/avutil.h... no
21_Msg-102 checking for libavformat/avformat.h... no
21_Msg-103 checking for libavcodec/avcodec.h... no
21_Msg-104 checking for libavcodec/bsf.h... no
21_Msg-105 configure: FFmpeg ??? development files not found.
22_libcapi20-dev (VM-64 & VM-32) sudo apt-get install libcapi20-dev
22_libcapi20-dev (VM-Bi) sudo apt-get install libcapi20-dev:i386 libcapi20-dev
22_Msg-101 checking for capi20.h... no
22_Msg-102 configure: libcapi20 ??? development files not found, ISDN won't be supported.
23_libcups2-dev (VM-64 & VM-32) sudo apt-get install libcups2-dev
23_libcups2-dev (VM-Bi) sudo apt-get install libcups2-dev:i386 libcups2-dev
23_Msg-101 checking for cups/cups.h... no
23_Msg-102 checking for cups/ppd.h... no
23_Msg-103 configure: libcups ??? development files not found, CUPS won't be supported.
24_libkrb5-dev (VM-64 & VM-32) sudo apt-get install libkrb5-dev
24_libkrb5-dev (VM-Bi) sudo apt-get install libkrb5-dev:i386 libkrb5-dev
24_Msg-101 checking for krb5/krb5.h... no
24_Msg-102 configure: libkrb5 ??? development files not found (or too old), Kerberos won't be supported.
25_samba-dev (VM-64 & VM-32) sudo apt-get install samba-dev
25_samba-dev (VM-Bi) sudo apt-get install samba-dev:i386 samba-dev
25_Msg-101 checking for -lnetapi... not found
25_Msg-102 configure: libnetapi not found, Samba NetAPI won't be supported.
26_libvulkan-dev (VM-64 & VM-32) sudo apt-get install libvulkan-dev
26_libvulkan-dev (VM-Bi) sudo apt-get install libvulkan-dev:i386 libvulkan-dev
26_Msg-101 checking for -lvulkan... not found
26_Msg-102 checking for -lMoltenVK... not found
26_Msg-103 configure: libvulkan and libMoltenVK ??? development files not found, Vulkan won't be supported.
27_valgrind (All VM) sudo apt-get install valgrind
27_Msg-101 checking for valgrind/memcheck.h... no
27_Msg-102 checking for valgrind/valgrind.h... no
28_libgstreamer-plugins-base1.0-dev (VM-64 & VM-32) sudo apt-get install libgstreamer-plugins-base1.0-dev
28_libgstreamer-plugins-base1.0-dev (VM-Bi) - ISSUE06 sudo apt-get install libgstreamer-plugins-base1.0-dev:i386 libgstreamer-plugins-base1.0-dev
28_Msg-101 checking for gst/gst.h... no
28_Msg-102 configure: gstreamer-1.0 base plugins ??? development files not found, GStreamer won't be supported.

well, this guide is really detailed and thats good since people can easily follow it

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy.
You can accept the use of cookies or other identifiers by clicking the Accept button. By clicking Reject, this disables 3rd party tracking.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzUwNjkyMDk4LCJjc3JmX3Rva2VuIjoiV0ZFOEZ3TkpNZk1Hazd1UyIsImdkcHIiOm51bGx9