Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29236 Discussions

error #11035: Fatal error cannot open bufferoverflowu

oizo
Beginner
1,279 Views

Hi,

Afterinstalling theIntel Fortran Compiler 10.1.021 on my system(Windows XP Professional x64 Edition) I was trying to use it in Microsoft Visual Studio 2008 (Standard Edition, Version 9.0.21022.8 RTM). For a first test I created a new project (console application) choosing the "main program code". After selecting the project configuration "release" and "x64" I succsessfully compiled "hello world" creating the respective .obj file. Yet, when trying to link to an executable file the following three errors occured:

1 error #11035: Fatal error cannot open bufferoverflowu

2 error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)

3error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)

Alternatively, I tried using the compiler from the command line. The process aborted showing the message:

LINK : fatal error LNK1104: Datei "bufferoverflowu.lib" kann nicht geffnet werden.

(file "bufferoverflowu.lib" cannot be opened - I'm using a German Windows Version.)

What's wrong here? How can I fix this problem and get the Intel Fortran Compiler running?

0 Kudos
7 Replies
Steven_L_Intel1
Employee
1,279 Views
For some reason the Fortran compiler believes that you have an older version of Microsoft Visual C++. From the command prompt, would you please type the "cl" command and post the result? Another customer had this problem but he was using a beta version of VS2008 and the problem went away when he switched to the released version.

A workaround is to add bufferoverflowu.lib to the "Ignore libraries" linker setting.
0 Kudos
oizo
Beginner
1,279 Views

This is the result. I hope it helps.

Microsoft C/C++-Optimierungscompiler Version 15.00.21022.08 fr x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

As I said, I'm using a German version. Though, I guess a translation to English is not necessary.

0 Kudos
oizo
Beginner
1,279 Views

Alright, as you mentioned the "beta" issue, there's something I just noticed. Here comes the full comand promt:

Intel Visual Fortran Compiler for applications running on Intel 64, Version 10.1.021
Copyright (C) 1985-2008 Intel Corporation. All rights reserved.

Setting environment for using Microsoft Visual Studio 2008 Beta2 x64 cross tools
.
C:Documents and SettingsAdministratorDesktop>cl
Microsoft C/C++-Optimierungscompiler Version 15.00.21022.08 fr x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Syntax: cl [ Option... ] Dateiname... [ /link Linkeroption... ]

C:Documents and SettingsAdministratorDesktop>

This is what I see after opening the command prompt window.

0 Kudos
Steven_L_Intel1
Employee
1,279 Views
That mention of Beta in the "setting environment" line is an MS bug and not an issue here. The cl line looks ok for a released version, but it may be that the German edition is causing problems. I'll run that by our experts on that. For now, please use the "ignore library" workaround I suggested. You could also just create an empty library by that name and put it in the VC2008 x64 library folder.
0 Kudos
Steven_L_Intel1
Employee
1,279 Views
I have confirmed that the ifort compiler does not recognize the German VC2008 as not needing bufferoverlowu.lib. Other language versions of VS2008 may also be affected. We are working on a fix for that, but it may be a while before the fix is available. Please use the workarounds I suggested. We apologize for the inconvenience.
0 Kudos
oizo
Beginner
1,279 Views

Apparently I solved the problem. I discovered that there are two directories containing the respective library files. On my system these are: C:Program FilesMicrosoft SDKsWindowsv6.0ALibx64 and C:Program Files (x86)Microsoft SDKsWindowsv5.0LibIA64. "bufferoverflowu.lib" was only present in the latter. So I just copied the library file to the former directory. Now I can create executables from both the command prompt and the VS environment.

For some odd reason the "bufferoverflowu.lib" wasen't copied to the right directory during installation although it is needed there. This is probably a 32 vs. 64bit issue.

Thanks for your hints. I was previously not aware of this parallel structure.

Cheers

0 Kudos
Steven_L_Intel1
Employee
1,279 Views
You hid the problem but did not solve it. The 6.0 SDK is not supposed to have bufferoverlowu.lib, though it doesn't hurt if you copy it there. This is a library that Microsoft Visual C++ used in some versions of the Platform SDK to handle a buffer overflow security check at run-time. In later SDKs, they did away with the separate library. The ifort driver needs to know which version of MSVC is in use so it can determine whether or not to reference bufferoverlowu.lib. At present, it does this by spawning a process that runs the "cl" command and examining the output with the version. We recently discovered that this is not reliable for non-English versions of VS2008 and are in the process of changing the test to retrieve the version from the EXE directly using the Win32 API.
0 Kudos
Reply