This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Could not open source file "limits.h"


Hi,

I work at an engineering company. Here, we use a Linux host where are
installed licenses of an engineering commercial software, called Abaqus. 

Abaqus has a "make" procedure, that makes executable programs using a user
soubroutine source code, or the correspondent object file. Here, Abaqus
makes use of icpc/ifort compiler to compile C/Fortran codes. 

So, I have an object file, and tried to 'make' it. The problem is that,
apparently, during the make procedure, Abaqus needs to compile an internal
source code, in C language, and icpc gives this error: /Could not open
source file "limits.h"/ . Here goes a copy of the terminal:

*/
tm@master1:/data/users/tm> abaqus make job=abqmain.o
Abaqus JOB abqmain
Begin Compiling User Post-Processing Program
Fri 03 May 2013 02:47:38 PM CEST
Compiling: /data/users/tm/main_6425.C
icpc: Command line warning: ignoring option '-c'; no argument required
/usr/include/limits.h(125): catastrophic error: could not open source file
"limits.h"
  # include_next <limits.h>
                           ^
compilation aborted for /data/users/tm/main_6425.C (code 4)
Abaqus Error: Problem during compilation - /data/users/tm/main_6425.C
The Abaqus Make execution procedure exited with errors/*

According to the error message, the */usr/include/limits.h* file tries to
include another *limits.h* file, but doesn't find it next in the search
path. According to what I read, there should be another file at
*/usr/lib/gcc/*/*/include/limits.h*, and both really try to include each
other.

I searched for this other file, and what I found was
*/usr/lib64/gcc/x86_64-suse-linux/4.5/include-fixed/limits.h*.

I am not experienced in C programming, so... From the commentaries in both
limits.h files, I didn't understand firstly why icpc tries to include the
limits.h file in gcc library. This is present at the
*/usr/include/limits.h*:

#if defined __GNUC__ && !defined _GCC_LIMITS_H_
/* `_GCC_LIMITS_H_' is what GCC's file defines.  */
# include_next <limits.h>
#endif

If I am using icpc, why is *defined __GNUC__* true? 

Also, supposing it is right, why it doesn't find the other limits.h file?

Thank you



--
View this message in context: http://gcc.1065356.n5.nabble.com/Could-not-open-source-file-limits-h-tp939843.html
Sent from the gcc - bugs mailing list archive at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]