- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ineed to install 8.1 for IA-32 processors (only)
As the prerequisite software, I am using Microsoft Visual C++ 2005 Express
The Fortran build I am using is: w_fc_pc_8[1].1.042.exe
As indicated elsewhere in this forum, I fixed the paths inifortvars.bat and ifort.cfg
My attempt to compile is then met with:
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
libc.lib does not reside on my system. It is my understanding that I only need
the Microsoft Platform SDK for IA-64 applications.
Why then is ifort in need of libc.lib and is there a workaround?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wouldn't call that a workaround; it's the documented procedure.
The workaround comes in that the location of the linker in the SDK has to be edited into ifort.cfg in the ifort in installation directory. If you are lucky, it may occur automatically if you repeat the installation, which you can do by starting the install in the download directory which was created the first time you tried. In my case, the path was not complete, although enough of it was present to show that the installer found the SDK automatically.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have installed VS2005(using vcsetup.exe version 2.0.50727.42)and PSDK (PSDK-x86.exe version 6.0.2600.0) in order to use IVF 9.1 (Build 20070322Z installed without the IDE).
I had previously been using .NET 2003 to provide the stuff that is needed to use IVF (flames suppressed) but switched to the free VS2005 because my university stopped licensing .NET 2003. I removed .NET 2003 and related materials before installing VC2005 and PSDK.
Attempts to compile from the command lineproduces this error:
ifort /nologo /nbs /w /4Yportlib /Gs /Ob1gyti /Qprec_div /Fetheopd FSUBS.for @link.txt
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
Despite the previous message in this thread it seems on my installation that the /MT default doesn't work to suppress the linker attempting to open LIBC.lib. I have tried adding /MT with/link /NODEFAULTLIB:LIBC to ifort.cfg like this:
# Enable Microsoft Visual C++* .NET 7.1 compatibility
-Qvc7.1
# Path to Microsoft Visual C++* .NET 7.1 linker
-Qlocation,link,"C:Program FilesMicrosoft Visual Studio 8VCBin"
# Suppress linker search for unneeded LIBC.lib
/MT /link /NODEFAULTLIB:LIBC
This works to suppress the linker error message. /MT alone was not enough - I had to have both extra options in order to make it work.
So does IVF 9.1 somehow remember it was installed with .NET 2003 and thendoes not use the proper switches when it is used with VS 2005?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/Qvc8
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, I tried changing ifort.cfg from the original setting:
-Qvc7
to
/Qvc8
but this caused the same LNK1104: cannot open file 'LIBC.lib' error.
I have to add
# Suppress linker search for unneeded LIBC.lib
/MT /link /NODEFAULTLIB:LIBC
for a successful compilation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page