Hi Glen,
> I'm trying to install ncarg-4.3.1 from source, but the install process
> seems to be broken. I run the configure script, and specify these
> directories:
>
> /home/aqm/i386/ncarg/bin
> /home/aqm/i386/ncarg/lib
> /home/aqm/i386/ncarg/include
> /home/aqm/i386/ncarg/man
>
> But then when I make everything it ends up installing things to
> /home/aqm/1/ncarg instead. I redid everything, and noticed that inside
> the makefile it listed /home/aqm/1/ncarg for everything instead of
> /home/aqm/i386/ncarg. So I changed the makefile, ran make everything
> again, and it still installed everything to /home/aqm/1/ncarg. And then
> somehow the makefile had gotten changed back so that everything pointed
> to /home/aqm/1/ncarg. So something's buggy somewhere, but I can't
> figure out where. So if someone could lend a hand here I'd appriciate it.
A confusing problem, to be sure. It turns out that nothing is actually
broken -- the problem arises due to an accidentally unfortunate choice of
directory path. Your choice of "i386" in the path to NCARG directories
brings about a conflict when the C preprocessor -- cpp -- is used to parse
text and create a Makefile.
The configure script for NCARG ("Configure") makes use of various external
tools to do its job -- locally created tools ("ymkmf" and "ymake" and
"ymake-filter") and system tools ("cpp") for creating necessary Makefile
files.
The problem arises when the path you have entered for the NCARG
installation -- /home/aqm/i386/ncarg/{bin,lib,include,man} -- is passed to
the C preprocessor ("cpp -traditional ..."). The cpp does quite a bit of
pattern matching and text processing; when it comes across the path you've
specified, with the "i386" in it, a particular pattern is matched, and
thus a "true" value (or, more literally, the value "1") is substituted.
It turns out that any pattern in the set "i{3,4,5,6}86" will cause the
same behavior, on that type of machine -- a host that uses the x86 chipset
and is recognised as such by many tools. You'll get the same result on a
Sparc host, using the pattern "sparc" in a directory specification, too.
The solution is to not use a patter that matches the output of
"uname -{i,m,o,p,s}"
in the NCARG directory specifications. The software tools used to
construct the necessary Makefile information relies on that information,
and the tools dutifully do their job -- with unintended consequences!
-Rick.
-- Rick Grubin Visualization + Enabling Technologies Scientific Computing Division National Center for Atmospheric Research grubin@ucar.edu 303.497.1832_______________________________________________ ncarg-talk mailing list ncarg-talk@ucar.edu http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
This archive was generated by hypermail 2b29 : Thu Apr 22 2004 - 14:04:20 MDT