Menu

#385 linking to tk84.lib fails

obsolete: 8.4a2
closed-fixed
2
2001-12-27
2000-10-31
No

OriginalBugID: 5849 Bug
Version: 8.4a1
SubmitDate: '2000-06-07'
LastModified: '2000-07-28'
Severity: CRIT
Status: Released
Submitter: techsupp
ChangedBy: shawn
RelatedBugIDs: 6062
OS: Windows 95
FixedDate: '2000-07-28'
ClosedDate: '2000-07-28'

Name:
Don Porter

Comments:
The disk is not full.

cl == Microsoft(R) 32-Bit Optimizing Compiler Version 11.00.7022 for
80x86

The same sequence of operation succeeds with Tcl/Tk 8.3.1.

ReproducibleScript:
/* FILE: test.c
*/
#include <tcl.h>
#include <tk.h>

int
Tcl_AppInit(Tcl_Interp *interp)
{
if (Tcl_Init(interp) != TCL_OK) {
return TCL_ERROR;
}
if (Tk_Init(interp) != TCL_OK) {
return TCL_ERROR;
}
Tcl_StaticPackage(interp, "Tk", Tk_Init, Tk_SafeInit);

return TCL_OK;
}

int main(int argc, char **argv)
{
// Turn over control to the Tk library.
Tk_Main(argc, argv, Tcl_AppInit);

// Make picky compilers happy.
return 0;
}

ObservedBehavior:
C:> cl /nologo /c /IC:/PROGRA~1/TCL/include /Fotest.obj test.c
test.c

C:> link /nologo test.obj C:/PROGRA~1/TCL/lib/tk84.lib C:/PROGRA~1/TCL/lib/tcl84.lib /OUT:test.exe
C:/PROGRA~1/TCL/lib/tk84.lib: fatal error LNK1106: invalid file or disk full: cannot seek to 0x393f800d

DesiredBehavior:
I should be able to statically link
my C apps to tk84.lib.

Dave Gravereaux suggests that this is because the distribution was built with VC 6.0, which produces library files that are incompatible with VC 5.0.
We should either use VC 5.0 to build our distribution, or specify "/compat50lib" on the link line, so that the binaries produced are VC 5.0 compatible.

- eric

-- 06/19/2000 ericm

Is a duplicate of 6062
-- 07/28/2000 shawn

Discussion

  • Brent B. Welch

    Brent B. Welch - 2000-10-31
    • priority: 5 --> 2
    • status: open --> closed-fixed
     
  • Don Porter

    Don Porter - 2001-02-01

    Re-opened. The tk84.lib file distributed with the Tcl/Tk
    8.4a2 binary distribution is still not MSVC++ 5.0
    compatible.

     
  • Don Porter

    Don Porter - 2001-02-01
    • milestone: 102508 --> obsolete: 8.4a2
    • status: closed-fixed --> open
     
  • Don Porter

    Don Porter - 2001-03-27
    • labels: 104343 --> 85. Win Build
     
  • David Gravereaux

    Logged In: YES
    user_id=7549

    The latest (or last) service pack for VC5 has a linker that
    understands the VC6 format.

    http://msdn.microsoft.com/vstudio/sp/vs97/default.asp

    I think adding /LINK50COMPAT to the linker is a good idea,
    too.

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2001-12-27
    • assigned_to: nobody --> dgp
    • status: open --> closed-fixed
     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2001-12-27

    Logged In: YES
    user_id=72656

    we now use -link50compat in the default build setup.

     
  • Don Porter

    Don Porter - 2001-12-28

    Logged In: YES
    user_id=80530

    Since TCT has apparently stopped releasing binary
    distributions, this report is "Out of Date" regarding
    Tk.

    The ActiveTcl distribution does release tk83.lib and
    tcl83.lib files, and they work with VC5, due to the
    -link50compat flag in the default Win Build.

    So, things seem OK.