You are not logged in.
I'm trying to compile hydrogen version 0.9.4, so I can use Qt4. I made a PKGBUILD by editing the PKGBUILD of ABS and following the instructions of this page
It compiles everything ok, but the problem is when running 'make install', I guess. I'm compiling it using makepkg, so I don't know why I'm having problems with permissions denied. These are the relevant error messages:
cd gui/ && make -f Makefile install
make[1]: Entering directory `/home/andre/tmp/hydrogen/src/hydrogen-build/gui'
install -m 755 -p "../hydrogen" "/usr/bin/hydrogen"
install: cannot create regular file `/usr/bin/hydrogen': Permission denied
make[1]: [install_target] Error 1 (ignored)
strip "/usr/bin/hydrogen"
strip: '/usr/bin/hydrogen': No such file
make[1]: [install_target] Error 1 (ignored)
mkdir: cannot create directory `/usr//share/hydrogen': Permission denied
make[1]: *** [install_documentation] Error 1
make[1]: Leaving directory `/home/andre/tmp/hydrogen/src/hydrogen-build/gui'
make: *** [sub-gui-install_subtargets] Error 2
Even with the two errors, it finishes making the package, but it only has the /usr/share dir in it, there's no /usr/lib or /usr/bin.
Here's the PKGBUILD:
pkgname=hydrogen-qt4
pkgver=248
pkgrel=1
pkgdesc="An advanced drum machine/pattern editor with midi support for GNU/Linux"
url="http://www.hydrogen-music.org/"
arch=(i686 x86_64)
license=('GPL')
depends=('qt' 'liblrdf' 'jack-audio-connection-kit>=0.102.20-2')
makedepends=('subversion' 'lash' 'libtar')
provides=('hydrogen')
conflicts=('hydrogen')
install=hydrogen.install
source=(hydrogen.desktop)
md5sums=('8d6eacef58aa22cdba97485f9bdbb4b3')
options=('!makeflags')
_svntrunk=http://hydrogen-music.org/svn/trunk
_svnmod=hydrogen
build() {
cd ${startdir}/src
msg "Connecting to $_svnmod SVN server...."
svn co $_svntrunk $_svnmod
[ -d ./$_svnmod-build ] && rm -fr ./$_svnmod-build
cp -r ./$_svnmod ./$_svnmod-build
cd ./$_svnmod-build
msg "SVN checkout done or server timeout"
msg "Starting make..."
prefix=/usr/ ./configure || return 1
make || return 1
make DESTDIR=${startdir}/pkg install
install -D -m644 ${startdir}/src/hydrogen.desktop \
${startdir}/pkg/usr/share/applications/hydrogen.desktop
mkdir ${startdir}/pkg/usr/share/pixmaps
cd ${startdir}/pkg/usr/share/pixmaps
ln -s ../hydrogen/data/img/gray/icon.svg ./hydrogen.svg
ln -s ../hydrogen/data/img/gray/icon64.png ./hydrogen.png
}
The line "prefix=/usr/ ./configure" is correct, if you use --prefix=/usr/ after ./configure, configure will ignore it.
What is wrong with it?
Thanks
Last edited by andre.ramaciotti (2008-07-17 00:31:10)
(lambda ())
Offline
The problem was in the line "prefix=/usr/ ./configure", it should be "prefix=${startdir}/pkg/usr ./configure", I don't know why, make wasn't following "DESTDIR".
(lambda ())
Offline
you should keep:
prefix=/usr/ ./configure
because path given to the configure script can be hard-coded in the apps.
instead use:
make prefix=${startdir}/usr/pkg install
It's strange that the usual ./configure --prefix=/usr doesn't work. I haven't checked the sources BTW.
Offline
Everything went fine the way I did it, but thanks for the help anyway.
(lambda ())
Offline