Bug#827770: wine-development: FTBFS in Ubuntu
On 07/26/2017 11:05 AM, Gianfranco Costamagna wrote: > control: reopen -1 > control: tags -1 patch > >> No, they get to deal with the problems they create for themselves. > > while this is true in general, in this particular case this is a problem in > Debian too, when different versions of > the same libraries might coexist in Debian too. > > Fortunately the new approach patch seems sane and applicable directly in > Debian too > > diff -Nru wine-development-2.13/debian/scripts/sonames2elf > wine-development-2.13/debian/scripts/sonames2elf > --- wine-development-2.13/debian/scripts/sonames2elf2017-07-22 > 17:17:47.0 +0200 > +++ wine-development-2.13/debian/scripts/sonames2elf2017-07-23 > 00:25:08.0 +0200 > @@ -34,7 +34,10 @@ > fi > tmpdir=$(mktemp -d -t sonames2elf.XX) > cd "$tmpdir" > -printf 'INPUT(%s)\n' "$@" > libeverything.so > +# Use the unversioned solink because the soname might be not found. > +# solink always points to the default soname, which is what wine uses. > +SOLINKS="$(echo $@ | sed "s|\([[:alnum:]]*\.so\)[\.[0-9]*]*|\1|g")" > +printf 'INPUT(%s)\n' "$SOLINKS" > libeverything.so > gcc -shared -Wl,--no-as-needed -L. -leverything -o elf > cat elf > rm -rf "$tmpdir" > > what do you think about? Having written that patch, I totally agree and suggest to add it.
Bug#827770: [pkg-wine-party] Bug#827770: wine-development: FTBFS in Ubuntu
control: reopen -1 control: tags -1 patch > No, they get to deal with the problems they create for themselves. while this is true in general, in this particular case this is a problem in Debian too, when different versions of the same libraries might coexist in Debian too. Fortunately the new approach patch seems sane and applicable directly in Debian too diff -Nru wine-development-2.13/debian/scripts/sonames2elf wine-development-2.13/debian/scripts/sonames2elf --- wine-development-2.13/debian/scripts/sonames2elf2017-07-22 17:17:47.0 +0200 +++ wine-development-2.13/debian/scripts/sonames2elf2017-07-23 00:25:08.0 +0200 @@ -34,7 +34,10 @@ fi tmpdir=$(mktemp -d -t sonames2elf.XX) cd "$tmpdir" -printf 'INPUT(%s)\n' "$@" > libeverything.so +# Use the unversioned solink because the soname might be not found. +# solink always points to the default soname, which is what wine uses. +SOLINKS="$(echo $@ | sed "s|\([[:alnum:]]*\.so\)[\.[0-9]*]*|\1|g")" +printf 'INPUT(%s)\n' "$SOLINKS" > libeverything.so gcc -shared -Wl,--no-as-needed -L. -leverything -o elf cat elf rm -rf "$tmpdir" what do you think about? thanks! G. signature.asc Description: OpenPGP digital signature
Bug#827770: wine-development: FTBFS in Ubuntu
On 20.06.2016 20:48, Graham Inggs wrote: > Since version 1.9.9-1, wine-development has FTBFS on all architectures > in Ubuntu. > I see the following in the build log: > > ./debian/scripts/sonames2elf libfontconfig.so.1 libfreetype.so.6 > libncurses.so.5 > debian/tmp/elf.depends > ./debian/scripts/sonames2elf libcups.so.2 libdbus-1.so.3 > libfontconfig.so.1 libfreetype.so.6 libGL.so.1 libgnutls.so.30 > libgsm.so.1 libjpeg.so.8 libncurses.so.5 libodbc.so.2 libopenal.so.1 > libOSMesa.so.8 libpng16.so.16 libtiff.so.5 libX11.so.6 > libXcomposite.so.1 libXcursor.so.1 libXext.so.6 libXi.so.6 > libXinerama.so.1 libXrandr.so.2 libXrender.so.1 libxslt.so.1 > libXxf86vm.so.1 > debian/tmp/elf.recommends > /usr/bin/ld: cannot find libGL.so.1 > collect2: error: ld returned 1 exit status > debian/rules:153: recipe for target 'override_dh_shlibdeps' failed > > Assuming this had something to do with packaging differences between > Debian and Ubuntu's mesa package, I made the following changes: Contrary to Debian, in Ubuntu libGL.so.1 is in /usr/lib//mesa/, so it is not found automatically. See: http://packages.ubuntu.com/search?searchon=contents=libGL.so.1=exactfilename=yakkety=any Try adding it to rpath (change existing line in d/rules): export DEB_LDFLAGS_MAINT_APPEND+=-Wl,-rpath,/$(LIBDIR),/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/mesa Question at all: If this works, should we add this to the Debian packaging (conditionally for ubuntu)? Is there a best practice syntax for that? > With the above changes in place, the builds succeeded on amd64, arm64 > and i386, but failed on armhf with a new error: [...] > dpkg-shlibdeps: error: couldn't find library libXxf86vm.so.1 needed by > debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: > '') [...] > To help dpkg-shlibdeps find private libraries, you might need to use -l. > make[1]: *** [override_dh_shlibdeps] Error 2 I checked a few of the so files on armhf/yakkety: they are in /usr/lib/arm-linux-gnueabihf and the build dependencies make sure that they are installed. Sounds fine. Anyway, try specifying the path explicitly for dpkg-shlibdeps (add the last line, since this is arch neutral it shouldn't hurt on the working arches): dpkg-shlibdeps --warnings=1 \ -pdlopen \ -dDepends -edebian/tmp/elf.depends \ -dRecommends -edebian/tmp/elf.recommends \ -Tdebian/libwine$(VERSION).substvars \ -l/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) If this works, then I'd ask Ubuntu's dpkg maintainer about it. This Ubuntu dpkg change sounds related: - Special-case arm{el,hf} ELF objects in Shlibs/Objdump.pm for multilib. Greets jre
Bug#827770: wine-development: FTBFS in Ubuntu
Source: wine-development Version: 1.9.9-1 Severity: wishlist Hi Maintainer Since version 1.9.9-1, wine-development has FTBFS on all architectures in Ubuntu. I see the following in the build log: ./debian/scripts/sonames2elf libfontconfig.so.1 libfreetype.so.6 libncurses.so.5 > debian/tmp/elf.depends ./debian/scripts/sonames2elf libcups.so.2 libdbus-1.so.3 libfontconfig.so.1 libfreetype.so.6 libGL.so.1 libgnutls.so.30 libgsm.so.1 libjpeg.so.8 libncurses.so.5 libodbc.so.2 libopenal.so.1 libOSMesa.so.8 libpng16.so.16 libtiff.so.5 libX11.so.6 libXcomposite.so.1 libXcursor.so.1 libXext.so.6 libXi.so.6 libXinerama.so.1 libXrandr.so.2 libXrender.so.1 libxslt.so.1 libXxf86vm.so.1 > debian/tmp/elf.recommends /usr/bin/ld: cannot find libGL.so.1 collect2: error: ld returned 1 exit status debian/rules:153: recipe for target 'override_dh_shlibdeps' failed Assuming this had something to do with packaging differences between Debian and Ubuntu's mesa package, I made the following changes: --- a/debian/rules +++ b/debian/rules @@ -70,6 +70,7 @@ sonamesRecommends=$(shell \ grep "^\#define SONAME_" include/config.h | \ grep -v libnetapi | \ +grep -v libGL | \ cut -d\" -f2) debian/control: debian/control.in --- a/debian/control +++ b/debian/control @@ -218,6 +218,7 @@ Recommends: ${dlopen:Recommends}, libgl1-mesa-dri, + libgl1-mesa-glx | libgl1, libasound2-plugins, fonts-liberation, fonts-wine (>= 1.8.2-1~), ---a/debian/control.in +++ b/debian/control.in @@ -218,6 +218,7 @@ Recommends: ${dlopen:Recommends}, libgl1-mesa-dri, + libgl1-mesa-glx | libgl1, libasound2-plugins, fonts-liberation, fonts-wine (>= 1.8.2-1~), With the above changes in place, the builds succeeded on amd64, arm64 and i386, but failed on armhf with a new error: ./debian/scripts/sonames2elf libfontconfig.so.1 libfreetype.so.6 libncurses.so.5 > debian/tmp/elf.depends ./debian/scripts/sonames2elf libcups.so.2 libdbus-1.so.3 libfontconfig.so.1 libfreetype.so.6 libgnutls.so.30 libgsm.so.1 libjpeg.so.8 libncurses.so.5 libodbc.so.2 libopenal.so.1 libOSMesa.so.8 libpng16.so.16 libtiff.so.5 libX11.so.6 libXcomposite.so.1 libXcursor.so.1 libXext.so.6 libXi.so.6 libXinerama.so.1 libXrandr.so.2 libXrender.so.1 libxslt.so.1 libXxf86vm.so.1 > debian/tmp/elf.recommends dpkg-shlibdeps --warnings=1 \ -pdlopen \ -dDepends -edebian/tmp/elf.depends \ -dRecommends -edebian/tmp/elf.recommends \ -Tdebian/libwine-development.substvars dpkg-shlibdeps: error: couldn't find library libfontconfig.so.1 needed by debian/tmp/elf.depends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libfreetype.so.6 needed by debian/tmp/elf.depends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libncurses.so.5 needed by debian/tmp/elf.depends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: warning: binaries to analyze should already be installed in their package's directory dpkg-shlibdeps: error: couldn't find library libcups.so.2 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libdbus-1.so.3 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libfontconfig.so.1 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libfreetype.so.6 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libgnutls.so.30 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libgsm.so.1 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libjpeg.so.8 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libncurses.so.5 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libodbc.so.2 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libopenal.so.1 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libOSMesa.so.8 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libpng16.so.16 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libtiff.so.5 needed by debian/tmp/elf.recommends (ELF format: 'elf32-littlearm-sfabi'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libX11.so.6 needed by debian/tmp/elf.recommends (ELF format: