My Recurring Linux Woes
I keep coming across the same problem. If I install an application “correctly” (ie. libraries under /usr/lib, include files under /usr/include, docs at /usr/share/doc, all according to thefilesystem hierarchy standard) then things start to fail. There is some assumption floating in a lot of projects that the software was all crammed into one directory (either under ~ or /opt/) and not into the FHS correct paths.
This keeps biting me. It was a big problem when I was trying to work with colleagues on some java work that included tomcat. Tomcat installed correctly, but this put the project expected it to be all under one directory so that the path was TOMCAT_ROOT/include, TOMCAT_ROOT/lib, etc. Right now it’s ACE wrappers for me. The project I have expects an ACE_ROOT where the /lib, /include, and the like are all co-resident. Of course, it’s not installed that way at all. When I did make install it put it in the correct places according to the FHS.
I guess that’s the way of projects. People tend to set up one way, and assume that the one way is *the* way, even though they disagree with the published FHS (whose job is to define the “one way”). If you are runing Tomcat as a server, it won’t deal with that. It expects a special localized build of tomcat running locally. If you install ACE (according to the ACE make file) then it won’t go, you have to have a local build just for the one project.
The thing that bothers me is that feel deeply that the way Linux, ACE, and I are doing this is right, and that the projects I work with are wrong, but find myself swimming against the current much of the time. If I had unlimited disk space, then I wouldn’t care. I’d have redundant installs for each project. Sadly, I have a laptop with only 80GB and can’t afford multiple copies. Bummer.



Had you noticed this file system standard:
http://en.wikipedia.org/wiki/GoboLinux
Perhaps the guilty software developers are just following a different standard…
Not that I would know. I am still doing C++ (MFC) work on Windows…
Comment by Walter Moore — 2007-June-21 @ 03:51
Nothing wrong, I guess, with “./configure –prefix=/opt/foo”. Sometimes, you have to swim with the current. /opt is in the FHS for a reason, after all.
Plus, uninstallation is much easier.
Comment by Jeff Licquia — 2007-June-21 @ 04:39
Of course, I almost never install with “./configure;make;make install”
I almost always use some variety of apt to install, and I don’t know how to tell it to install in /opt/ (or why I would normally want to).
But if I were to hand-install all my programs, I guess I could go that way.
Comment by Tim — 2007-June-21 @ 02:05