Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

catastrophic error: cannot open source file "stdio.h"


Dear Experts,

I have recently downloaded and installed the "Intel(R) Parallel Studio XE 2018 Update 1" which seems to lack "stdio.h"? 

For example, if i try to initiate the env with "psxevars.bat intel64", it shows no error:

Intel(R) Parallel Studio XE 2018 Update 1
Copyright (C) 2017 Intel Corporation. All rights reserved.

Intel(R) Compiler 18.0 Update 1 (package 156)

** Visual Studio 2017 Developer Command Prompt v15.5.7
** Copyright (c) 2017 Microsoft Corporation
[vcvarsall.bat] Environment initialized for: 'x64'

however if i try to build some program, for example , it fails with following message:

icl /nologo /O2 /Qstd=c99 /Qopenmp /F256000000  /Forelease\ src\openmp_sample.c /link /INCREMENTAL:NO /SUBSYSTEM:CONSOLE /MANIFEST:NO  /out:release\openmp_sample.exe
src\openmp_sample.c(54): catastrophic error: cannot open source file "stdio.h"
  #include <stdio.h>

compilation aborted for src\openmp_sample.c (code 4)

Any ideas on how to proceed?

Best regards,


0 Kudos
4 Replies
Honored Contributor III

That's one of many include and library files which ICL inherits from Microsoft CL and SDK.  As the .bat file which sets up ICL also sets up CL, as shown by your echo of vcvarsall.bat, you should also be able to build with CL (if your sample doesn't depend too much on C99 or OpenMP beyond 2.0 and you stick with CL command line options).  In VS2017 install, you must install C++ and appropriate SDK choice.  If you need to go back and update those, you will likely need to reinstall (not simply repair) ICL.

0 Kudos

Thanks Tim, reinstalling the VS2017 worked! However i am wondering if VS is needed at all to compile a MPI based C++ program?

The program compiles flawlessly on the Linux systems with GCC/MPI but i am not able to do same using Intel on Windows. The compile documents plainly mentioned to use icpc , any ideas on how to proceed on this one?

0 Kudos

Dear expert,

I have same issue to install CNS_solve on MacOS Mojave, as "catastrophic error: cannot open source file "stdio.h"" the scripts as followed:

Using Makefile template for compiler: ifort

removing old source files

linking source files to mac-intel-darwin/source

linking machine_f.f to source directory

linking machine_c.c to source directory

linking generic fft file to source directory

making Makefile in source directory

testing Fortran and C compilers

compiling: icc -O -axSSSE3 -DINTEGER='long int' -DCNS_ARCH_TYPE_LINUX 

test_c.c(1): catastrophic error: cannot open source file "stdio.h"

  #include <stdio.h>



compilation aborted for test_c.c (code 4)

/bin/sh: ./test_c: No such file or directory

***** ERROR: problem with C compiler *****

make[3]: *** [c-test] Error 3

compiling: ifort -i8 -traceback -w -vec-report0 -O -axSSSE3  

linking: ifort -static-intel -save-temps -traceback -O -axPT 

ifort: command line remark #10279: option '-axP' is deprecated and will be removed in a future release. See '-help deprecated'

ifort: command line warning #10150: option '-axT' not supported

Fortran compiler passes test

making utility programs

make relink

make default

ifort -o PSmapx -O -xP -w -vec-report0 PSmapx.f -i-static

ifort -o PSmapy -O -xP -w -vec-report0 PSmapy.f -i-static

ifort -o PSmapz -O -xP -w -vec-report0 PSmapz.f -i-static

icc -o to_cns -O to_cns.c -lm

to_cns.c(11): catastrophic error: cannot open source file "stdio.h"

  #include <stdio.h>



compilation aborted for to_cns.c (code 4)

make[4]: *** [to_cns] Error 4

make[3]: *** [utils] Error 2

make[2]: *** [compile-utils] Error 2

make[1]: *** [utils] Error 2



 fortran -> [ifort] -i8 -traceback -w -vec-report0 -O -axSSSE3  

       c -> [icc] -O -axSSSE3 -DINTEGER='long int' -DCNS_ARCH_TYPE_LINUX 

    link -> [ifort] -static-intel -save-temps -traceback -O -axPT   


Any suggestion,


Best regards


0 Kudos

Does it work with gcc?

0 Kudos