Failing to build on Debian Testing

Forum to talk about the development of SMPlayer (code, patches...).

Failing to build on Debian Testing

Postby Evereve » Mon Feb 06, 2017 10:04 am

Hello,

Until version 16.x I managed to build SMPlayer from source on Debian Testing.
Since version 17.1 (and now on 17.2) I get this output

Code: Select all
[...]
dh_shlibdeps
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by glx-diversions from: /usr/lib/i386-linux-gnu/libGL.so.1
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by glx-diversions to: /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
dpkg-shlibdeps: warning: tried to merge the same object (libc.so.6) twice in a symfile
dpkg-shlibdeps: warning: tried to merge the same object (libc.so.6) twice in a symfile
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/smplayer/usr/bin/smplayer was not linked against libXext.so.6 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/smplayer/usr/bin/smplayer was not linked against libGL.so.1 (it uses none of the library's symbols)
dh_gencontrol
dh_md5sums
dh_builddeb -- -Z lzma
dpkg-deb: errore: obsolete compression type 'lzma'; use xz instead

Usare "dpkg-deb --help" per l'aiuto sulla gestione dei file *.deb;
Usare "dpkg --help" per l'aiuto sull'installazione e rimozione dei pacchetti.
dh_builddeb: dpkg-deb -Z lzma --build debian/.debhelper/smplayer/dbgsym-root .. returned exit code 2
debian/rules:70: set di istruzioni per l'obiettivo "binary-arch" non riuscito
make: *** [binary-arch] Errore 1
dh_clean: Compatibility levels before 9 are deprecated (level 5 in use)


I couldn't find any information about similar issues here or elsewhere, could someone please give me some hint about a possible solution?

Thanks.
Evereve
 
Posts: 2
Joined: Mon Feb 06, 2017 9:53 am

Re: Failing to build on Debian Testing

Postby rvm » Mon Feb 06, 2017 12:02 pm

Does it work if you replace
dh_builddeb -- -Z lzma
with
dh_builddeb -- -Z xz
in debian-rvm/rules?
rvm
Site Admin
 
Posts: 2751
Joined: Wed Dec 23, 2009 1:25 am
Location: España

Re: Failing to build on Debian Testing

Postby Evereve » Mon Feb 06, 2017 12:45 pm

Thanks! It worked!

I didn't think the problem was in the compression method but in the diversions!
Evereve
 
Posts: 2
Joined: Mon Feb 06, 2017 9:53 am

Re: Failing to build on Debian Testing

Postby stevo » Sun May 14, 2017 2:54 am

Debian Jessie and newer, plus equivalent Ubuntu releases, now use xz compression as default, and Debian Wheezy supports the xz compression if specified. It's probably a good idea just to drop that flag altogether, or to change it to xz.
stevo
 
Posts: 34
Joined: Mon Dec 05, 2011 3:14 am

Re: Failing to build on Debian Testing

Postby Nighyiun » Thu Jun 22, 2017 8:45 am

If possible, we would like more information on this issue.
Nighyiun
 
Posts: 2
Joined: Thu Jun 22, 2017 3:47 am

Re: Failing to build on Debian Testing

Postby stevo » Sun Jul 02, 2017 2:26 am

Well, what do you need to know?

I've got SMTube and SMPlayer packages building in my own Jessie and Stretch OBS repo:

https://build.opensuse.org/package/show ... t/smplayer

Since I'm l̶a̶z̶y̶ energy-efficient, I managed to add a little bit to the packages so they automatically build with qt 4 on Jessie, but qt 5 on Stretch, to take advantage of the HDPI support there. You can take a look at the sources by clicking on the "Debian_9.0" link on the right, then the "go to download repository" link, which goes to the repo where you can directly download the source files and finished packages.

Maybe rvm would like to modernize his builds to the current preferred "debhelper" that I've copied from Debian...his current method is being deprecated.
stevo
 
Posts: 34
Joined: Mon Dec 05, 2011 3:14 am

Re: Failing to build on Debian Testing

Postby rvm » Sun Jul 02, 2017 9:59 am

debian-rvm/rules already uses dh_builddeb -- -Z xz
rvm
Site Admin
 
Posts: 2751
Joined: Wed Dec 23, 2009 1:25 am
Location: España

Re: Failing to build on Debian Testing

Postby stevo » Sun Jul 02, 2017 9:29 pm

Well, I mean the debian/rules I'm using are more in line with the modern Debian policy:

Code: Select all
#!/usr/bin/make -f

export REPACK_SH = $(CURDIR)/debian/repack.sh

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

QMAKE_OPTS = DEFINES+=NO_DEBUG_ON_CONSOLE
MAKE_OPTS  = PREFIX=/usr QMAKE=qmake LRELEASE=lrelease QMAKE_OPTS="$(QMAKE_OPTS)"

# Build with Qt 5 if distrelease has >= 5.6
distrelease := $(shell lsb_release -cs)
ifeq ($(distrelease),$(filter $(distrelease),stretch buster sid yakkety zesty artful))
export QT_SELECT=5
endif

%:
   dh $@ --parallel

override_dh_auto_clean:
   [ ! -d src/.moc ] || $(RM) -r src/.moc
   [ ! -d src/.obj ] || $(RM) -r src/.obj
   [ ! -d src/.ui ] || $(RM) -r src/.ui
   [ ! -f src/Makefile ] || dh_auto_clean

override_dh_auto_build:
   dh_auto_build -- $(MAKE_OPTS) DOC_PATH=\\\"/usr/share/doc/smplayer\\\"

override_dh_auto_install:
   dh_auto_install -- $(MAKE_OPTS) DOC_PATH=/usr/share/doc/smplayer
   rm -f debian/tmp/usr/share/doc/smplayer/Copying.txt

override_dh_builddeb:
   dh_builddeb -- -Z xz


The distro detection requires lsb-release as a build-depends. I added some more distreleases for this example. Debian also uses smplayer-l10n instead of smplayer-translations. I suppose if we wanted to be really picky, we could also just use the same distro detection to pass the dh_builddeb override to distros that don't use xz by default, such as wheezy, but it's benign as it is.
stevo
 
Posts: 34
Joined: Mon Dec 05, 2011 3:14 am


Return to Development

Who is online

Users browsing this forum: No registered users and 1 guest