tclsoarlib doesn't compile on Windows #165

Closed
garfieldnate opened this Issue Jul 12, 2014 · 3 comments

Comments

Projects
None yet
3 participants
@garfieldnate
Contributor

garfieldnate commented Jul 12, 2014

This has already been brought up on the Soar mailing list, but I'm copying it here to keep better track of it.

I'm using Windows 7 64 bit. All of the required binaries, including ActiveState Tcl 8.6, are 64-bit. The build script confirms that it finds Tcl but then fails to build tclsoarlib:

Reading local environment variables from user-env.bat
PYTHON_HOME=C:\Python27
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05
SWIG_HOME=C:\dev\swigwin-3.0.2
Building intermediates to build
Installing targets to C:\Users\Nate\Desktop\workspaces\c_workspace\Soar\out
Tcl headers and libraries found at  C:/Tcl .  Will build Tcl SML wrappers.
Tcl headers and libraries found at  C:/Tcl .  Will build TclSoarLib.
late_csharp_builder(["fake-csharp-target"], [])
late_java_builder(["fake_java_target"], [])
Making build\Tcl\tclsoarlib.dll
Using tempfile c:\users\nate\appdata\local\temp\tmpvmqfie.lnk for command line:
link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
Microsoft (R) Incremental Linker Version 12.00.30626.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj 
   Creating library build\Tcl\tclsoarlib.lib and object build\Tcl\tclsoarlib.exp
main.obj : warning LNK4217: locally defined symbol ??0TclSoarLib@@QAE@PAVKernel@sml@@@Z (public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ?init_TclSoarLib@TclSoarLib@@QAEXXZ (public: void __thiscall TclSoarLib::init_TclSoarLib(void)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ??1TclSoarLib@@QAE@XZ (public: __thiscall TclSoarLib::~TclSoarLib(void)) imported in function "public: void * __thiscall TclSoarLib::`scalar deleting destructor'(unsigned int)" (??_GTclSoarLib@@QAEPAXI@Z)
main.obj : warning LNK4217: locally defined symbol ?turnOn@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOn(void)) imported in function _sml_LibraryMessage
main.obj : warning LNK4217: locally defined symbol ?turnOff@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOff(void)) imported in function _sml_LibraryMessage
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_CreateInterp referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@Z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_DeleteInterp referenced in function "public: __thiscall TclSoarLib::~TclSoarLib(void)" (??1TclSoarLib@@QAE@XZ)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Eval referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV23@@Z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_FindExecutable referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@Z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_GetStringResult referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV23@@Z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Init referenced in function "private: bool __thiscall TclSoarLib::initialize_Tcl_Interpreter(void)" (?initialize_Tcl_Interpreter@TclSoarLib@@AAE_NXZ)
build\Tcl\tclsoarlib.dll : fatal error LNK1120: 6 unresolved externals

Sorry that contains my entire PATH variable, twice. I left it in case there's an incompatibility or something.

I get the same long error dump when I do this command (which I copied out of the Scons debug output):

link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj

I confirmed that C:\Tcl\lib\tcl8.6.lib exists.

These same errors are being reported by the Windows Jenkins builds.

@bluechill

This comment has been minimized.

Show comment
Hide comment
@bluechill

bluechill Jul 12, 2014

Member

Actually these are no longer being reported by the Jenkins build and never were for 64bit. When we added a machine for 32bit we no longer encounter these issues. It seems like a path issue/VS path issue.

Alex

On Jul 12, 2014, at 2:46 AM, garfieldnate notifications@github.com wrote:

This has already been brought up on the Soar mailing list, but I'm copying it here to keep better track of it.

I'm using Windows 7 64 bit. All of the required binaries, including ActiveState Tcl 8.6, are 64-bit. The build script confirms that it finds Tcl but then fails to build tclsoarlib:

Reading local environment variables from user-env.bat
PYTHON_HOME=C:\Python27
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05
SWIG_HOME=C:\dev\swigwin-3.0.2
Building intermediates to build
Installing targets to C:\Users\Nate\Desktop\workspaces\c_workspace\Soar\out
Tcl headers and libraries found at C:/Tcl . Will build Tcl SML wrappers.
Tcl headers and libraries found at C:/Tcl . Will build TclSoarLib.
late_csharp_builder(["fake-csharp-target"], [])
late_java_builder(["fake_java_target"], [])
Making build\Tcl\tclsoarlib.dll
Using tempfile c:\users\nate\appdata\local\temp\tmpvmqfie.lnk for command line:
link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /L
IBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:
C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
Microsoft (R) Incremental Linker Version 12.00.30626.0
Copyright (C) Microsoft Corporation. All rights reserved.

/DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPAT
H:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:C:\Wi
ndows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
Creating library build\Tcl\tclsoarlib.lib and object build\Tcl\tclsoarlib.exp
main.obj : warning LNK4217: locally defined symbol ??0TclSoarLib@@QAE@PAVKernel@sml@@@z (public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ?init_TclSoarLib@TclSoarLib@@QAEXXZ (public: void __thiscall TclSoarLib::init_TclSoarLib(void)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ??1TclSoarLib@@QAE@XZ (public: __thiscall TclSoarLib::~TclSoarLib(void)) imported in function "public: void * __thiscall TclSoarLib::`scalar deleting destructor'(unsigned int)" (??_GTclSoarLib@@QAEPAXI@Z)
main.obj : warning LNK4217: locally defined symbol ?turnOn@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOn(void)) imported in function _sml_LibraryMessage
main.obj : warning LNK4217: locally defined symbol ?turnOff@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOff(void)) imported in function _sml_LibraryMessage
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_CreateInterp referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_DeleteInterp referenced in function "public: __thiscall TclSoarLib::~TclSoarLib(void)" (??1TclSoarLib@@QAE@XZ)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Eval referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@AAV23@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_FindExecutable referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_GetStringResult referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@AAV23@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Init referenced in function "private: bool __thiscall TclSoarLib::initialize_Tcl_Interpreter(void)" (?initialize_Tcl_Interpreter@TclSoarLib@@AAE_NXZ)
build\Tcl\tclsoarlib.dll : fatal error LNK1120: 6 unresolved externals
Sorry that contains my entire PATH variable, twice. I left it in case there's an incompatibility or something.

I get the same long error dump when I do this command (which I copied out of the Scons debug output):

link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
I confirmed that C:\Tcl\lib\tcl8.6.lib exists.

These same errors are being reported by the Windows Jenkins builds.


Reply to this email directly or view it on GitHub.

Member

bluechill commented Jul 12, 2014

Actually these are no longer being reported by the Jenkins build and never were for 64bit. When we added a machine for 32bit we no longer encounter these issues. It seems like a path issue/VS path issue.

Alex

On Jul 12, 2014, at 2:46 AM, garfieldnate notifications@github.com wrote:

This has already been brought up on the Soar mailing list, but I'm copying it here to keep better track of it.

I'm using Windows 7 64 bit. All of the required binaries, including ActiveState Tcl 8.6, are 64-bit. The build script confirms that it finds Tcl but then fails to build tclsoarlib:

Reading local environment variables from user-env.bat
PYTHON_HOME=C:\Python27
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05
SWIG_HOME=C:\dev\swigwin-3.0.2
Building intermediates to build
Installing targets to C:\Users\Nate\Desktop\workspaces\c_workspace\Soar\out
Tcl headers and libraries found at C:/Tcl . Will build Tcl SML wrappers.
Tcl headers and libraries found at C:/Tcl . Will build TclSoarLib.
late_csharp_builder(["fake-csharp-target"], [])
late_java_builder(["fake_java_target"], [])
Making build\Tcl\tclsoarlib.dll
Using tempfile c:\users\nate\appdata\local\temp\tmpvmqfie.lnk for command line:
link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /L
IBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:
C:\Windows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
Microsoft (R) Incremental Linker Version 12.00.30626.0
Copyright (C) Microsoft Corporation. All rights reserved.

/DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" /LIBPATH:C:\dev\swigwin-3.0.2 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" "/LIBPATH:C:\Program Files (x86)\MSBuild\12.0\bin" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" /LIBPATH:C:\Windows\Microsoft.NET\Framework\v4.0.30319 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\bin\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools" /LIBPATH:C:\Windows\system32 /LIBPATH:C:\Windows /LIBPAT
H:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\bin /LIBPATH:C:\Chocolatey\bin "/LIBPATH:C:\Program Files\kdiff3" /LIBPATH:C:\sysinternals "/LIBPATH:C:\Program Files\NSIS" /LIBPATH:C:\bin\apache-maven-3.2.1\bin /LIBPATH:C:\Chocolatey\lib\gradle.1.11\tools\gradle-1.11\bin /LIBPATH:C:\MinGW\bin /LIBPATH:C:\Users\Nate\AppData\Roaming\npm /LIBPATH:C:\Wi
ndows\system32 /LIBPATH:C:\Windows /LIBPATH:C:\Windows\system32\Wbem /LIBPATH:C:\Windows\system32\WindowsPowerShell\v1.0 "/LIBPATH:C:\Program Files\Broadcom\Broadcom 802.11\Driver" "/LIBPATH:C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static" "/LIBPATH:C:\Program Files\Calibre2" "/LIBPATH:C:\Program Files\SlikSvn\bin" "/LIBPATH:C:\Program Files\TortoiseSVN\bin" "/LIBPATH:C:\Program Files (x86)\Git\cmd" "/LIBPATH:C:\Program Files (x86)\GNU\GnuPG\pub" "/LIBPATH:C:\Program Files\Java\jdk1.8.0_05\bin" "/LIBPATH:C:\Program Files\nodejs" "/LIBPATH:C:\Program Files\Microsoft SQL Server\110\Tools\Binn" /LIBPATH:C:\Ruby193\bin /LIBPATH:C:\Python27 "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
Creating library build\Tcl\tclsoarlib.lib and object build\Tcl\tclsoarlib.exp
main.obj : warning LNK4217: locally defined symbol ??0TclSoarLib@@QAE@PAVKernel@sml@@@z (public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ?init_TclSoarLib@TclSoarLib@@QAEXXZ (public: void __thiscall TclSoarLib::init_TclSoarLib(void)) imported in function _sml_InitLibrary
main.obj : warning LNK4217: locally defined symbol ??1TclSoarLib@@QAE@XZ (public: __thiscall TclSoarLib::~TclSoarLib(void)) imported in function "public: void * __thiscall TclSoarLib::`scalar deleting destructor'(unsigned int)" (??_GTclSoarLib@@QAEPAXI@Z)
main.obj : warning LNK4217: locally defined symbol ?turnOn@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOn(void)) imported in function _sml_LibraryMessage
main.obj : warning LNK4217: locally defined symbol ?turnOff@TclSoarLib@@QAE_NXZ (public: bool __thiscall TclSoarLib::turnOff(void)) imported in function _sml_LibraryMessage
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_CreateInterp referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_DeleteInterp referenced in function "public: __thiscall TclSoarLib::~TclSoarLib(void)" (??1TclSoarLib@@QAE@XZ)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Eval referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@AAV23@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_FindExecutable referenced in function "public: __thiscall TclSoarLib::TclSoarLib(class sml::Kernel *)" (??0TclSoarLib@@QAE@PAVKernel@sml@@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_GetStringResult referenced in function "private: int __thiscall TclSoarLib::GlobalEval(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > &)" (?GlobalEval@TclSoarLib@@AAEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@AAV23@@z)
TclSoarLib.obj : error LNK2019: unresolved external symbol __imp__Tcl_Init referenced in function "private: bool __thiscall TclSoarLib::initialize_Tcl_Interpreter(void)" (?initialize_Tcl_Interpreter@TclSoarLib@@AAE_NXZ)
build\Tcl\tclsoarlib.dll : fatal error LNK1120: 6 unresolved externals
Sorry that contains my entire PATH variable, twice. I left it in case there's an incompatibility or something.

I get the same long error dump when I do this command (which I copied out of the Scons debug output):

link /DEBUG /dll /out:build\Tcl\tclsoarlib.dll /implib:build\Tcl\tclsoarlib.lib /LIBPATH:out /LIBPATH:C:\Tcl\lib Soar.lib advapi32.lib tcl86.lib Soar.lib build\Tcl\src\TclSoarLib.obj build\Tcl\src\main.obj
I confirmed that C:\Tcl\lib\tcl8.6.lib exists.

These same errors are being reported by the Windows Jenkins builds.


Reply to this email directly or view it on GitHub.

@garfieldnate

This comment has been minimized.

Show comment
Hide comment
@garfieldnate

garfieldnate Jul 13, 2014

Contributor

All fixed! I used a bunch of different commands to come to a very simple conclusion

  • link:
    • /VERBOSE told me exactly what libraries it searched and what it found
    • /MACHINE:x64 failed because of mismatched object types (x86 and x64)
  • dumpbin /HEADERS told me explicitly which binaries were 32-bit and which were 64; Tcl was 64-bit but the compiled Soar code was 32-bit

and then I realized that the prompt I was using was called VS2013 x86 Native Tools Command Prompt. Duh! So all of the compiled C++ was 32-bit. I needed to use VS2013 x64 Cross Tools Command Prompt. I was only paying attention to the Cross Tools and Native parts, which were explicitly mentioned in the build instructions but didn't seem to matter. My suggestion would be to update the wiki instructions with this little bit:

If the prompt names include the architecture (x86 or x64), you should choose the one that matches the architecture you are building for (32-bit or 64-bit).

After that I ran into a problem similar to the Tcl errors because I had 32-bit Python. After fixing that, build all works just fine.

Contributor

garfieldnate commented Jul 13, 2014

All fixed! I used a bunch of different commands to come to a very simple conclusion

  • link:
    • /VERBOSE told me exactly what libraries it searched and what it found
    • /MACHINE:x64 failed because of mismatched object types (x86 and x64)
  • dumpbin /HEADERS told me explicitly which binaries were 32-bit and which were 64; Tcl was 64-bit but the compiled Soar code was 32-bit

and then I realized that the prompt I was using was called VS2013 x86 Native Tools Command Prompt. Duh! So all of the compiled C++ was 32-bit. I needed to use VS2013 x64 Cross Tools Command Prompt. I was only paying attention to the Cross Tools and Native parts, which were explicitly mentioned in the build instructions but didn't seem to matter. My suggestion would be to update the wiki instructions with this little bit:

If the prompt names include the architecture (x86 or x64), you should choose the one that matches the architecture you are building for (32-bit or 64-bit).

After that I ran into a problem similar to the Tcl errors because I had 32-bit Python. After fixing that, build all works just fine.

garfieldnate added a commit to garfieldnate/Soar that referenced this issue Jul 13, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.

garfieldnate added a commit to garfieldnate/Soar that referenced this issue Jul 13, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.

garfieldnate added a commit to garfieldnate/Soar that referenced this issue Jul 13, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.

garfieldnate added a commit to garfieldnate/Soar that referenced this issue Jul 13, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.

This was referenced Jul 13, 2014

@mazina

This comment has been minimized.

Show comment
Hide comment
@mazina

mazina Jul 17, 2014

Contributor

On Sun, Jul 13, 2014 at 1:33 AM, garfieldnate notifications@github.com
wrote:

If the prompt names include the architecture (x86 or x64), you should
choose the one that matches the architecture you are building for (32-bit
or 64-bit).

I've added your suggestion to the Windows build instructions. Thanks!

Contributor

mazina commented Jul 17, 2014

On Sun, Jul 13, 2014 at 1:33 AM, garfieldnate notifications@github.com
wrote:

If the prompt names include the architecture (x86 or x64), you should
choose the one that matches the architecture you are building for (32-bit
or 64-bit).

I've added your suggestion to the Windows build instructions. Thanks!

garfieldnate added a commit to garfieldnate/Soar that referenced this issue Jul 18, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.

mazina added a commit that referenced this issue Sep 5, 2014

report MSVC target architecture
Report the MSVC target architecture during the build since Windows
users have to pick the correct one. The target architecture was already
being checked in order to set `g_msvs_variant`, so just move the logic
into a function, store it in a variable and use the result for both
actions. Helps with #165.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment