| Ticket UUID: | 2ca1f6da0dca4a33d57720a2eb9bb0992415819e | ||
| Title: | Windows compilation in pkgs fails when using msys/configure | ||
| Type: | Bug | Created on: | 2015-04-11 20:05:22 |
| Submitter: | anonymous | Assigned to: | jan.nijtmans |
| Subsystem: | 53. Configuration and Build Tools | Severity: | Minor |
| Priority: | 5 Medium | Last modified: | 2021-03-18 15:03:53 |
| Status: | Closed | Closed by: | jan.nijtmans |
| Resolution: | Fixed | Closed on: | 2021-03-18 15:03:53 |
| Version: | 8.6.4 | ||
| Description: | ||||
Using msys and Visual Studio 2013 on Windows, building tcl 8.6.4 fails in the DBC related packages subdirs due to a superfluous ADD_MANIFEST macro in the Makefiles.
As far as I can tell the manifest related stuff is already taken care of in the *LIBS macros, so the ADD_MANIFEST macros can go away.
Error messages and proposed patches below. The patches simply remove the ADD_MANIFEST macro from the Makefiles in the dbc-related pkgs subdirs.
R'
# link -dll -nologo "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/tclstub86.lib" -release -out:tdbc103.dll tdbc.obj tdbcStubInit.obj tdbcTokenize.obj ; if test -f tdbc103.dll.manifest ; then mt.exe -nologo -manifest tdbc103.dll.manifest -outputresource:tdbc103.dll\;2 ; fi
# Bibliothek "tdbc103.lib" und Objekt "tdbc103.exp" werden erstellt.
# mt -nologo -manifest tdbc103.dll.manifest -outputresource:tdbc103.dll\;2
#
# tdbc103.dll.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
# make[1]: *** [tdbc103.dll] Error 31
# make[1]: Leaving directory `/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1
--- tcl8.6.4/pkgs/tdbc1.0.3/Makefile.in~ 2015-03-06 18:30:21 +0000
+++ tcl8.6.4/pkgs/tdbc1.0.3/Makefile.in 2015-04-11 19:46:25 +0000
@@ -106,7 +106,6 @@
MAKE_SHARED_LIB = @MAKE_SHARED_LIB@
MAKE_STATIC_LIB = @MAKE_STATIC_LIB@
MAKE_STUB_LIB = @MAKE_STUB_LIB@
-ADD_MANIFEST = @ADD_MANIFEST@
OBJEXT = @OBJEXT@
RANLIB = @RANLIB@
RANLIB_STUB = @RANLIB_STUB@
@@ -267,7 +266,6 @@
$(PKG_LIB_FILE): $(PKG_OBJECTS)
-rm -f $(PKG_LIB_FILE)
${MAKE_LIB}
- $(ADD_MANIFEST)
$(RANLIB) $(PKG_LIB_FILE)
$(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS)
Diff finished. Sat Apr 11 21:46:30 2015
# link -dll -nologo "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/tclstub86.lib" -release -out:tdbcmysql103.dll tdbcmysql.obj mysqlStubInit.obj ; if test -f tdbcmysql103.dll.manifest ; then mt.exe -nologo -manifest tdbcmysql103.dll.manifest -outputresource:tdbcmysql103.dll\;2 ; fi
# LINK : fatal error LNK1181: Eingabedatei "c:/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" kann nicht geoeffnet werden.
# mt -nologo -manifest tdbcmysql103.dll.manifest -outputresource:tdbcmysql103.dll\;2
#
# tdbcmysql103.dll.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
# make[1]: *** [tdbcmysql103.dll] Error 31
--- tcl8.6.4/pkgs/tdbcmysql1.0.3/Makefile.in~ 2015-03-06 18:33:24 +0000
+++ tcl8.6.4/pkgs/tdbcmysql1.0.3/Makefile.in 2015-04-11 19:48:00 +0000
@@ -102,7 +102,6 @@
MAKE_SHARED_LIB = @MAKE_SHARED_LIB@
MAKE_STATIC_LIB = @MAKE_STATIC_LIB@
MAKE_STUB_LIB = @MAKE_STUB_LIB@
-ADD_MANIFEST = @ADD_MANIFEST@
OBJEXT = @OBJEXT@
RANLIB = @RANLIB@
RANLIB_STUB = @RANLIB_STUB@
@@ -276,7 +275,6 @@
$(PKG_LIB_FILE): $(PKG_OBJECTS)
-rm -f $(PKG_LIB_FILE)
${MAKE_LIB}
- $(ADD_MANIFEST)
$(RANLIB) $(PKG_LIB_FILE)
#========================================================================
Diff finished. Sat Apr 11 21:48:03 2015
# link -dll -nologo "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/tclstub86.lib" -release -out:tdbcodbc103.dll tdbcodbc.obj odbcStubInit.obj ; if test -f tdbcodbc103.dll.manifest ; then mt.exe -nologo -manifest tdbcodbc103.dll.manifest -outputresource:tdbcodbc103.dll\;2 ; fi
# LINK : fatal error LNK1181: Eingabedatei "c:/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" kann nicht geffnet werden.
# mt -nologo -manifest tdbcodbc103.dll.manifest -outputresource:tdbcodbc103.dll\;2
# tdbcodbc103.dll.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
# make[1]: *** [tdbcodbc103.dll] Error 31
--- tcl8.6.4/pkgs/tdbcodbc1.0.3/Makefile.in~ 2015-03-06 18:35:10 +0000
+++ tcl8.6.4/pkgs/tdbcodbc1.0.3/Makefile.in 2015-04-11 19:50:15 +0000
@@ -95,7 +95,6 @@
MAKE_SHARED_LIB = @MAKE_SHARED_LIB@
MAKE_STATIC_LIB = @MAKE_STATIC_LIB@
MAKE_STUB_LIB = @MAKE_STUB_LIB@
-ADD_MANIFEST = @ADD_MANIFEST@
OBJEXT = @OBJEXT@
RANLIB = @RANLIB@
RANLIB_STUB = @RANLIB_STUB@
@@ -293,7 +292,6 @@
$(PKG_LIB_FILE): $(PKG_OBJECTS)
-rm -f $(PKG_LIB_FILE)
${MAKE_LIB}
- $(ADD_MANIFEST)
$(RANLIB) $(PKG_LIB_FILE)
#========================================================================
Diff finished. Sat Apr 11 21:50:21 2015
# link -dll -nologo "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" -lws2_32 "/c/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/tclstub86.lib" -release -out:tdbcpostgres103.dll tdbcpostgres.obj pqStubInit.obj ; if test -f tdbcpostgres103.dll.manifest ; then mt.exe -nologo -manifest tdbcpostgres103.dll.manifest -outputresource:tdbcpostgres103.dll\;2 ; fi
# LINK : warning LNK4044: Nicht erkannte Option /lws2_32; wird ignoriert.
# LINK : fatal error LNK1181: Eingabedatei "c:/Users/ralf/AppData/Roaming/Software/tcl8.6/tcl8.6.4/win/pkgs/tdbc1.0.3/tdbcstub103.lib" kann nicht geffnet werden.
# mt -nologo -manifest tdbcpostgres103.dll.manifest -outputresource:tdbcpostgres103.dll\;2
#
# tdbcpostgres103.dll.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
# make[1]: *** [tdbcpostgres103.dll] Error 31
--- tcl8.6.4/pkgs/tdbcpostgres1.0.3/Makefile.in~ 2015-03-06 18:36:37 +0000
+++ tcl8.6.4/pkgs/tdbcpostgres1.0.3/Makefile.in 2015-04-11 19:51:26 +0000
@@ -102,7 +102,6 @@
MAKE_SHARED_LIB = @MAKE_SHARED_LIB@
MAKE_STATIC_LIB = @MAKE_STATIC_LIB@
MAKE_STUB_LIB = @MAKE_STUB_LIB@
-ADD_MANIFEST = @ADD_MANIFEST@
OBJEXT = @OBJEXT@
RANLIB = @RANLIB@
RANLIB_STUB = @RANLIB_STUB@
@@ -264,7 +263,6 @@
$(PKG_LIB_FILE): $(PKG_OBJECTS)
-rm -f $(PKG_LIB_FILE)
${MAKE_LIB}
- $(ADD_MANIFEST)
$(RANLIB) $(PKG_LIB_FILE)
#========================================================================
Diff finished. Sat Apr 11 21:51:32 2015
| ||||
| User Comments: | ||||
jan.nijtmans added on 2015-04-20 12:08:18:
Proposed fix here: http://core.tcl.tk/tdbc/info/80c5063e0c753d7e (for tdbc base-package only). Please try it in your environment, if it works I will merge it to trunk and do the other tdbc* packages as well. Remark: please - next time - submit tickets for tdbc to http://core.tcl.tk/tdbc Thanks! ralfixx added on 2015-04-21 09:10:17:
Your patch works in my environment. > Remark: please - next time - submit tickets for tdbc to http://core.tcl.tk/tdbc Will do. I have the impression that I have to recreate an core.tcl.tk account each time I close my browser (had to recreate this one for the third time now...) R' jan.nijtmans added on 2021-03-18 15:03:53:
Merged to trunk here: [https://core.tcl-lang.org/tdbc/info/86a892a16a972ae6] closing. | ||||
