You are not logged in.
Trying to make a PKGBUILD for software that requires GCC >= 4.8.0 and <= 5.3.0, so I add...
depends=('gcc>=4.8.0' 'gcc<=5.3.0')
but it throws this error...
error: target not found: gcc=5.3.0
==> ERROR: 'pacman' failed to install missing dependencies.
(technically I got that error with a depends('gcc=5.3.0') but whatever, same issue when tried with the proper depends).
I tried to get around the error by putting the tar.xz snapshot of v5.3.0 in my source=() and doing a
cd $srcdir/packages-f201309ce0fbd907e002ca839d661be58f2147ed/repos/core-x86_64
makepkg -c -s -i PKGBUILD
inside of the build(), but then it results in a different error because it seems that it tries to point to a dead link somewhere on the gnu servers. Is there a proper way to do this with depends, or at least a gross hacky way like my attempt at building it inside of the PKGBUILD?
Am I just stupid?
PS: I have submitted an issue to them, but as of now it's still not fixed so I'm forced to try to make this work.
EDIT: I found the dead link in repos/core-x86_64/PKGBUILD. It tries to get ftp://gcc.gnu.org/pub/gcc/snapshots/5-2 … 09.tar.bz2 but the oldest v5 snapshot they have is 5-20160705. Should I fix this, upload the custom GCC as an AUR pkgbuild, and use that as my depends? Or should I possibly try using the newest version 5.x instead of that old one?
Last edited by sum01 (2017-06-10 06:14:48)
Offline
Which gcc do you have installed (`pacman -Q gcc`)? How do you expect pacman to install gcc<=5.3.0 as that is not in the repos?
EDIT: I may not understand your follow up questions. I can only really address the parts you've specified what commands you used and what errors you are getting.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
I have gcc 6.3.1-2 at the moment.
The follow-up edit was just me trying to figure it out, although I see that there's already a gcc53-alternative-multilib in the AUR, which I'm now wondering if that'll work as a replacement for the official gcc (since it's broken).
Offline
I don't think the official gcc is broken, but the official gcc clearly cannot satisfy the versioned dependency. If you want to depend on gcc53 then change the dependency to that.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Do I need to do something other than
depends=('gcc53-alternative-multilib')
to get this to install? I did a quick test and it seems to run into the same "target not found" error
Offline
You get the error because it's not in the official repos. You need to build and install it from AUR.
Offline
So it took me a while, and a tip from someone else, but I figured it out. Just posting here for anyone that needs the solution...
I used 'gcc5' as a dep, made a variable
_toolset="gcc-5"
and then anything that needed compiling was made to use the $_toolset variable instead of 'gcc'.
I also had to use 'sed' to modify a few Jamfile's and a project_config.jam with
sed -i "s/gcc/$_toolset/g" file.name
Offline