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, >To: address@hidden >From: Boyin Huang <address@hidden> >Organization: UCAR/Unidata >Keywords: 200111152114.fAFLEFN24029 Hi Boyin, > Error appears when make: linux/errno.h: No such file or directory > Does this mean I did not have proper Linux files? > I have run the linux for a long time ... > -------------------------------------------- > > The required information is as follows: > > (A) uname -a > Linux synoptic2 2.4.1 #1 Mon Feb 12 07:35:47 EST 2001 i686 unknown > > (B) VERSION > netcdf-3.5.0 > > (C) pathname: information after "env" command: > FC=/usr/bin/g77 > CC=/usr/bin/egcs > CPPFLAGS=-Df2cFortran > FFLAGS=-Wno-globals > CXX=/usr/bin/g++ This all looks good, and your output from running the "configure" script matches what we get on our Linux system. > (F) make.log > make[1]: Entering directory `/scratch/byh/NETCDF/netcdf-3.5.0/src' > > Making `all' in directory > /disk7/bhuang/scratch/byh/NETCDF/netcdf-3.5.0/src/libsrc > > make[2]: Entering directory `/scratch/byh/NETCDF/netcdf-3.5.0/src/libsrc' > /usr/bin/egcs -c -O -I. -Df2cFortran attr.c > In file included from /usr/include/errno.h:36, > from netcdf.h:39, > from nc.h:16, > from attr.c:8: > /usr/include/bits/errno.h:25: linux/errno.h: No such file or directory > make[2]: *** [attr.o] Error 1 > make[2]: Leaving directory `/scratch/byh/NETCDF/netcdf-3.5.0/src/libsrc' > make[1]: *** [subdir_target] Error 1 > make[1]: Leaving directory `/scratch/byh/NETCDF/netcdf-3.5.0/src' > make: *** [libsrc/all] Error 2 On our Linux platform, we see no such error using the same compiler and compile flags. From a previous support reply to this question: The above indicates that the C compiler couldn't find the header-file "linux/errno.h" that its own header-file "/usr/include/errno.h" references. This indicates a problem with the C installation (a C implementation must be able to find all the header files that it references). I would show this problem to your system administrator, complain to the vendor (RedHat), and/or reinstall the C implementation. Looking at /usr/include/errno.h on our Linux system, it #includes <bits/errno.h>, which in turn #includes <linux/errno.h>, and we have the file "/usr/include/linux/errno.h": -rw-r--r-- 1 root root 908 Apr 8 2001 /usr/include/linux/errno.h It appears that this file is missing from your installation, so any C program that tries to #include <errno.h> will get this error. If you find this file has been installed in some other nonstandard place, you might be able to get things to compile by defining CPPFLAGS='-I/some/wierd/include/place' before rerunning the configure script, but I think it would be better to fix the installation of the include files ... --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu