Tcl Source Code

View Ticket
Login
Ticket UUID: 395e4d28b1bc2614be6a14bffc10bc2cb538f5bb
Title: 8.6.2 RC1 sqlite build fails
Type: Bug Version:
Submitter: apnadkarni Created on: 2014-08-20 03:18:06
Subsystem: 81. Bundled Packages Assigned To: dgp
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2014-08-20 14:09:25
Resolution: Fixed Closed By: dgp
    Closed on: 2014-08-20 14:09:25
Description:
Windows 8, VC8 compiler (64-bit). sqlite build fails with the following error message:

tclsqlite3.obj : error LNK2019: unresolved external symbol __security_cookie referenced in function sqlite3PutVarint

I believe error is caused by bufferoverflowU.lib not being included in the link line (all the other packages have it).

Tcl and other bundled packages built without errors.

/Ashok
User Comments: dgp added on 2014-08-20 14:09:25:
Similar patch applied to go into next RC.

jan.nijtmans added on 2014-08-20 10:42:23:

The sampleextension already has this part:

http://core.tcl.tk/sampleextension/artifact/f582f10cbe?ln=319-325

it just has to be taken over by tclsqlite3 as well.

Assigning to Donald Porter


apnadkarni added on 2014-08-20 03:43:11:
The patch below, copied from the tclsh makefile fixes the problem for me.

--- makefile.vc.orig    2014-08-20 08:22:27 +0530
+++ makefile.vc 2014-08-20 09:07:28 +0530
@@ -282,6 +282,14 @@
 conlflags = $(lflags) -subsystem:console
 guilflags = $(lflags) -subsystem:windows
 baselibs   = $(TCLSTUBLIB)
+# Avoid 'unresolved external symbol __security_cookie' errors.
+# c.f. http://support.microsoft.com/?id=894573
+!if "$(MACHINE)" == "IA64" || "$(MACHINE)" == "AMD64"
+!if $(VCVERSION) > 1399 && $(VCVERSION) < 1500
+baselibs   = $(baselibs) bufferoverflowU.lib
+!endif
+!endif
+

 #---------------------------------------------------------------------
 # TclTest flags