I'm working on installing cisco-vpnclient from the AUR this morning. When I run
, makepkg attempts to install kernel26-headers-22.214.171.124-1. This fails, with the message
error: failed retrieving file 'kernel26-headers-126.96.36.199-1-i686.pkg.tar.xz' from ftp.archlinux.org : File unavailable (e.g., file not found, no access)
Based on searches of the package database, the AUR, and google, it appears that there is no mirror that contains a file called 'kernel26-headers-188.8.131.52-1-i686.pkg.tar.xz'. There is, of course, kernel26-lts-headers and there is also linux-headers. I've tried installing those, and then
on cisco-vpnclient again, but still get the same failure.
I've got three questions:
1) how do I fix this and get cisco-vpnclient installed?
2) why is this happening?
3) in general, when a package insists on a dependency that is not available, how can I modify the code in the PKGBUILD to skip the requirement? (or would do that be a bad idea?)
Direct link to to this package from a mirror that hosts old files: http://arm.konnichi.com/core/os/i686/ke … pkg.tar.xz
It's happening because we ship linux 3 now.
When things like this happen, go to http://arm.konnichi.com/search/ and grab the packages you need or compile them yourself using old PKGBUILDs.
If a PKGBUILD lists some package as a dependency you generally can't just omit it by removing if from the 'depends' array.
Last edited by karol (2011-08-09 14:07:40)
you should change the dependency to linux-headers
Actually, you're right ;P
See the comments by P67
I think you should flag it out of date.
thanks for the replies, wonder and karol.
So, my only remaining question regards the syntax of the changes to the PKGBUILD. Here are the lines in the PKGBUILD file that (seem to) set dependencies:
if [ "`uname -m`" = "i686" ]; then depends=('kernel26>=2.4.0') else depends=('kernel26>=2.4.0' 'lib32-gcc-libs') fi makedepends=('kernel26-headers>=2.4.0')
So my guess is that I need to replace
everywhere it occurs in the PKGBUILD file?
I think so.
replacing 'kernel26-headers' with 'linux-headers' in the package build did not fully solve the problem. BUT in all this, I realized that I have not "pacman -Syu"ed since the move to kernel v. 3.0 yesterday.
don't think it makes sense for me to figure out a fix for this that might only work with the outdated release.
So after I "pacman -Syu", I'll start over and eventually post what works with the v3.0 kernel.
ok, so here's the deal:
Because of the name changes that went along with the upgrade to kernel v3.0 (see News: Changes to kernel package and filenames) two things had to change in the PKGBUILD.
1) first there's the dependency on the kernel. Since the arch package containing the kernel v3 is called 'linux' instead of 'kernel26', those references had to be changed. So the OLD version of the pkgbuild had the code:
if [ "`uname -m`" = "i686" ]; then depends=('kernel26>=2.4.0') else depends=('kernel26>=2.4.0' 'lib32-gcc-libs') fi
So I changed 'kernel26>=2.4.0' to 'linux>=3.0.1' in that block.
2) there's the dependency on the headers. The PKGBUILD contains the code
I replaced 'kernel26-headers>=3.0.1' with 'linux-headers>=3.0'
that seems to work to get it installed.
hope it works!
Cool, can you post this on the AUR page: https://aur.archlinux.org/packages.php?ID=10537 ?
just linux-headers would do, you don't need the version there
in what cirumstances would you want the version in there?
when it actually makes a difference, but in this case there are no (and never were) versions lower than 3.0.