Intel Fortran v8 can't link w/ library -- but CVF 6.6 can -- why?

From: Rolf S. Arvidson (rsa4046_at_earthlink.net)
Date: 05/18/04


Date: Tue, 18 May 2004 03:20:49 GMT

Hi,
Have just started using IVF8, converting projects from CVF, and am having
problems linking to libraries that previously posed no problem under CVF 6.
IVF _finds_ the library ok (I can verify this by removing the declared
dependency and location in the project description).
The source code is extremely simple, I'm just trying to access to the
function J_START:

 PROGRAM japi_test
 INTERFACE
     LOGICAL FUNCTION j_start()
     END FUNCTION
 END INTERFACE
 IF( .NOT. j_start()) THEN
     PRINT *, "can't connect to JAPI Kernel"
 END IF
 END PROGRAM japi_test

This compiles fine, but the linker reports

main.obj : error LNK2019: unresolved external symbol _J_START referenced in
function _MAIN__
Debug/f90_test.exe : fatal error LNK1120: 1 unresolved externals

Here is the result of dumpbin (dumpbin /LINKERMEMBER:1 japi.lib) on the
import file:

Microsoft (R) COFF/PE Dumper Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

Dump of file japi.lib

File Type: LIBRARY

Archive member name at 8: /
3E5B883A time/date Tue Feb 25 09:14:02 2003
         uid
         gid
       0 mode
    22D6 size
correct header end

    397 public symbols

     4A4C _DllMain@12
     4C6C _J_ADD@8
 .
 .
<snip>
<snip>
 .
 .
    1DEE8 _J_SOUND@8
    1E106 _J_START@0
    1E324 _J_SYNC@0
 .
 .
<snip>
<snip>
 .
 .
    1EDDC _J_WINDOW@4
    1EFFC _J_WINDOWLISTENER@8
     4636 __IMPORT_DESCRIPTOR_japi
     48BC __NULL_IMPORT_DESCRIPTOR
     4A4C __imp__DllMain@12
     4C6C __imp__J_ADD@8
 .
 .
<snip>
<snip>
 .
 .
    1DEE8 __imp__J_SOUND@8
    1E106 __imp__J_START@0
    1E324 __imp__J_SYNC@0
 .
 .
<snip>
<snip>
 .
 .
     4978 japi_NULL_THUNK_DATA

So I can see the function (J_START) that I'm trying to import, and the name
agrees with that in my .OBJ file, as the result of dumpbin on the object
file seems to indicate:

dumpbin /SYMBOLS debug\MAIN.OBJ

Microsoft (R) COFF/PE Dumper Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

Dump of file debug\MAIN.OBJ

File Type: COFF OBJECT

COFF SYMBOL TABLE
000 00000000 DEBUG notype Filename | .file
    C:\home\rolf\Visual Studio Projects\f90_test\main.f90
004 00000000 SECT1 notype Static | .text
    Section length 78, #relocs 6, #linenums 4, checksum 0
006 00000000 SECT2 notype Static | .data
    Section length 0, #relocs 0, #linenums 0, checksum 0
008 00000000 SECT3 notype Static | .bss
    Section length 0, #relocs 0, #linenums 0, checksum 0
00A 00000000 SECT4 notype Static | .rdata
    Section length 0, #relocs 0, #linenums 0, checksum 0
00C 00000000 SECT5 notype Static | .tls$
    Section length 0, #relocs 0, #linenums 0, checksum 0
00E 00000000 SECT6 notype Static | .data1
    Section length 2C, #relocs 0, #linenums 0, checksum 0
010 00000000 SECT7 notype Static | .text1
    Section length 0, #relocs 0, #linenums 0, checksum 0
012 00000000 SECT1 notype () External | _MAIN__
    tag index 00000014 size 00000078 lines 00000459 next function 00000000
014 00000000 SECT1 notype BeginFunction | .bf
    line# 0001 end 00000000
016 00000004 SECT1 notype .bf or.ef | .lf
017 00000078 SECT1 notype EndFunction | .ef
    line# 000a
019 00000000 UNDEF notype () External | _for_set_reentrancy
01A 00000000 UNDEF notype () External | _J_START
01B 00000000 UNDEF notype () External | _for_write_seq_lis
01C 00000000 SECT6 notype Static | STRLITPACK_1
01D 00000008 SECT6 notype Static | STRLITPACK_0
01E 00000028 SECT6 notype Static | LITPACK_0
01F 00000000 SECT8 notype Static | .debug$S
    Section length 76, #relocs 2, #linenums 0, checksum 0
021 00000000 SECTB notype Static | .debug$T
    Section length 1C, #relocs 0, #linenums 0, checksum 0
023 00000000 SECT9 notype Static | .drectve
    Section length 8B, #relocs 0, #linenums 0, checksum 0
025 00000000 SECTA notype Static | .trace
    Section length 68, #relocs 2, #linenums 0, checksum 0

String Table Size = 0x4F bytes

  Summary

           0 .bss
           0 .data
          2C .data1
          76 .debug$S
          1C .debug$T
          8B .drectve
           0 .rdata
          78 .text
           0 .text1
           0 .tls$
          68 .trace

This same source code, together with the identical .LIB import file,
compiles/links just fine in CVF. Anybody have any idea what I'm doing wrong?
Any help would be greatly appreciated --

Cheers, Rolf



Relevant Pages

  • Re: RFC: Building the Perfect Tabbed Pane (an tutorial article)
    ... var isRealObjectProperty = function{ ... You know that the getAnElement variable exists. ... I cannot blame people for using the mainstream libraries. ...
    (comp.lang.javascript)
  • Re: How to list the statement of all var ?
    ... but as it is a command line tool it does not have access to a browser DOM ... > implementations based on language features of JavaScript 1.1 and JScript ... > script libraries which also ...
    (comp.lang.javascript)
  • Re: Just one more anecdote
    ... <big snip> ... I say this because everything you mention above, and the ordered lists you ... libraries to keep the user/programmer from worrying about it. ... My own choice when confronting these realities was that SQL products (not ...
    (comp.databases.theory)
  • Re: Virtual Machine implementation problem, Please help me to spot the bug
    ... developing it on Windows I don't know if there's ... mingw uses the Windows libraries, and the Windows equivalent to the ... Note that in this, similar, case, you got it right: you pass a pointer ...
    (comp.lang.c)
  • Re: What Ive been reading
    ... > chapels, ruins, mosques, libraries, monasteries, rural vistas, and so on - ... tape and 36 ahead of me for the book. ...
    (rec.arts.mystery)