This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
>To: address@hidden >From: address@hidden >Subject: install problems >Organization: UCAR/Unidata >Keywords: 200004222053.e3MKr3G17555 Hi Enrique, > I am having problems installing (compiling) netCDF for > a new sun ultra-10, in 64 bit mode. It compiles nicely > in 32 bit mode. It is failing in the cxx subdirectory > in the compile stage. Following are items A-F and my > modified macros.make in the end. To compile in 64 bit mode > i use the compiler options -xtarget=ultra2 -xarch=v9a > (please see my macros.make). I just tried compiling netCDF 3.5 on a Sun Ultra-2 with the compiler options CFLAGS="-xtarget=ultra2 -xarch=v9" FFLAGS="-xtarget=ultra2 -xarch=v9" CXXFLAGS="-xtarget=ultra2 -xarch=v9" on a SunOS 5.7 system with the WorkShop 5.0 compilers and everything worked fine. I don't think this is a difference between you using "-xarch=v9a" and my using "-xarch=v9", but probably something more basic, such as whether the appropriate C++ libraries are installed on your system. The errors you see indicate some stream I/O methods are missing, as well as operator new[](unsigned long): > /usr/local/SUNWspro/bin/CC -o nctst -O -xtarget=ultra2 -xarch=v9a nctst.o > libnetcdf_c++.a -L../libsrc -lnetcdf > Undefined first referenced > symbol in file > std::basic_ostream<char,std::char_traits<char> > >&std::operator<<(std::basic_ostream<char,std::char_traits<char> >&,const > char*) nctst.o > std::basic_ostream<char,std::char_traits<char> > >&std::basic_ostream<char,std::char_traits<char> > >::operator<<(std::basic_ostream<char,std::char_traits<char> > >&(*)(std::basic_ostream<char,std::char_traits<char> >&)) nctst.o > std::basic_ostream<char,std::char_traits<char> > >&std::basic_ostream<char,std::char_traits<char> >::put(char) nctst.o > std::ostrstream::~ostrstream() libnetcdf_c++.a(ncvalues.o) > std::basic_ostream<char,__type_0>&std::operator<< <std::char_traits<char> > >(std::basic_ostream<char,__type_0>&,unsigned char) > libnetcdf_c++.a(ncvalues.o) > std::basic_ostream<char,std::char_traits<char> > >&std::operator<<(std::basic_ostream<char,std::char_traits<char> >&,char) > libnetcdf_c++.a(ncvalues.o) > void operator delete(void*) nctst.o > void __Crun::pure_error() libnetcdf_c++.a(netcdf.o) > void*operator new[](unsigned long) > libnetcdf_c++.a(netcdf.o) > void __Crun::ex_rethrow_q() nctst.o > std::cerr nctst.o > [Hint: static member std::cerr should be defined in the program ,see > Annotated Reference Manual (ARM) Section 9.4] > std::cout nctst.o > [Hint: static member std::cout should be defined in the program ,see > Annotated Reference Manual (ARM) Section 9.4] Are you able to compile and run other C++ programs with "-xtarget=ultra2 -xarch=v9a" that use simple stream I/O? For example #include <iostream> int main() { cout << "Hello\n"; return 0; } If not, then you'll need to get that fixed before trying to build the netCDF C++ interface. Alternatively, if you don't need the C++ interface, you could build without it by specifying no C++ compiler with CXX="" before running the configure script. --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu