sh -c 'env HOME=$(mktemp -d) fish'
)?fish version installed (fish --version
):
fish, version 2.4.0
OS/terminal used:
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: AmazonAMI
Description: Amazon Linux AMI release 2016.09
Release: 2016.09
Codename: n/a
Talk about the the issue here.
fish 2.5 64bit is not packaged at http://download.opensuse.org/repositories/shells:/fish:/release:/2/RedHat_RHEL-6/repodata/
Yum freaks out, as it's trying to install 32bit 2.5 over 64bit 2.4, and can't reconcile the dependencies
# Lots of the following
file /usr/share/pkgconfig/fish.pc from install of fish-2.5.0-1.1.i686 conflicts with file from package fish-2.4.0-2.1.x86_64
This is unfortunately as expected. See the release notes for 2.5.0:
Unfortunately, because of the complexity of the toolchain, binary packages are no longer published by the fish-shell developers for the following platforms:
Red Hat Enterprise Linux and CentOS 5 & 6 for 64-bit builds
Ubuntu 12.04 (EoLTS April 2017)
Debian 7 (EoLTS May 2018)
Installing newer version of fish on these systems will require building from source.
If you have any idea for how to fix it, I'm sure @zanchey would be all ears.
Indeed. The basic problem is that fish 2.5.0 requires a newer toolchain that what is shipped with RHEL 5 & 6, and getting that to build on RHEL 5 & 6 is possible on 32-bit platforms on Open Build Service but I have not yet convinced 64-bit platforms to do it. It requires both 32- and 64-bit version of libc to be installed, and I just can't make that happen on OBS.
It might be possible to excise all the 32-bit support from the 64-bit compiler, thus dropping the cross-architecture package requirements, but I again have not had any luck.
I appreciate your fast replies! Thank you both. Given that this works as intended, I'm closing this issue, and I'll open another internally with the infra team to find another way around this.
For those who land on this with Google in future: This may help you https://forums.aws.amazon.com/thread.jspa?threadID=51647
It seems to indicate Amazon Linux forked CentOS 6 (ish).