View previous topic :: View next topic |
Author |
Message |
skeimer Tux's lil' helper
Joined: 25 Dec 2002 Posts: 99
|
Posted: Sat May 03, 2008 1:11 pm Post subject: problem with install phase SOLVED |
|
|
hi,
i have the following problem with an ebuild:
Code: | >>> Install nzb-0.1.7 into /var/tmp/portage/net-nntp/nzb-0.1.7/image/ category net-nntp
cd src/ && make -f Makefile install
make[1]: Entering directory `/var/tmp/portage/net-nntp/nzb-0.1.7/work/nzb-0.1.7/src'
install -m 755 -p "nzb" "/usr/bin/nzb"
ACCESS DENIED open_wr: /usr/bin/nzb
install: cannot create regular file `/usr/bin/nzb': Permission denied
make[1]: [install_target] Error 1 (ignored)
make[1]: Leaving directory `/var/tmp/portage/net-nntp/nzb-0.1.7/work/nzb-0.1.7/src'
>>> Completed installing nzb-0.1.7 into /var/tmp/portage/net-nntp/nzb-0.1.7/image/
|
the ebuild looks like this:
Code: | # Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="nzb is a graphical usenet nzb leecher with SSL support based on QT4"
HOMEPAGE="http://nixbit.com/cat//utilities/nzb/"
SRC_URI="mirror://sourceforge/nzb/${P}.tar.gz"
LICENSE="GPL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="qt? (>=x11-libs/qt-4.3.3)"
RDEPEND=""
src_compile(){
qmake || die "qmake failed"
emake || die "emake failed"
}
src_install(){
emake DESTDIR="${D}" install || die "make install failed"
} |
Can anyone explain to me why the binary gets installed in "/"?
greetings, Simon
Last edited by skeimer on Sun May 04, 2008 8:31 am; edited 1 time in total |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9530 Location: beyond the rim
|
Posted: Sat May 03, 2008 1:17 pm Post subject: |
|
|
Broken makefile most likely. |
|
Back to top |
|
|
skeimer Tux's lil' helper
Joined: 25 Dec 2002 Posts: 99
|
Posted: Sat May 03, 2008 1:25 pm Post subject: |
|
|
the makefile is generated by qmake
I wonder about the ACCESS DENIED to /usr/bin above all.
How can I have qmake inserting the correct path into the makefile?
the install_target portion of the Makefile looks like this:
Code: | ####### Install
install_target: first FORCE
@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/bin/ || $(MKDIR) $(INSTALL_ROOT)/usr/bin/
-$(INSTALL_PROGRAM) "$(QMAKE_TARGET)" "$(INSTALL_ROOT)/usr/bin/$(QMAKE_TARGET)"
|
|
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Sat May 03, 2008 4:46 pm Post subject: |
|
|
Qmake is using a non-standard name for the installation. Autotools packages traditionally use DESTDIR. Qmake appears to use INSTALL_ROOT. Try adding INSTALL_ROOT="${D}" to your emake install line. You may not need DESTDIR="${D}" if the Makefile does not use $(DESTDIR). |
|
Back to top |
|
|
skeimer Tux's lil' helper
Joined: 25 Dec 2002 Posts: 99
|
Posted: Sun May 04, 2008 8:31 am Post subject: |
|
|
that worked! thanks to all of you
the complete ebuild for anyone who's interested:
Code: |
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="nzb is a graphical usenet nzb leecher with SSL support based on QT4"
HOMEPAGE="http://nzb.sourceforge.net/"
SRC_URI="mirror://sourceforge/nzb/${P}.tar.gz"
LICENSE="GPL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND=">=x11-libs/qt-4.3.3"
RDEPEND=""
src_compile(){
qmake || die "qmake failed"
emake || die "emake failed"
}
src_install(){
emake INSTALL_ROOT="${D}" install || die "make install failed"
dodoc ChangeLog README
}
|
|
|
Back to top |
|
|
|