[OpenAFS] Re: openafs on debian with linux 2.6.18 kernel
Wed, 25 Oct 2006 11:37:27 -0700
On Wednesday 25 October 2006 10:35 am, Jeffrey Hutzelman wrote:
> > it is not in /lib/cpp, but
> > in /usr/bin/cpp. This is the standard location on all Linuxes I've ever
> > seen (Debian, RH, SuSe, Scientific, ...).
> If there's no /lib/cpp, then you have a problem. Fix the problem, instead
> of trying to argue with me about filesystem policy or, worse, history. If
> your unix experience is limited to four relatively recent Linux
> distributions, you don't have enough of a sample to say what the "standard
> location" is of anything as old as the C preprocessor.
FWIW, and history notwithstanding, cpp is in /usr/bin on most current Redhat
and similar systems. The /lib/cpp file tends to be a symlink - it is in RHEL
4 at the very least, and on some systems like Ubuntu and Mandriva
both /usr/bin/cpp and /lib/cpp are links to /etc/alternatives/cpp which
itself points to another file. I'm not saying it's a good or bad idea, but it
came with the tendency of moving all system binaries
into /bin, /sbin, /usr/bin and /usr/sbin. I have seen systems (Solaris and
Irix mostly) where the compiler and preprocessor is sitting in its own
directory under the /usr/local, /usr/freeware or even /opt tree, with no
compiler at all in the typical /bin or /usr/bin directories. The path, or
sometimes even the CPP environment variable, is the only way to find the
preprocessor binary in some cases.
Perhaps my experience is relatively limited, having only used and administered
UNIX and UNIX-like systems for a bit over a decade, but there's no reason a
build system couldn't check to see if cpp is in an alternate location in the
path. Maybe one could even check the shell environment's CPP value.
Symlinking /lib/cpp to /usr/bin/cpp should solve the issue in this case, but
assuming the path of a binary is still an assumption (with the associated
Asani Solutions, LLC
Code TI Systems Group
NASA Ames Research Center
"I am not a NASA employee, and my opinions are neither those of my employer