On Sun, 25 Jun 2006, Ric Moore wrote:
On Sat, 2006-06-24 at 17:23 +1000, Michael Fleming wrote:
On Sat, 2006-06-24 at 02:43 -0400, Ric Moore wrote:
I'm compiling a program from a tarball and the ./configure process
claims:
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... no
checking for setenv... no
I've got the man pages, so I would think it's installed. But apparently
it is not. So I: yum install glibc* ...and here's the fun part!
[...]
"yum install glibc-devel" and you should be set.
[root@iam rpm -q glibc-devel
glibc-devel-2.4-8
Got it already... yum told me it had nothing to do when I tried
installing it like that. So I tried this:
[root@iam rpm -q --whatprovides setenv
no package provides setenv
rpm operates off of a database. Installed RPMs add their "provides"
entries and other RPMs query for specific entires. It's all
packager-defined and there is no guarantee that one packager called a
feature the same thing as another packager (other than distro convention).
In the case of setenv(3), no packager would think to mention it explicitly
as it is part of glibc.
Jeez! It really seems to be missing, but locate finds a pile of
documentation for it installed. Beats the hell outa me. If the doc gets
installed, shouldn't the programs be installed too?? Must be a bug or an
omission. I would like to know about this. :) Ric
$ rpm -qf /usr/share/man/man3/setenv.3.gz
man-pages-2.21-1
So that explains why there's a man page. In what way does it "really seem
to be missing"? What test did you perform to check?
What happens when you compile and link this little program.
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
setenv("FOO", "BAR", 1);
printf("%s\n", getenv("FOO"));
return 0;
}
--
Matthew Saltzman
Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs