The wiki page for emulators/i386-wine(-devel|-compholio), the port for delivering a 32-bit Wine (for running 32-bit Microsoft Windows applications) capable of installing and running under FreeBSD/amd64.

This port can only be built in an i386 environment as the FreeBSD Port's Collection does not support cross compiling.

Packages

Packages for i386-wine(-devel|-compholio) are provided for all supported FreeBSD releases and FreeBSD-current via the normal FreeBSD Ports repository.

You do need a system installed with lib32 libraries. If unsure, test if /libexec/ld-elf32.so.1 is present on your system. If not you can fetch the set "lib32.txz" from the FreeBSD FTP Archives and install it the following way (for example, on an amd64 installation of 10.1-RELEASE):

# fetch -arRo /tmp/ https://download.freebsd.org/ftp/releases/amd64/10.1-RELEASE/lib32.txz
# tar -xpf /tmp/lib32.txz -C /

To install wine do one of the following:

# pkg install i386-wine

for the stable version of wine,

# pkg install i386-wine-devel

for the development version of wine, or

# pkg install i386-wine-staging

for the staging version of wine.

Alternatively you can install directly from the Ports Collection under emulators/i386-wine(-devel|-compholio) however both approaches uses the same precompiled binaries. For example:

# cd /usr/ports/emulators/i386-wine-devel
# make install

To update the installed wine:

# pkg upgrade



Port options

The precompiled packages are compiled using the following options:

Option

Description

CUPS

CUPS printing system support

GNUTLS

SSL/TLS support via GnuTLS

HAL

HAL (Hardware Abstraction Layer) support

LIBXSLT

Use libxslt (only used by msxml3.dll)

OPENAL

OpenAL support

X11

X11 (graphics) support

Building

To build the i386-Wine port an i386 environment is required. If such an environment is not available then it can be created from FreeBSD/amd64:

# cd /usr/src
# make buildworld TARGET=i386
# make installworld TARGET=i386 DESTDIR=/compat/i386
# make distribution TARGET=i386 DESTDIR=/compat/i386
# mkdir /compat/i386/usr/ports
# mount -t devfs devfs /compat/i386/dev
# mount -t nullfs /usr/ports /compat/i386/usr/ports

When chrooting to /compat/i386 do these additional setups:

# chroot /compat/i386
# setenv MACHINE i386
# setenv UNAME_m i386
# setenv UNAME_p i386
# service ldconfig start

Lastly, the package can be created:

# cd /usr/ports/emulators/i386-wine-devel -DWINE_CROSS_BUILD
# make package

The package is available at

# echo /compat/i386/$(make -V PKGFILE)

TODO

i386-Wine (last edited 2015-12-07 04:09:30 by DavidNaylor)