... when you are dealing with RPM based Linux system.
I was trying to build Firebird 1.5 on my old'ish Mandrake 9 box, but it complains that autoconf-2.53+ is required to generate the configure script, where as an old autoconf-2.13 was installed on this system. Fine. I'll build autoconf straight from source, but I will remove the current RPM installation first.
$ sudo rpm -e autoconf error: removing these packages would break dependencies: autoconf is needed by rpm-build-4.0.4-19mdk
Aarghh! I know it is going to happen! <BEEP> <BEEP>. Okay then. I will just upgrade my autoconf with another RPM. So I downloaded the autoconf-2.57 SRPM from Fedora Core 1 and tried to build it.
$ rpm --rebuild autoconf-2.57-3.src.rpm Installing autoconf-2.57-3.src.rpm error: failed build dependencies: emacs is needed by autoconf-2.57-3
What the <BEEP>! I am a vi user, and I forbid any installation of emacs on my boxes. Why the <BEEP> does it require "everything but a kitchen sink" to build something simple like autoconf? They probably need that "eight megabytes and constantly swapping" to build vi as well.
At the end I have to hack the
.spec in the source RPM to get it to build on this old box, without sacrifice my dignity like installing emacs. Building autoconf does take a while because of all the testing, and at the end of long wait, I have finally received a shining new
autoconf-2.57-3.noarch.rpm, ready to be deployed.
$ sudo rpm -U autoconf-2.57-3.noarch.rpm package autoconf-2.13-14mdk (which is newer than autoconf-2.57-3) is already installed
Oh <BEEP> <BEEP>! For the love of Tux, why can't RPM do simple numeric comparison! Maybe RPM only has 10 fingers so everything beyonds that he would just make a guess. But how would I trust it to manage 400+ packages I've installed on this box! <BEEP>!
-U has solved the problem. Now, more recent autoconf has been installed. Time to build Firebird now...