Kind of a long, annoying story...

Perhaps you lot still remember me, I was running an old version of fish until 
not many days ago, and I didn't want to compile from source, then I did and, 
well... I hid a little something from you. I'm afraid now I will have to 
disclose it.

When I upgraded to the newest Ubuntu package I could find, my first attempt was 
with the fishfish_0.9.1_i386.deb package, the only one available at the website 
download section.

Bad news: it didn't work. My terminal session would run and close immediately, 
I couldn't even see what happened, so I ran fish from another terminal with 
tcsh:

luc> /usr/local/bin/fish
/usr/local/bin/fish: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.15' not 
found (required by /usr/local/bin/fish)
Exit 1

Who in the world ever knows what version of glibc they have at home, right? So 
I checked. 

Bad news:
lrwxrwxrwx 1 root root 12 2012-03-07 00:05 /lib/i386-linux-gnu/libc.so.6 -> 
libc-2.13.so*

You see, I am running Ubuntu 11.10 a.k.a Oneiric. And that's the only glibc I 
have.

I went on to search the Internet for a solution, which I didn't find, but I 
figured out something, maybe I could obtain libc-2.13.so from the Ubuntu 
repositories and just drop it inside the /lib/i386-linux-gnu/ directory.

Bad news: it didn't work. Fish still rejected or ignored the presence of my 
/lib/i386-linux-gnu/ directory.

So I decided to change /lib/i386-linux-gnu/libc.so.6 so it would symlink to 
libc-2.15.so instead of libc-2.13.so.

Bad news: it's not so simple. Now I don't quite remember what happened, but I 
seem to recollect that either fish or/plus some other software complained in 
certain wording that more or less conveyed the idea that they were in on my 
weasel maneuver and wouldn't take that kind of crap, they wanted the real Mcoy.

So I thought, that libc6_2.15-0ubuntu10.2_i386.deb package I stole from the 
Precise Pangolin (12.04) repository actually has many, many more files than 
just libc-2.15.so. So perhaps instead of just dropping libc-2.15.so in there, I 
should install the entire package.

I was careful. I inspected the package and checked what files and directories 
would be affected by the installation. So I made backup copies of them: gconv, 
i386-linux-gnu, ld.so.conf.d, libc6 and overrides. I kept copies of them all in 
a special directory. Yes, I am that clever. Only after that little extra 
precaution was taken, I installed the libc6_2.15-0ubuntu10.2_i386.deb package.

Bad news: it didn't go down well in the operating system's entrails. There were 
errors, installation was aborted therefore not completed although I could see 
that some of the first files were installed. libc-2.15.so was in there already, 
so I just checked if the files that got installed were enough to support 
libc-2.15.so.

Good news: they were. Fish didn't complain anymore, it was working fine, so 
seemed to be everything else, so I threw a little punch into the air, said YES 
and went ahead with my life.

I noticed a slight though quite off-putting glitch, though: I could no longer 
edit command lines that span across multiple lines. Whenever I tried, the 
characters would get all jumbled in the console, I could no longer tell what 
the heck I was doing, I had to just live without it. I suspected the glibc 
problem, but I still can't tell whether the two incidents are related.

Then, a few days later, I decided to install a new application with apt-get...

Bad news: apt-get refused to install anything, claiming that my system was 
broken, accusing four packages specifically, one of which was libc6. And that 
was apt-get in the command line. When I tried to use the GUI-based installer, 
not only did it complain about the same thing, but it also suggested... erm, 
rather demanded removal of a very, very large number of packages, quite 
probably everything I have ever installed then some more. Right-clicking those 
packages would offer the option to reinstall them, but that too involved 
removing a bazillion packages, which I really need and cherish.

But I had a backup of the affected files and directories, right? So I did the 
obvious smart thing, I removed the contaminated directories entirely and put 
the old, clean ones back in their place.

Bad news: the shell froze completely, even tcsh refused to work. All programs 
that were already running kept running, like pcmanfm, Firefox, email, other 
stuff. But all the shells came to a grinding standstill. I closed pcmanfm and 
it refused to launch. In fact, nothing that wasn't already running would 
launch. Openbox would tell me that programs did not exist! Strange, because 
these programs were in /bin or /usr/bin, not one of the affected directories by 
the backup restore operation. But I had to give up eventually. The OS was a 
mess. I tried to logout and even that didn't work. I had to press and hold the 
power button. Maybe a reboot would fix everything up. I had restored the 
backups after all...

Bad news: the computer would not boot up anymore. Instead of the graphical 
login, I would get a black screen and nothing happened even after two minutes, 
more than enough for the computer to reboot. I reset and tried it once again, 
and it still didn't work. That was it. I ruined my operating system, quite 
simply...

Good news: I keep OS and data/home in separate partitions, and I had fairly 
recent backup copies of everything. So I booted off a rescue disk, wiped 
everything in the OS partition and restored the backup.

Good news: it worked, my system is now just as good as it was before I had the 
stupid idea of upgrading fish. I am running a really old version, though: 
1.23.1 which, hey, is the only choice in the official Ubuntu repository.

I uninstalled this old version of fish completely with tcsh, then installed the 
latest version from compiled source.

Bad news: fish still complains about the lack of GLIBC_2.15 and refuses to go 
any further.

Now, please consider: do you REALLY REALLY REALLY REALLY have to require 
GLIBC_2.15 for fish to do its job? After all, 1.23.1 is working fine with glibc 
2.13, and who knows what older versions people have out there. Do you want or 
do you not want more people to embrace this shell?

I am definitely not going to go through a system-wide upgrade just because of 
fish. I need this machine to work, which involves Windows on VMware, every 
kernel upgrade is a freaking headache and nightmare, so it's not an option.

Please consider.

-- 
Luciano ES
>>

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
BUILD Helping you discover the best ways to construct your parallel projects.
http://goparallel.sourceforge.net
_______________________________________________
Fish-users mailing list
Fish-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to