[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"Susan C. Cherniss": Re: 961211: Problem building netCDF 2.4.3 for UNICOS 8
- Subject: "Susan C. Cherniss": Re: 961211: Problem building netCDF 2.4.3 for UNICOS 8
- Date: Fri, 13 Dec 1996 08:21:36 -0700
------- Forwarded Message
Date: Thu, 12 Dec 1996 17:10:05 -0800
From: "Susan C. Cherniss" <address@hidden>
To: Russ Rew <address@hidden>
Subject: Re: 961211: Problem building netCDF 2.4.3 for UNICOS 8
Russ,
Thanks you for taking the time to help me with this problem. The details
were valuable as they led me to the "-h char" option to CC. With this
option, the C++ portions of netCDF compile cleanly.
Susan
On Dec 12, 8:38am, Russ Rew wrote:
> Subject: Re: 961211: Problem building netCDF 2.4.3 for UNICOS 8
> >To: address@hidden
> >From: "Susan C. Cherniss" <address@hidden>
> >Subject: Problem building netCDF 2.4.3 for UNICOS 8
> >Organization: NASA Ames Research Center
> >Keywords: 199612112358.AA03260
>
> Hi Susan,
>
> > I am trying to build netCDF 2.4.3 for UNICOS 8.0.4 on a C90 and have
> > run into problems compiling netcdf.cc. The details are below.
> > Any suggestions on getting past this problem?
>
> Yes, if you can get by without the C++ interface to netCDF then you can
> just define CXX="" before running the configure script (do a make clean
> first and rm config.cache). You can set the value of CXX as an
> environment variable or in the CUSTOMIZE file.
>
> > 0. CC -V
> > Cray C++ Version 2.0.0.2 12/11/96 15:37:04
> >
> > 1. Output from the command `uname -a'.
> > vn vn 8.0.4.2 nas.55 CRAY C90
>
> ...
>
> > making `all' in directory /u/vb/cherniss/netcdf/unicos8.0.4/cxx
> >
> > gmake[1]: Entering directory `/u/vb/cherniss/netcdf/unicos8.0.4/cxx'
> > CC -c -I../libsrc netcdf.cc
> > CC-403 CC: ERROR File = netcdf.hh, Line = 76
> > Member function function "NcFile::add_att" has already been declared.
> >
> > NcBool add_att( NcToken attname, ncbyte );
> > ^
>
> I've appended a description of the details of the problem, if you decide
> you need the C++ interface and want to try to get Cray to fix the
> compiler problem. I've reported it already ...
>
> _____________________________________________________________________
>
> Russ Rew UCAR Unidata Program
> address@hidden http://www.unidata.ucar.edu
>
>
> I've looked into the C++ errors revealed by trying to compile the netCDF 2.4
> C++ interface on the Cfront-based Cray compiler on [a local Cray] and
> concluded that this is a compiler problem that we can't easily work around.
>
> I've isolated the problem to a small demonstration program that demonstrates
> a failure to distinguish plain char, signed char, and unsigned char as three
> distinct types for overloading function signatures:
>
> --------------------------------------
> #include <iostream.h>
>
> class X {
> public:
> X() {}
> void f(char c) {cout << "char " << c << "\n";}
> void f(signed char s) {cout << "signed char " << s << "\n";}
> void f(unsigned char u) {cout << "unsigned char " << u << "\n";}
> };
>
> int
> main()
> {
> X x;
> char c = 'c';
> signed char s = -13;
> unsigned char u = 'u';
>
> x.f(c);
> x.f(s);
> x.f(u);
>
> return 0;
> }
> --------------------------------------
>
> The above program conforms to the proposed C++ standard, as far as I have
> been able to determine (see, for example, chapters 3 and 4 of the draft
> standard at <URL http://www.csci.csusb.edu/dick/c%2b%2bstd/september/>).
> It compiles with no errors or warnings and runs fine on the following
> platform/compiler combinations:
>
> SunOS 5.4 or SunOS 4.1.4, CC 3.0.1:
> SunOS 5.4, g++ 2.6.3:
> IRIX 6.1, CC
> OSF1 3.2, g++ 2.7.2:
> AIX 4.1.4, xlC:
>
> It also runs fine on the following platform, though it produces a warning:
>
> IRIX 5.3, CC
> "chars.cc", line 7: warning(3672): Mangling of signed character does
> not match cfront name mangling.
> void f(signed char s) {cout << "signed char " << s << "\n";}
> ^
> However, it fails to compile on [a local Cray].
>
> --Russ
>-- End of excerpt from Russ Rew
------- End of Forwarded Message