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

Link error on 64-bit processor

dannycat
New Contributor I
1,099 Views
I am trying to builda 64-bit application on a 64-bit machine using latest IVF 11.1 Stage 3, but I get an error message which states:

5>Linking...
5>LINK : fatal error LNK1104: cannot open file 'bufferoverflowu.lib'
5>
5>Build log written to "file://C:\Win\FEM2000-32\x64\Debug\BuildLog.htm"
5>FEM2000 - 1 error(s), 0 warning(s)
========== Build: 4 succeeded, 1 failed, 26 up-to-date, 0 skipped ==========

What is this file bufferoverflowu.lib? It does exist in C:\Program Files (x86)\Microsoft SDKs\Windows\v5.0\Lib\IA64 but I think this relates to the wrong type of architechure.

I can, however, link the same application on my 32-bit laptop and then run the executable on the 64-bit desktop so this problem is not a show stopper, more of an inconvenience.

Any information on this would be welcomed.
0 Kudos
8 Replies
Steven_L_Intel1
Employee
1,099 Views
It's a Microsoft library used with older Platform SDKs. Which Visual Studio version are you using?
0 Kudos
dannycat
New Contributor I
1,099 Views
It's a Microsoft library used with older Platform SDKs. Which Visual Studio version are you using?

Hi Steve

I'm using Visual Studio 2008 Version 9.0.21022.8 on both computers.

0 Kudos
dannycat
New Contributor I
1,099 Views
Quoting - dannycat

Hi Steve

I'm using Visual Studio 2008 Version 9.0.21022.8 on both computers.


I've been looking on one of my clients 64-bit PC's running Window XP and in the C:Program FilesMicrosoft Platform SDKLib directory there are several instances of the BufferOverflowU.lib file.

in LibBufferoverflowu.lib is 33KB
LibIA64Bufferoverflowu.lib is 61KB
LibAMD64Bufferoverflowu.lib is 44KB

I believe the first one should be used for x64 applications, although I'm sure these do not exist on my PC running 64-bit Vista.
0 Kudos
Steven_L_Intel1
Employee
1,099 Views
What is the compile command used to compile the source? The SDK that comes with VS2008 does not include bufferoverflowu.lib as it is not needed in VS2008. Perhaps you have some objects compiled with an older Platform SDK. Do you have a C:Program Files( X86)Microsoft SDKsWindowsv6.0ALibx64 folder? Are you building from Visual Studio?
0 Kudos
dannycat
New Contributor I
1,099 Views
What is the compile command used to compile the source? The SDK that comes with VS2008 does not include bufferoverflowu.lib as it is not needed in VS2008. Perhaps you have some objects compiled with an older Platform SDK. Do you have a C:Program Files( X86)Microsoft SDKsWindowsv6.0ALibx64 folder? Are you building from Visual Studio?

Steve,

I am linking with third party libraries that were probably created by some other means.I don't have a problem with this of my 32 OS laptop using the same VS.I am building from Visual Studio 2008 with no special compiler commands. I don't think the SDK directory is present on the home PC (I'll check later). Perhaps I need to download the SDK from Microsoft if there is no simpler work round.
0 Kudos
TimP
Honored Contributor III
1,099 Views
If the 3rd party library doesn't document its support requirements, you could try adding /nodefaultlib:bufferoverflowu.lib to link commands
in accordance with the way such a bug has been worked around in the past.
It seems like a bug to have that dependency, but it appears to be due to that library.
0 Kudos
dannycat
New Contributor I
1,099 Views
Quoting - tim18
If the 3rd party library doesn't document its support requirements, you could try adding /nodefaultlib:bufferoverflowu.lib to link commands
in accordance with the way such a bug has been worked around in the past.
It seems like a bug to have that dependency, but it appears to be due to that library.

I was mistaken with my assumption. When I tried your suggestion the program linkedOK and will runbut I got lots of warnings relating to a library built using the same version of visual studio.

1>MgnLib.lib(eg_error.obj) : warning LNK4099: PDB 'vc90.pdb' was not found with 'C:WinMgnLibx64DebugMgnLib.lib' or at 'C:WinFEM2000-32x64Debugvc90.pdb'; linking object as if no debug info

These are repeated for every function in the MgnLib libaray.

0 Kudos
Steven_L_Intel1
Employee
1,099 Views

The third-party library was built with a version of the PSDK that required this library. Try Tim's advice - but you may get undefined symbol errors from the linker if you do. Maybe.

I'm not sure if the current PSDKs include this library. You may need to find an old one (Windows Server 2003 R2) - note, 2003, not 2008.)
0 Kudos
Reply