You are not logged in.
I've had this problem for quite a while, but now finally it really starts pissing me off
When I want to build a package with makepkg and the PKGBUILD has versioned dependencies, makepkg isn't able to resolve the dependencies.
An example to demonstrate what this looks like
PKGBUILD:
# Maintainer: Army <uli.armbruster@googlemail.com>
pkgname=ardour3-svn
_realname=ardour3
pkgver=7501
pkgrel=1
pkgdesc="A multichannel hard disk recorder and digital audio workstation"
arch=('i686' 'x86_64')
url="http://www.ardour.org"
license=('GPL')
depends=("util-linux-ng" "liblrdf>=0.4.0" "liblo" "libgnomecanvasmm>=2.12.0" "slv2>=0.6.4" "aubio")
makedepends=("boost>=1.39" "cppunit>=1.12.0" "soundtouch" "libvorbis>=1.1.2" "flac>=1.2.1" "python>=2.3" "jack-audio-connection-kit-svn")
source=(${pkgname}.desktop)
_svntrunk=http://subversion.ardour.org/svn/ardour2/branches/3.0
_svnmod=${_realname}
build() {
cd ${srcdir}
rm -rf ${_svnmod}-build
svn co ${_svntrunk} ${_svnmod}
cp -rf ${_svnmod} ${_svnmod}-build
cd ${_svnmod}-build
./waf configure --prefix=/usr --configdir=/etc --tranzport --freesound --freedesktop --lv2 -p
./waf build
DESTDIR="${pkgdir}" ./waf install
# install some freedesktop.org compatibility
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${_realname}.desktop"
}
md5sums=('2736c648e452ae45c703e48cf64f75e7')
and this is the output:
% makepkg -sir
==> Bestimme letzte SVN-Revision...
-> Gefundene Version: 7501
==> Erstelle Paket: ardour3-svn 7501-1 (Di 27. Jul 00:44:01 CEST 2010)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Installiere fehlende Abhängigkeiten...
Passwort:
zsh:1: 1.39 not found
==> Fehlende Abhängigkeiten:
-> boost>=1.39
-> cppunit>=1.12.0
Seems like it changes
makedepends=("boost>=1.39" "cppunit>=1.12.0" ...)
to
makedepends=("boost" "1.39" "cppunit" "1.12.0" ...)
It doesn't matter if I put the dependencies into " or ' nothing, it's always the same output. I already created a new user to verify the situation, same problem there. With bash as shell all runs fine.
I use grml-zsh-config from [extra], but that cannot be the trouble maker, I tested it with an uninstalled grml-zsh-config and a blank ~/.zshrc, still the same.
How do you zsh users do this??
Thanks for any idea!
Last edited by Army (2010-07-28 08:01:19)
Offline
I'm a fellow zsh user, and I usually just check my versions myself and edit the pkgbuild if I run into an issue like this.
A stab in the dark though, could you:
alias makepkg='bash makepkg'
?
Offline
% bash makepkg -sirf
==> Bestimme letzte SVN-Revision...
-> Gefundene Version: 7501
==> Erstelle Paket: ardour3-svn 7501-1 (Di 27. Jul 01:12:57 CEST 2010)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Installiere fehlende Abhängigkeiten...
Passwort:
zsh:1: 1.39 not found
==> Fehlende Abhängigkeiten:
-> boost>=1.39
-> cppunit>=1.12.0
==> FEHLER: Konnte nicht alle Abhängigkeiten auflösen.
Same problem...
bash -c "export SHELL=/bin/bash && makepkg -sir"
That works ;-) But ... what a mess! This used to work a while ago, why the f*** doesn't it work anymore??
Last edited by Army (2010-07-26 23:27:43)
Offline
Any more ideas? There are plenty of zsh users out there, I know it! Does this work for you?
Offline
I can confirm this problem, +1 for annoying
Offline
You should file a bug report about makepkg.
Offline
I'm not sure wy this happens in zsh. We have #!/bin/bash at the top of makepkg but it appears that does not apply to the subshell where pacman is called in... seems weird...
Anyway, I think this is already fixed in git. Well, we fixed similar issues were observed with people falling back to "su" usage instead of "sudo" to install packages. But it appears you are using sudo... that code was not touched in 3.4... weird!
Offline
I am trying and trying to replicate this but I can not...
Offline
But it appears you are using sudo... that code was not touched in 3.4... weird!
That's actually a good point! I don't use sudo, but nosudo from AUR http://aur.archlinux.org/packages.php?ID=25898 Maybe that's the reason why it doesn't work.
edit: damn, doesn't work without this package
% export LANG=C
% makepkg -sir
==> WARNING: Sudo can not be found. Will use su to acquire root privileges.
==> Determining latest svn revision...
-> Version found: 7518
==> Making package: ardour3-svn 7518-1 (Wed Jul 28 09:29:28 CEST 2010)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Installing missing dependencies...
Password:
zsh:1: 1.39 not found
==> ERROR: 'pacman' failed to install missing dependencies.
==> WARNING: Failed to remove installed dependencies.
Last edited by Army (2010-07-28 07:30:32)
Offline
You should file a bug report about makepkg.
I started this thread, because first I want to be sure that it's my fault and not a makepkg or zsh issue. History tells me that most times I cause all the problems I have by myself ;-)
Offline
Oh boy, sorry for these many posts, but without my sudo replacement package things are even worse!
% bash -c "export SHELL=/bin/bash && makepkg -sir"
==> WARNING: Sudo can not be found. Will use su to acquire root privileges.
==> Determining latest svn revision...
-> Version found: 7518
==> Making package: ardour3-svn 7518-1 (Wed Jul 28 09:36:19 CEST 2010)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Installing missing dependencies...
Password:
zsh:1: 1.39 not found
==> ERROR: 'pacman' failed to install missing dependencies.
==> WARNING: Failed to remove installed dependencies.
This command works with nosudo installed ... I get the same errors when I do
% bash --login
$ echo $SHELL
/bin/zsh
$ export SHELL=/bin/bash
$ echo $SHELL
/bin/bash
$ export LANG=C
$ makepkg -sir
==> WARNING: Sudo can not be found. Will use su to acquire root privileges.
==> Determining latest svn revision...
-> Version found: 7518
==> Making package: ardour3-svn 7518-1 (Wed Jul 28 09:41:51 CEST 2010)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Installing missing dependencies...
Password:
zsh:1: 1.39 not found
==> ERROR: 'pacman' failed to install missing dependencies.
==> WARNING: Failed to remove installed dependencies.
Am I just still too much of a noob to see the obvious mistake I make or is makepkg really screwed up? Because in case I don't do anything wrong, I'll file a bug report asap!
Last edited by Army (2010-07-28 07:43:05)
Offline
Ah, that is the issue then.... falling back to "su" is broken in 3.4.0 but is fixed in the upcoming 3.4.1. I guess nosudo is the same. The current workaround is to use sudo or find that patch in the maint branch of pacman git and apply it manually.
Edit: link to changes that need made: http://projects.archlinux.org/pacman.gi … d=622326bb
Offline
Okay, thanks Allan! I'll take a look at it.
edit: Works :-)
eedit: But it doesn't work after I reinstalled nosudo ... but since makepkg can handle automatic installation of dependencies with su, there's no need for me to keep this package.
Last edited by Army (2010-07-28 08:15:46)
Offline