Howdy,

A few people have asked recently about Wine on OpenBSD on the wine
mailing lists. I decided to give it a spin, since the version in ports
is nearly 10 years old (!). I've made a bit of progress, but seems
there are multiple bugs that need fixing (on both ends).

What I've done so far:
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.4/packages/i386/
# pkg_add autoconf-2.6.1 bison cups git gnutls sane-backends jpeg
openldap-server

OpenBSD already has most dependencies satisfied, but these weren't met
by a default install.

Bug #1 The version of lcms in ports doesn't get picked up by wine.
Should I send an e-mail to po...@openbsd.org?
$ wget http://www.littlecms.com/lcms-1.17.tar.gz && gzip2 -d
lcms-1.17.tar.gz && tar -xvf lcms-1.17.tar && cd lcms-1.17 && make
# make install

After that, continue with building wine:
$ CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
./configure && make depend && make -k

Which gives a lot more problems:
configure: libhal development files not found, no dynamic device support.
configure: libcapi20 development files not found, ISDN won't be supported.
configure: libcups development files not found, CUPS won't be supported.
configure: WARNING: OpenSSL development files not found, SSL won't be supported.
configure: WARNING: libpng development files not found, PNG won't be supported.

libhal/libcapi20 are expected, since they're not installed. They're
not really useful anyway, so not a big deal.

libcups IS installed. Looking at config.log:
configure:15933: gcc -o conftest -g -O2 -I/usr/local/include
-I/usr/local/include -L/usr/local/lib conftest.c -lcups
-Wl,-R/usr/local/lib -L/usr/local/lib -lossaudio -li386  >&5
/usr/local/lib/libcups.so.3.0: warning: strcpy() is almost always
misused, please use strlcpy()
/usr/local/lib/libcups.so.3.0: warning: sprintf() is often misused,
please use snprintf()
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_getspecific'
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_once'
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_key_create'
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_mutex_unlock'
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_mutex_lock'
/usr/local/lib/libcups.so.3.0: undefined reference to `pthread_setspecific'

There are a few more similar errors:
/home/austin/wine-git/conftest.c:196: undefined reference to
`pthread_attr_get_np'
/home/austin/wine-git/conftest.c:196: undefined reference to
`pthread_getattr_np'
/home/austin/wine-git/conftest.c:196: undefined reference to
`pthread_get_stackaddr_np'
/home/austin/wine-git/conftest.c:196: undefined reference to
`pthread_get_stacksize_np'

Next up is the OpenSSL problem. Google tells me that you need to use
-lcrypto along with -lssl. I filed a wine bug
(http://bugs.winehq.org/show_bug.cgi?id=16649) for this. Adding that
shuts it up, but there are still problems in the actual build. I think
we may need to include some other headers, but haven't looked yet.
There are a ton of errors like:
/usr/lib/libssl.so.11.0: undefined reference to `BIO_find_type'
/usr/lib/libssl.so.11.0: undefined reference to `EVP_enc_null'
/usr/lib/libssl.so.11.0: undefined reference to `EVP_CIPHER_CTX_init'
/usr/lib/libssl.so.11.0: undefined reference to `X509_NAME_dup'
/usr/lib/libssl.so.11.0: undefined reference to `COMP_compress_block'
/usr/lib/libssl.so.11.0: undefined reference to `EVP_rc2_cbc'
/usr/lib/libssl.so.11.0: undefined reference to `sk_new_null'
/usr/lib/libssl.so.11.0: undefined reference to `X509_STORE_get_by_subject'
/usr/lib/libssl.so.11.0: undefined reference to `lh_free'
...
etc.

libpng has a similar problem, the versions in pkg_add and ports seem
to be missing png.h. I tried installing from source, but it's munging
on zlib somehow:
/usr/local/lib/libpng.so.7.0: undefined reference to `deflate'
/usr/local/lib/libpng.so.7.0: undefined reference to `inflate'
/usr/local/lib/libpng.so.7.0: undefined reference to `inflateInit_'
...
etc.

though that's an error on my end.

If you try compiling after that, mostly compiles, though you get quite
a few compiler warnings. Launching any app (even wine --version)
results in a segfault, so there's quite a bit of work to be done
still.

Any advice/help appreciated.

-- 
-Austin

Reply via email to