Tuesday, January 14, 2014

Compiling Wine on Fedora 20

If you are the type of person to compile Wine yourself, you may have noticed an issue trying to follow the (admittedly somewhat dated) instructions. Specifically, when installing those packages, you find yourself greeted with a big ol' yum transaction failure like the following:

Transaction check error:
  file /usr/share/isdn/dest.cdb conflicts between attempted installs of isdn4k-utils-3.2-93.fc20.i686 and isdn4k-utils-3.2-93.fc20.x86_64
  file /usr/share/man/man3/ldns_calc_keytag.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_key_list_key.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_key_list_key_count.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_key_list_new.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_key_list_pop_key.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_key_list_push_key.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_rdf_print.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_resolver_print.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_rr_list_print.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_rr_print.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_verify_rrsig_dsa.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_verify_rrsig_rsamd5.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_verify_rrsig_rsasha1.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64
  file /usr/share/man/man3/ldns_zone_print.3.gz from install of ldns-1.6.16-6.fc20.i686 conflicts with file from package ldns-1.6.16-6.fc20.x86_64


Fun stuff. The issue is that the 32 bit and 64 bit ldns packages have conflicting man pages (see this bug report). Perhaps it'll get fixed someday.

For now, just use the following package list instead (assuming you don't care about schannel support in Wine, if you do, you may be able to ignore the conflict and force an install, I haven't tried).

# yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel \
cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel \
freetype.i686 freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel \
lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-turbo-devel.i686 \
libjpeg-turbo-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 \
libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 \
libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel \
libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel \
libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 \
libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 \
libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel \
ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel \
zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel \
glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 \
libgphoto2-devel.i686 openal-soft-devel openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 \
samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gstreamer-devel.i686 \
gstreamer-plugins-base-devel.i686 gettext-devel.i686 libmpg123-devel.i686 mesa-libOSMesa-devel.i686 lcms2-devel.i686

What we did was get rid of gnutls-devel.i686 which pulls in the conflicting package (I also added mesa-libOSMesa-devel.i686 and lcms2-devel.i686 for flavor). From there, you should be able to follow the instructions as normal.

No comments:

Post a Comment