How Low to Go?
I recently upgraded the compiler on one of my systems, and now a number of things won't build due to changes in the compiler, linker, and associated libraries.
The solution I'm making now is to start "over" building the base tools necessary for compiling and such. I've got no problem doing this, 'cause it's just a matter of ./configure && make && make install kind of work. Start it up and let the machine go.
I don't have to do this for things that I install via packages, but the problem with package installs is that they don't always agree with my configurations or desired options. The thing to do is compile my own.
This is great for a lot of tools, but not so good for baseline things.
In this case, my Postgres install has broken. I only use it for development (everything else runs on MySQL) on a project that disagreeably required it. Unfortunately, until I get it running, I cannot do anything with my code, which sucks.
Now, however, as I sit watching the server code compile, I realize that my installation of make is based on the old compiler as part of a source-based install. It works, so I have to wonder, do I need to rebuild it? It was obviously created with static libraries as it hasn't balked at the compiler change.
The thing is, the old compiler is still there. I'm one of those who installs these important things in version directories (e.g., /usr/local/gcc-1.2.3) and then explicitly add it to my environment. So, if the files are still there, why didn't the install of Postgres still work?