[SOLVED]exaile:building from source|dh_usrlocal error.

Programming languages, Coding, executables, and scripting.
Post Reply
Message
Author
User avatar
praka123
Posts: 188
Joined: 2007-06-23 08:11
Location: Cochin,India

[SOLVED]exaile:building from source|dh_usrlocal error.

#1 Post by praka123 »

Hello ,
I'm trying to compile Debian package of Exaile-3.1.999-rc1 on My Squeeze.But ,it fails with dh_usrlocal .
Error:

Code: Select all

username@dcbox:~/Desktop/builds/exaile/exaile-0.3.1.999-rc1$ dh_usrlocal 
dh_usrlocal: debian/exaile/usr/local/share/locale/tr/LC_MESSAGES/exaile.mo is not a directory
rmdir: failed to remove `debian/exaile/usr/local/share/locale/tr/LC_MESSAGES': Directory not empty
dh_usrlocal: rmdir debian/exaile/usr/local/share/locale/tr/LC_MESSAGES returned exit code 1
dh_usrlocal wants to remove files in debian/exaile/ directory.What am I missing?This source can be compiled by make && make install or make install-no-locale.

Makefile for Exaile is available here:
http://pastebin.ca/1884226
Thanks.

Code: Select all

username@dcbox:~/Desktop/EXAILE/exaile-0.3.1.999-rc1$ dpkg-buildpackage -b -rfakeroot 
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): 
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): 
dpkg-buildpackage: source package exaile
dpkg-buildpackage: source version 0.3.1.999-rc1-1
dpkg-buildpackage: source changed by xxx xxxxx <xyz@kxy.com>
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean 
   dh_clean
 debian/rules build
dh build 
   dh_testdir
   dh_auto_configure
   dh_auto_build
make[1]: Entering directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1'
python -m compileall -q xl xlgui
python -O -m compileall -q xl xlgui
make -C plugins compile
make[2]: Entering directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/plugins'
python -m compileall -q .
python -O -m compileall -q .
make[2]: Leaving directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/plugins'
make -C po locale
make[2]: Entering directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/po'
find . -name "*.po" -exec ../tools/compilepo.sh {} \;
............................................................................................................... done.
................................................................................. done.
................................................................................................... done.
........................................................................................................................................................................... done.
.................................................................................................................. done.
......................................................................................................................................................................................... done.
........................................................................................................................... done.
............................................................................................................................................ done.
.......................................................................................... done.
...................................................................................................................... done.
.......................................................................................................................... done.
.................................................................................................. done.
....................................................................................................... done.
........................................................................................................ done.
.............................................................................................. done.
.................................................................................................. done.
....................................................................................................................... done.
............................................................................................................. done.
........................................................................................................ done.
..................................................................................................................................... done.
................................................................................ done.
......................................................................................................... done.
............................................................................................................... done.
.................................................................................... done.
............................................................................................................................................................................................................................................................................................. done.
..................................................................................................... done.
............................................................................................... done.
.......................................................................................................................... done.
......................................................................................................... done.
............................................................................................................................. done.
......................................................................................... done.
........................................................................................................ done.
........................................................................................................ done.
.............................................................................................................. done.
............................................................................................................................ done.
....................................................................................................... done.
........................................................................................................... done.
.......................................................................................... done.
....................................................................................................... done.
............................................................................................................................ done.
................................................................................................... done.
.................................................................................................................................. done.
.................................................................................................... done.
.................................................................................... done.
...................................................................................................................................................................................................... done.
...................................................................................................... done.
....................................................................................................................................................... done.
....................................................................................................... done.
........................................................................................... done.
............................................................................................................................. done.
........................................................................................................................... done.
......................................................................................... done.
................................................................................................... done.
................................................................................................................................................ done.
.......................................................................................... done.
............................................................................................................................. done.
<stdin>:7: nplurals = 3...
<stdin>:340: ...but some messages have only 2 plural forms
msgfmt: found 1 fatal error
......................................................................................... done.
............................................................................................................................................................. done.
............................................................................................................................. done.
........................................................................................................................................................................ done.
............................................................................................................................................................................ done.
......................................................................................................... done.
................................................................................................... done.
make[2]: Leaving directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/po'
help2man -n "music manager and player" -N \
	  -h './exaile --help | sed "s/^  //"' \
	  -v './exaile --version | sed -n "4 s/.* v\\(.*\\)/exaile \\1/ p"' \
	  ./exaile \
	  | gzip -9 > exaile.1.gz
Ready to install...
make[1]: Leaving directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1'
   # Skipping dh_auto_test - empty override
 fakeroot debian/rules binary
dh binary 
   dh_testroot
   dh_prep
   dh_installdirs
   dh_auto_install
make[1]: Entering directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1'
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/bin
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/metadata
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/player
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/database
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/settings
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/trax
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/panel
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/preferences
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/widgets
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/16x16
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/22x22
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/24x24
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/32x32
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/48x48
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/scalable
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui/preferences
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui/widgets
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/migrations
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/migrations/migration_200907100931
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/pixmaps
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/applications
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/man/man1
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/etc/xdg/exaile
install -m 644 exaile.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile	
install -m 644 xl/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl
install -m 644 xl/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl
install -m 644 xl/metadata/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/metadata
install -m 644 xl/metadata/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/metadata
install -m 644 xl/player/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/player
install -m 644 xl/player/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/player
install -m 644 xl/migrations/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations
install -m 644 xl/migrations/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations
install -m 644 xl/migrations/database/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/database/
install -m 644 xl/migrations/database/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/database/
install -m 644 xl/migrations/settings/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/settings/
install -m 644 xl/migrations/settings/*.py /home/v/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/migrations/settings/
install -m 644 xl/trax/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/trax
install -m 644 xl/trax/*.py /home/v/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xl/trax
install -m 644 xlgui/*.py[co] /home/v/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui
install -m 644 xlgui/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui
install -m 644 xlgui/panel/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/panel
install -m 644 xlgui/panel/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/panel
install -m 644 xlgui/preferences/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/preferences
install -m 644 xlgui/preferences/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/preferences
install -m 644 xlgui/widgets/*.py[co] /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/widgets
install -m 644 xlgui/widgets/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/lib/exaile/xlgui/widgets
install -m 644 data/images/16x16/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/16x16
install -m 644 data/images/22x22/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/22x22
install -m 644 data/images/24x24/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/24x24
install -m 644 data/images/32x32/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/32x32
install -m 644 data/images/48x48/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/48x48
install -m 644 data/images/scalable/*.svg /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images/scalable
install -m 644 data/images/*.png /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/images
install -m 644 data/images/48x48/exaile.png \
		/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/pixmaps/exaile.png
install -m 644 data/ui/*.ui /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui
install -m 644 data/ui/preferences/*.ui /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui/preferences
install -m 644 data/ui/widgets/*.ui /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/ui/widgets
install -m 644 data/migrations/*.py /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/migrations/
install -m 644 data/migrations/migration_200907100931/*.py \
	    	/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/data/migrations/migration_200907100931/
install -m 644 data/exaile.desktop \
		/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/applications/	
install -m 644 exaile.1.gz /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/man/man1/
install -m 644 data/config/settings.ini /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/etc/xdg/exaile
tools/generate-launcher "/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile" "/usr/local" "/lib" && \
	  chmod 755 /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/bin/exaile
Generating launcher script
make -C plugins install
make[2]: Entering directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/plugins'
mkdir -p /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/plugins/
for plugin in `python list.py`; do \
	    cp -r ${plugin} /home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/exaile/plugins/ ; \
	    done ;
make[2]: Leaving directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/plugins'
for f in `find po -name exaile.mo` ; do \
	  install -d -m 755 \
	    `echo $f | sed "s|^po|/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/locale|" | \
	      xargs dirname` && \
	  install -m 644 $f \
	    `echo $f | sed "s|^po|/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1/debian/exaile/usr/local/share/locale|"` ; \
	  done
make[1]: Leaving directory `/home/mypc/Desktop/EXAILE/exaile-0.3.1.999-rc1'
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_installexamples
   dh_installman
   dh_installcatalogs
   dh_installcron
   dh_installdebconf
   dh_installemacsen
   dh_installifupdown
   dh_installinfo
   dh_pysupport
   dh_installinit
   dh_installmenu
   dh_installmime
   dh_installmodules
   dh_installlogcheck
   dh_installlogrotate
   dh_installpam
   dh_installppp
   dh_installudev
   dh_installwm
   dh_installxfonts
   dh_bugfiles
   dh_lintian
   dh_gconf
   dh_icons
   dh_perl
   dh_usrlocal
dh_usrlocal: debian/exaile/usr/local/share/locale/tr/LC_MESSAGES/exaile.mo is not a directory
rmdir: failed to remove `debian/exaile/usr/local/share/locale/tr/LC_MESSAGES': Directory not empty
dh_usrlocal: rmdir debian/exaile/usr/local/share/locale/tr/LC_MESSAGES returned exit code 1
make: *** [binary] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
mypc@dcbox:~/Desktop/EXAILE/exaile-0.3.1.999-rc1$ 
debian/control :

Code: Select all

Source: exaile
Section: sound
Priority: extra
Maintainer: My Name <myname@address.com>
Build-Depends: debhelper (>= 7.0.50~), python (>= 2.5), python-support, python-mutagen (>= 1.10), 
 python-gst0.10, python-gtk2 (>= 2.17), python-gobject (>= 2.18), gstreamer0.10-plugins-good, python-dbus, 
Standards-Version: 3.8.4
Homepage: http://www.exaile.org

Package: exaile
Architecture: amd64
Depends: ${python:Depends}, ${misc:Depends}
Description: exaile release candidate
 this is a test build.

debian/rules:

Code: Select all

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
	dh $@ 
         override_dh_auto_test:
with dh_auto_test ,I gets some errors:
http://pastebin.ca/1884230

Kindly Help. :)
Last edited by praka123 on 2010-06-17 06:14, edited 2 times in total.
Debian (Testing/Unstable)

User avatar
praka123
Posts: 188
Joined: 2007-06-23 08:11
Location: Cochin,India

Re: exaile:building from source|dh_usrlocal error.

#2 Post by praka123 »

Can't figure out Why dh_usrlocal fails; :( I don't know much about building python ran packages.
for now ,used override_dh_usrlocal to build the package.package is built successfully.
ofcourse ,binary is installed into /usr/local/bin .

Wonder!because ,dh_auto_install completes without any errors.
Debian (Testing/Unstable)

User avatar
praka123
Posts: 188
Joined: 2007-06-23 08:11
Location: Cochin,India

Re: [SOLVED]exaile:building from source|dh_usrlocal error.

#3 Post by praka123 »

Solved!Exaile Build Needs to set PREFIX variable.

Code: Select all

export PREFIX=/usr
^did the trick.

Code: Select all

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
	dh $@ 
               # Commands not to run:
               override_dh_auto_test:
Thanks!
Debian (Testing/Unstable)

User avatar
stevepusser
Posts: 12430
Joined: 2009-10-06 05:53
Has thanked: 8 times
Been thanked: 6 times

Re: [SOLVED]exaile:building from source|dh_usrlocal error.

#4 Post by stevepusser »

You should be able to add

export PREFIX=/usr

to the rules file to do that automatically, if you have not already done that. I thought that the quilt build format did that automatically...do you have a /debian/source/format file with the contents:

3.0 (quilt)

I'm pretty sure you need that to successfully use that tiny rules file without problems.
MX Linux packager and developer

User avatar
praka123
Posts: 188
Joined: 2007-06-23 08:11
Location: Cochin,India

Re: [SOLVED]exaile:building from source|dh_usrlocal error.

#5 Post by praka123 »

Yup.I could add PREFIX=/usr to rules.But ,I am unsure about that.and yes debian/source/format contains "3.0 (quilt)" and I've ~/.quit set as per maint-guide tells.

Regards,
pk
Debian (Testing/Unstable)

Post Reply