Closed pramodk closed 1 year ago
Install latest Visual Studio
It will be nice to get to this point but there is a current issue in that the nrn/mingw_files/vcenv.sh file that sets the environment assumes Visual Studio 2015. In particular, use of Visual Studio 2017 will generate an "Error: Unable to find vcvarsall.bat" when processing the cython generated extension files in share/lib/python/neuron/rxd/geometry3d (those extensions are the only place where visual c is used). I suspect the same issue will occur with Visual Studio 2019 and I do not know if an update to vcenv.sh would fix the issue. This whole area is worrisome because of https://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat and https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/ The main reason visual c is used at this place is to avoid a crash when building against python 3.5. Ironically, I have not been able to use visual c to build against python 2.7 and in that case we are using the mingw compiler. For Python 3.6 and greater, visual c successfully compiles the cython generated cpp files without change and it is also possible with the minor cpp changes done by the CMakeLists.txt in that folder, to compile with gcc.
Is there an implicit policy for how long NEURON supports a given Python version?
We could continue supporting 3.5 using a more complicated compilation process, but given that the current version is 3.8:
Should we provide simple compile instructions that work in the 3.6+ case?
I'm guessing almost anyone who needs to compile on Windows would be using a more recent Python?
There are no statistics on usage. The question is a good one. At the moment I don't know with complete clarity all the issues surrounding mingw gcc, visual c, python-x.x setup.py, and the bit of hacking of cython generated cpp files. I spent several weeks in October in an attempt to simplify the build of the geometry3d extensions and after myriad failures ended up with the exact same substantive work arounds as was used by the autotools build. One detail for a mingw gcc build of those extensions is the requirement to observe the MSC version number that Python was built with and correspondingly modify the, eg, Python37/Lib/distutils/cygwincompiler.py accordingly. in the Python37 case that means the addition of the lines
elif msc_ver == '1915':
return ['msvcrt']
Perhaps the happy day that all this has been settled is already here and it only suffices to abandon 3.5 (and someday 2.7)
I see from https://packaging.python.org/guides/packaging-binary-extensions/#id9 Note that from Python 3.5 onwards, Visual Studio works in a backward compatible way, which means that any future version of Visual Studio will be able to build Python extensions for all Python versions from 3.5 onwards.
so an update of vcenv.sh sounds promising
Ok.
I am going through the old instructions and documenting the process. I will post an update once done (bit slow progress as I am attending conference).
Last year I followed the windows build process. I don't have detailed instructions (yet) but uploading screenshots that I took step-by-step:
Translating release.mod into release.c
Thread Safe
+ rm cabpump.o cachan1.o camchan.o capump.o invlfire.o khhchan.o mcna.o mod_func.o nacaex.o nachan.o release.o cabpump.c cachan1.c camchan.c capump.c invlfire.c khhchan.c mcna.c mod_func.c nacaex.c nachan.c release.c
+ test '!' -f nrnmech.dll
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "C:/msys64/home/kumbhar/nrn/build/src/mswin/nrnsetupmingw.nsi" (ACP)
Error: unterminated string parsing line at macro:_IncludeStrFunction:7
Error in macro _IncludeStrFunction on macroline 7
!include: error in script: "EnvVarUpdate.nsh" on line 49
Error in script "C:/msys64/home/kumbhar/nrn/build/src/mswin/nrnsetupmingw.nsi" on line 25 -- aborting creation process
make[3]: *** [src/mswin/CMakeFiles/setup_exe.dir/build.make:81: src/mswin/CMakeFiles/setup_exe] Error 1
make[2]: *** [CMakeFiles/Makefile2:834: src/mswin/CMakeFiles/setup_exe.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:841: src/mswin/CMakeFiles/setup_exe.dir/rule] Error 2
make: *** [Makefile:444: setup_exe] Error 2
File C:/msys64/home/kumbhar/nrn/build/src/mswin/nrnsetupmingw.nsi
has:
!include "EnvVarUpdate.nsh"
And EnvVarUpdate.nsh
looks like:
$ cat ./src/mswin/EnvVarUpdate.nsh
/**
* EnvVarUpdate.nsh
* : Environmental Variables: append, prepend, and remove entries
*
* WARNING: If you use StrFunc.nsh header then include it before this file
* with all required definitions. This is to avoid conflicts
*
* Usage:
* ${EnvVarUpdate} "ResultVar" "EnvVarName" "Action" "RegLoc" "PathString"
*
* Credits:
* Version 1.0
* * Cal Turney (turnec2)
* * Amir Szekely (KiCHiK) and e-circ for developing the forerunners of this
* function: AddToPath, un.RemoveFromPath, AddToEnvVar, un.RemoveFromEnvVar,
* WriteEnvStr, and un.DeleteEnvStr
* * Diego Pedroso (deguix) for StrTok
* * Kevin English (kenglish_hi) for StrContains
* * Hendri Adriaens (Smile2Me), Diego Pedroso (deguix), and Dan Fuhry
* (dandaman32) for StrReplace
*
* Version 1.1 (compatibility with StrFunc.nsh)
* * techtonik
*
* http://nsis.sourceforge.net/Environmental_Variables:_append%2C_prepend%2C_and_remove_entries
*
*/
!ifndef ENVVARUPDATE_FUNCTION
!define ENVVARUPDATE_FUNCTION
!verbose push
!verbose 3
!include "LogicLib.nsh"
!include "WinMessages.NSH"
!include "StrFunc.nsh"
; ---- Fix for conflict if StrFunc.nsh is already includes in main file -----------------------
!macro _IncludeStrFunction StrFuncName
!ifndef ${StrFuncName}_INCLUDED
${${StrFuncName}}
!endif
!ifndef Un${StrFuncName}_INCLUDED
${Un${StrFuncName}}
!endif
!define un.${StrFuncName} "${Un${StrFuncName}}"
!macroend
!insertmacro _IncludeStrFunction StrTok
!insertmacro _IncludeStrFunction StrStr
!insertmacro _IncludeStrFunction StrRep
; ---------------------------------- Macro Definitions ----------------------------------------
!macro _EnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
Push "${EnvVarName}"
Push "${Action}"
Push "${RegLoc}"
Push "${PathString}"
Call EnvVarUpdate
Pop "${ResultVar}"
!macroend
!define EnvVarUpdate '!insertmacro "_EnvVarUpdateConstructor"'
!macro _unEnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
Push "${EnvVarName}"
Push "${Action}"
Push "${RegLoc}"
Push "${PathString}"
Call un.EnvVarUpdate
Pop "${ResultVar}"
!macroend
!define un.EnvVarUpdate '!insertmacro "_unEnvVarUpdateConstructor"'
; ---------------------------------- Macro Definitions end-------------------------------------
;----------------------------------- EnvVarUpdate start----------------------------------------
!define hklm_all_users 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!define hkcu_current_user 'HKCU "Environment"'
!macro EnvVarUpdate UN
Function ${UN}EnvVarUpdate
Push $0
Exch 4
Exch $1
Exch 3
Exch $2
Exch 2
Exch $3
Exch
Exch $4
Push $5
Push $6
Push $7
Push $8
Push $9
Push $R0
/* After this point:
-------------------------
$0 = ResultVar (returned)
$1 = EnvVarName (input)
$2 = Action (input)
$3 = RegLoc (input)
$4 = PathString (input)
$5 = Orig EnvVar (read from registry)
$6 = Len of $0 (temp)
$7 = tempstr1 (temp)
$8 = Entry counter (temp)
$9 = tempstr2 (temp)
$R0 = tempChar (temp) */
; Step 1: Read contents of EnvVarName from RegLoc
;
; Check for empty EnvVarName
${If} $1 == ""
SetErrors
DetailPrint "ERROR: EnvVarName is blank"
Goto EnvVarUpdate_Restore_Vars
${EndIf}
; Check for valid Action
${If} $2 != "A"
${AndIf} $2 != "P"
${AndIf} $2 != "R"
SetErrors
DetailPrint "ERROR: Invalid Action - must be A, P, or R"
Goto EnvVarUpdate_Restore_Vars
${EndIf}
${If} $3 == HKLM
ReadRegStr $5 ${hklm_all_users} $1 ; Get EnvVarName from all users into $5
${ElseIf} $3 == HKCU
ReadRegStr $5 ${hkcu_current_user} $1 ; Read EnvVarName from current user into $5
${Else}
SetErrors
DetailPrint 'ERROR: Action is [$3] but must be "HKLM" or HKCU"'
Goto EnvVarUpdate_Restore_Vars
${EndIf}
; Check for empty PathString
${If} $4 == ""
SetErrors
DetailPrint "ERROR: PathString is blank"
Goto EnvVarUpdate_Restore_Vars
${EndIf}
;;khc - here check if length is going to be greater then max string length
;; and abort if so - also abort if original path empty - may mean
;; it was too long as well- write message to say set it by hand
Push $6
Push $7
Push $8
StrLen $7 $4
StrLen $6 $5
IntOp $8 $6 + $7
;${If} $5 == ""
;${OrIf} $8 >= ${NSIS_MAX_STRLEN}
${If} $8 >= ${NSIS_MAX_STRLEN}
SetErrors
DetailPrint "Current $1 length ($6) too long to modify in NSIS; set manually if needed"
Pop $8
Pop $7
Pop $6
Goto EnvVarUpdate_Restore_Vars
${EndIf}
Pop $8
Pop $7
Pop $6
;;khc
; Make sure we've got some work to do
${If} $5 == ""
${AndIf} $2 == "R"
SetErrors
DetailPrint "$1 is empty - Nothing to remove"
Goto EnvVarUpdate_Restore_Vars
${EndIf}
; Step 2: Scrub EnvVar
;
StrCpy $0 $5 ; Copy the contents to $0
; Remove spaces around semicolons (NOTE: spaces before the 1st entry or
; after the last one are not removed here but instead in Step 3)
${If} $0 != "" ; If EnvVar is not empty ...
${Do}
${${UN}StrStr} $7 $0 " ;"
${If} $7 == ""
${ExitDo}
${EndIf}
${${UN}StrRep} $0 $0 " ;" ";" ; Remove '<space>;'
${Loop}
${Do}
${${UN}StrStr} $7 $0 "; "
${If} $7 == ""
${ExitDo}
${EndIf}
${${UN}StrRep} $0 $0 "; " ";" ; Remove ';<space>'
${Loop}
${Do}
${${UN}StrStr} $7 $0 ";;"
${If} $7 == ""
${ExitDo}
${EndIf}
${${UN}StrRep} $0 $0 ";;" ";"
${Loop}
; Remove a leading or trailing semicolon from EnvVar
StrCpy $7 $0 1 0
${If} $7 == ";"
StrCpy $0 $0 "" 1 ; Change ';<EnvVar>' to '<EnvVar>'
${EndIf}
StrLen $6 $0
IntOp $6 $6 - 1
StrCpy $7 $0 1 $6
${If} $7 == ";"
StrCpy $0 $0 $6 ; Change ';<EnvVar>' to '<EnvVar>'
${EndIf}
; DetailPrint "Scrubbed $1: [$0]" ; Uncomment to debug
${EndIf}
/* Step 3. Remove all instances of the target path/string (even if "A" or "P")
$6 = bool flag (1 = found and removed PathString)
$7 = a string (e.g. path) delimited by semicolon(s)
$8 = entry counter starting at 0
$9 = copy of $0
$R0 = tempChar */
${If} $5 != "" ; If EnvVar is not empty ...
StrCpy $9 $0
StrCpy $0 ""
StrCpy $8 0
StrCpy $6 0
${Do}
${${UN}StrTok} $7 $9 ";" $8 "0" ; $7 = next entry, $8 = entry counter
${If} $7 == "" ; If we've run out of entries,
${ExitDo} ; were done
${EndIf} ;
; Remove leading and trailing spaces from this entry (critical step for Action=Remove)
${Do}
StrCpy $R0 $7 1
${If} $R0 != " "
${ExitDo}
${EndIf}
StrCpy $7 $7 "" 1 ; Remove leading space
${Loop}
${Do}
StrCpy $R0 $7 1 -1
${If} $R0 != " "
${ExitDo}
${EndIf}
StrCpy $7 $7 -1 ; Remove trailing space
${Loop}
${If} $7 == $4 ; If string matches, remove it by not appending it
StrCpy $6 1 ; Set 'found' flag
${ElseIf} $7 != $4 ; If string does NOT match
${AndIf} $0 == "" ; and the 1st string being added to $0,
StrCpy $0 $7 ; copy it to $0 without a prepended semicolon
${ElseIf} $7 != $4 ; If string does NOT match
${AndIf} $0 != "" ; and this is NOT the 1st string to be added to $0,
StrCpy $0 $0;$7 ; append path to $0 with a prepended semicolon
${EndIf} ;
IntOp $8 $8 + 1 ; Bump counter
${Loop} ; Check for duplicates until we run out of paths
${EndIf}
; Step 4: Perform the requested Action
;
${If} $2 != "R" ; If Append or Prepend
${If} $6 == 1 ; And if we found the target
DetailPrint "Target is already present in $1. It will be removed and"
${EndIf}
${If} $0 == "" ; If EnvVar is (now) empty
StrCpy $0 $4 ; just copy PathString to EnvVar
${If} $6 == 0 ; If found flag is either 0
${OrIf} $6 == "" ; or blank (if EnvVarName is empty)
DetailPrint "$1 was empty and has been updated with the target"
${EndIf}
${ElseIf} $2 == "A" ; If Append (and EnvVar is not empty),
StrCpy $0 $0;$4 ; append PathString
${If} $6 == 1
DetailPrint "appended to $1"
${Else}
DetailPrint "Target was appended to $1"
${EndIf}
${Else} ; If Prepend (and EnvVar is not empty),
StrCpy $0 $4;$0 ; prepend PathString
${If} $6 == 1
DetailPrint "prepended to $1"
${Else}
DetailPrint "Target was prepended to $1"
${EndIf}
${EndIf}
${Else} ; If Action = Remove
${If} $6 == 1 ; and we found the target
DetailPrint "Target was found and removed from $1"
${Else}
DetailPrint "Target was NOT found in $1 (nothing to remove)"
${EndIf}
${If} $0 == ""
DetailPrint "$1 is now empty"
${EndIf}
${EndIf}
; Step 5: Update the registry at RegLoc with the updated EnvVar and announce the change
;
ClearErrors
${If} $3 == HKLM
WriteRegExpandStr ${hklm_all_users} $1 $0 ; Write it in all users section
${ElseIf} $3 == HKCU
WriteRegExpandStr ${hkcu_current_user} $1 $0 ; Write it to current user section
${EndIf}
IfErrors 0 +4
MessageBox MB_OK|MB_ICONEXCLAMATION "Could not write updated $1 to $3"
DetailPrint "Could not write updated $1 to $3"
Goto EnvVarUpdate_Restore_Vars
; "Export" our change
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
EnvVarUpdate_Restore_Vars:
;
; Restore the user's variables and return ResultVar
Pop $R0
Pop $9
Pop $8
Pop $7
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Push $0 ; Push my $0 (ResultVar)
Exch
Pop $0 ; Restore his $0
FunctionEnd
!macroend ; EnvVarUpdate UN
!insertmacro EnvVarUpdate ""
!insertmacro EnvVarUpdate "un."
;----------------------------------- EnvVarUpdate end----------------------------------------
!verbose pop
!endif
NSIS version is :
And I came across this : https://github.com/HaxeFoundation/haxe/issues/9158
I replaced
choco install nsis
with
choco install --no-progress nsis.portable --version 3.02 -y
NSIS needs to use from:
diff --git a/mingw_files/cpmxe.sh b/mingw_files/cpmxe.sh
index 994aad91..1e19a66b 100644
--- a/mingw_files/cpmxe.sh
+++ b/mingw_files/cpmxe.sh
@@ -37,5 +37,5 @@ done
cp c:/ms-mpi/lib/x64/msmpi.dll $m
mv $m/hocmodule.dll $m/../lib/python/neuron/hoc.pyd
-(cd src/mswin ; /c/Program\ Files\ \(x86\)/NSIS/makensis nrnsetupmingw.nsi)
+(cd src/mswin ; /c/ProgramData/chocolatey/lib/nsis.portable/tools/nsis-3.02/Bin/makensis nrnsetupmingw.nsi)
The version of NSIS I have is 3.04. I don't know if that is pertinant to your issue.
When you do get setup.exe... One can run the neuron setup.exe from an msys bash shell in silent (unattended) mode in the build folder with
cmd //c "src\mswin\nrn8.0setup-AMD64 /S"
or more simply (as we later found out) with a double / to indicate an arg
src/mswin/nrn8.0setup-AMD64 //S
One can uninstall with
cmd //c "c:\nrn\uninstall /S"
but you need to wait for a few seconds as the cmd exits quickly and I guess uninstall runs in the background.
From within a bash terminal and from there running the nrn...setup.exe from cmd. Further invocations of cmd do not see the new environment variables such as PYTHONPATH and the modified PATH. However, starting a completely new command prompt with a new window (which does have those environement variables), one can successfully...
bash
e:/python37/python -c "import neuron; neuron.test()"
The version of NSIS I have is 3.04. I don't know if that is pertinant to your issue.
I now installed 3.04 and it's working fine!
choco install --no-progress nsis --version 3.04 -y
Perhaps my EnvVarUpdate.nsh.in needs to be abandoned because of the warning at https://nsis.sourceforge.io/Environmental_Variables:_append,_prepend,_and_remove_entries What is now suggested is a plugin called EnVar_plugin.zip that gets extracted into where NSIS is installed.
I also see :
1 warning:
7010: File: "C:\nrn-install\..\nrnhtml" -> no files found. (C:/msys64/home/kumbhar/nrn/build/src/mswin/nrnsetupmingw.nsi:191)
[100%] Built target setup_exe
Yes. That is for the documentation Section which I purposely have made nonfatal. That nrnhtml folder needs to be extracted from a zip file and is currently way out of date. It is basically a copy of the old web documentation prior to Robert's conversion to the new format. Let's ignore for now. I'm not sure this is even needed as I expect the python help still is being installed.
@nrnhines : what are paths we expect to have on windows system? i.e. what are hardcoded paths in our build scripts? For example, I see following file:
→ cat mingw_files/vcenv.sh
export UCRTContentRoot='C:\Program Files (x86)\Windows Kits\10\'
export INCLUDE='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\winrt;'
export curDir='C:\Program Files (x86)\Microsoft Visual C++ Build Tools\'
export FrameworkVersion64='v4.0.30319'
export WindowsLibPath='References\CommonConfiguration\Neutral'
export FrameworkDIR64='C:\Windows\Microsoft.NET\Framework64'
export VCTargetsPath='C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\'
export Platform='X64'
export CommandPromptType='Native'
export FrameworkDir='C:\Windows\Microsoft.NET\Framework64'
export WindowsSDKLibVersion='winv6.3\'
export VCINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\'
export LIB='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64;'
export LIBPATH='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Windows\Microsoft.NET\Framework64\;References\CommonConfiguration\Neutral;\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral;'
export CurrentDir='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC'
export WindowsSdkDir='C:\Program Files (x86)\Windows Kits\8.1\'
export UCRTVersion='10.0.10240.0'
export FrameworkVersion='v4.0.30319'
export UniversalCRTSdkDir='C:\Program Files (x86)\Windows Kits\10'
export PATH='/c/Program Files (x86)/MSBuild/14.0/bin/amd64:/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64:/c/Windows/Microsoft.NET/Framework64/v4.0.30319:/c/Windows/Microsoft.NET/Framework64:/c/Program Files (x86)/Windows Kits/8.1/bin/x64:/c/Program Files (x86)/Windows Kits/8.1/bin/x86':$PATH
I assume this is used. If so, which of these paths are required or can be removed?
Also, what are other paths that we have hardcoded in our mingw scripts?
For Azure CI, I have following output using Get-Childitem 'C:\' -depth 1 -directory
on PowerShell:
2020-05-18T21:32:41.0081812Z ##[command]"C:\Program Files\PowerShell\7\pwsh.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a\_temp\ab267313-1d19-4971-b134-cfa518dc60fc.ps1'"
2020-05-18T21:32:41.6563734Z
2020-05-18T21:32:41.6570373Z
2020-05-18T21:32:41.6578555Z Directory: C:\
2020-05-18T21:32:41.6580095Z
2020-05-18T21:32:41.6582354Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6583089Z ---- ------------- ------ ----
2020-05-18T21:32:41.6584790Z d---- 5/18/2020 9:19 PM agents
2020-05-18T21:32:41.6591407Z d---- 5/1/2020 12:46 AM cf-cli
2020-05-18T21:32:41.6595816Z d---- 4/30/2020 10:45 PM cobertura-2.1.1
2020-05-18T21:32:41.6601449Z d---- 4/30/2020 10:02 PM Go1.10.8
2020-05-18T21:32:41.6605261Z d---- 4/30/2020 10:06 PM Go1.11.13
2020-05-18T21:32:41.6610461Z d---- 4/30/2020 10:10 PM Go1.12.17
2020-05-18T21:32:41.6613212Z d---- 4/30/2020 10:13 PM Go1.13.10
2020-05-18T21:32:41.6617473Z d---- 4/30/2020 10:17 PM Go1.14.2
2020-05-18T21:32:41.6620917Z d---- 4/30/2020 9:59 PM Go1.9.7
2020-05-18T21:32:41.6626072Z d---- 4/30/2020 9:32 PM hostedtoolcache
2020-05-18T21:32:41.6628555Z d---- 4/30/2020 7:22 PM image
2020-05-18T21:32:41.6632555Z d---- 4/30/2020 7:26 PM inetpub
2020-05-18T21:32:41.6636540Z d---- 4/30/2020 10:21 PM Julia
2020-05-18T21:32:41.6640418Z d---- 4/30/2020 8:31 PM Microsoft
2020-05-18T21:32:41.6644305Z d---- 5/1/2020 12:44 AM Miniconda
2020-05-18T21:32:41.6648136Z d---- 5/1/2020 12:41 AM Modules
2020-05-18T21:32:41.6651684Z d---- 5/18/2020 9:23 PM ms-mpi
2020-05-18T21:32:41.6662259Z d---- 5/18/2020 9:22 PM msys64
2020-05-18T21:32:41.6662921Z d---- 4/30/2020 11:14 PM mysql-5.7.21-winx64
2020-05-18T21:32:41.6668680Z d---- 4/30/2020 9:27 PM npm
2020-05-18T21:32:41.6673429Z d---- 4/30/2020 7:22 PM Packages
2020-05-18T21:32:41.6676866Z d---- 9/15/2018 7:19 AM PerfLogs
2020-05-18T21:32:41.6683134Z d-r-- 5/1/2020 12:45 AM Program Files
2020-05-18T21:32:41.6686231Z d---- 5/1/2020 12:46 AM Program Files (x86)
2020-05-18T21:32:41.6689848Z d---- 5/18/2020 9:25 PM python354
2020-05-18T21:32:41.6693506Z d---- 5/18/2020 9:26 PM python368
2020-05-18T21:32:41.6696955Z d---- 4/30/2020 10:18 PM Rust
2020-05-18T21:32:41.6701551Z d---- 4/30/2020 10:25 PM selenium
2020-05-18T21:32:41.6705316Z d---- 4/30/2020 10:26 PM SeleniumWebDrivers
2020-05-18T21:32:41.6709202Z d---- 4/30/2020 9:55 PM Strawberry
2020-05-18T21:32:41.6712354Z d---- 5/1/2020 12:28 AM Temp
2020-05-18T21:32:41.6716144Z d---- 4/30/2020 10:18 PM tools
2020-05-18T21:32:41.6720200Z d-r-- 5/18/2020 4:36 PM Users
2020-05-18T21:32:41.6724660Z d---- 5/1/2020 12:47 AM vcpkg
2020-05-18T21:32:41.6728212Z d-r-- 5/18/2020 4:34 PM Windows
2020-05-18T21:32:41.6735303Z d---- 4/30/2020 7:22 PM WindowsAzure
2020-05-18T21:32:41.6748881Z
2020-05-18T21:32:41.6752086Z Directory: C:\agents
2020-05-18T21:32:41.6753020Z
2020-05-18T21:32:41.6753720Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6756096Z ---- ------------- ------ ----
2020-05-18T21:32:41.6756836Z d---- 5/18/2020 9:19 PM 2.168.2
2020-05-18T21:32:41.6778186Z d---- 5/18/2020 9:19 PM perflog
2020-05-18T21:32:41.6782990Z d---- 5/18/2020 2:55 PM settings
2020-05-18T21:32:41.6792872Z
2020-05-18T21:32:41.6793595Z Directory: C:\cobertura-2.1.1
2020-05-18T21:32:41.6795653Z
2020-05-18T21:32:41.6796267Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6797746Z ---- ------------- ------ ----
2020-05-18T21:32:41.6799555Z d---- 4/30/2020 10:45 PM examples
2020-05-18T21:32:41.6803510Z d---- 4/30/2020 10:45 PM lib
2020-05-18T21:32:41.6821407Z
2020-05-18T21:32:41.6821940Z Directory: C:\Go1.10.8
2020-05-18T21:32:41.6822219Z
2020-05-18T21:32:41.6824296Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6826181Z ---- ------------- ------ ----
2020-05-18T21:32:41.6826973Z d---- 4/30/2020 9:59 PM api
2020-05-18T21:32:41.6830887Z d---- 4/30/2020 9:59 PM bin
2020-05-18T21:32:41.6853671Z d---- 4/30/2020 9:59 PM lib
2020-05-18T21:32:41.6861502Z d---- 4/30/2020 9:59 PM misc
2020-05-18T21:32:41.6867994Z d---- 4/30/2020 10:00 PM pkg
2020-05-18T21:32:41.6889396Z d---- 4/30/2020 10:02 PM src
2020-05-18T21:32:41.6890342Z d---- 4/30/2020 10:02 PM test
2020-05-18T21:32:41.6905293Z
2020-05-18T21:32:41.6909548Z Directory: C:\Go1.11.13
2020-05-18T21:32:41.6910390Z
2020-05-18T21:32:41.6911181Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6912265Z ---- ------------- ------ ----
2020-05-18T21:32:41.6914070Z d---- 4/30/2020 10:02 PM api
2020-05-18T21:32:41.6918810Z d---- 4/30/2020 10:02 PM bin
2020-05-18T21:32:41.6922492Z d---- 4/30/2020 10:02 PM lib
2020-05-18T21:32:41.6926332Z d---- 4/30/2020 10:03 PM misc
2020-05-18T21:32:41.6933847Z d---- 4/30/2020 10:03 PM pkg
2020-05-18T21:32:41.6939326Z d---- 4/30/2020 10:05 PM src
2020-05-18T21:32:41.6943315Z d---- 4/30/2020 10:06 PM test
2020-05-18T21:32:41.6951695Z
2020-05-18T21:32:41.6955287Z Directory: C:\Go1.12.17
2020-05-18T21:32:41.6956086Z
2020-05-18T21:32:41.6957663Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.6958279Z ---- ------------- ------ ----
2020-05-18T21:32:41.6959878Z d---- 4/30/2020 10:06 PM api
2020-05-18T21:32:41.6964451Z d---- 4/30/2020 10:06 PM bin
2020-05-18T21:32:41.6968473Z d---- 4/30/2020 10:06 PM lib
2020-05-18T21:32:41.6972839Z d---- 4/30/2020 10:06 PM misc
2020-05-18T21:32:41.6977666Z d---- 4/30/2020 10:06 PM pkg
2020-05-18T21:32:41.6982410Z d---- 4/30/2020 10:09 PM src
2020-05-18T21:32:41.6987202Z d---- 4/30/2020 10:09 PM test
2020-05-18T21:32:41.6996580Z
2020-05-18T21:32:41.6997331Z Directory: C:\Go1.13.10
2020-05-18T21:32:41.6998295Z
2020-05-18T21:32:41.6998987Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7000821Z ---- ------------- ------ ----
2020-05-18T21:32:41.7003567Z d---- 4/30/2020 10:10 PM api
2020-05-18T21:32:41.7007529Z d---- 4/30/2020 10:10 PM bin
2020-05-18T21:32:41.7011232Z d---- 4/30/2020 10:10 PM lib
2020-05-18T21:32:41.7016992Z d---- 4/30/2020 10:10 PM misc
2020-05-18T21:32:41.7021012Z d---- 4/30/2020 10:10 PM pkg
2020-05-18T21:32:41.7024546Z d---- 4/30/2020 10:12 PM src
2020-05-18T21:32:41.7028409Z d---- 4/30/2020 10:13 PM test
2020-05-18T21:32:41.7036131Z
2020-05-18T21:32:41.7037607Z Directory: C:\Go1.14.2
2020-05-18T21:32:41.7037991Z
2020-05-18T21:32:41.7038385Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7039294Z ---- ------------- ------ ----
2020-05-18T21:32:41.7040221Z d---- 4/30/2020 10:13 PM api
2020-05-18T21:32:41.7044204Z d---- 4/30/2020 10:13 PM bin
2020-05-18T21:32:41.7049996Z d---- 4/30/2020 10:13 PM lib
2020-05-18T21:32:41.7050610Z d---- 4/30/2020 10:14 PM misc
2020-05-18T21:32:41.7055196Z d---- 4/30/2020 10:14 PM pkg
2020-05-18T21:32:41.7058779Z d---- 4/30/2020 10:16 PM src
2020-05-18T21:32:41.7064991Z d---- 4/30/2020 10:17 PM test
2020-05-18T21:32:41.7076068Z
2020-05-18T21:32:41.7077336Z Directory: C:\Go1.9.7
2020-05-18T21:32:41.7078526Z
2020-05-18T21:32:41.7078948Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7081871Z ---- ------------- ------ ----
2020-05-18T21:32:41.7084180Z d---- 4/30/2020 9:56 PM api
2020-05-18T21:32:41.7090054Z d---- 4/30/2020 9:56 PM bin
2020-05-18T21:32:41.7094915Z d---- 4/30/2020 9:56 PM lib
2020-05-18T21:32:41.7099842Z d---- 4/30/2020 9:56 PM misc
2020-05-18T21:32:41.7103350Z d---- 4/30/2020 9:57 PM pkg
2020-05-18T21:32:41.7107685Z d---- 4/30/2020 9:58 PM src
2020-05-18T21:32:41.7110778Z d---- 4/30/2020 9:59 PM test
2020-05-18T21:32:41.7118938Z
2020-05-18T21:32:41.7121353Z Directory: C:\hostedtoolcache
2020-05-18T21:32:41.7121872Z
2020-05-18T21:32:41.7123993Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7124577Z ---- ------------- ------ ----
2020-05-18T21:32:41.7124926Z d---- 4/30/2020 9:48 PM windows
2020-05-18T21:32:41.7134184Z
2020-05-18T21:32:41.7135904Z Directory: C:\inetpub
2020-05-18T21:32:41.7136236Z
2020-05-18T21:32:41.7137607Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7138297Z ---- ------------- ------ ----
2020-05-18T21:32:41.7140129Z d---- 5/18/2020 4:37 PM history
2020-05-18T21:32:41.7145414Z d---- 4/30/2020 7:26 PM logs
2020-05-18T21:32:41.7149287Z d---- 4/30/2020 7:26 PM temp
2020-05-18T21:32:41.7152965Z d---- 4/30/2020 7:26 PM wwwroot
2020-05-18T21:32:41.7160964Z
2020-05-18T21:32:41.7161672Z Directory: C:\Julia
2020-05-18T21:32:41.7162997Z
2020-05-18T21:32:41.7165292Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7166754Z ---- ------------- ------ ----
2020-05-18T21:32:41.7167450Z d---- 4/30/2020 10:21 PM bin
2020-05-18T21:32:41.7172476Z d---- 4/30/2020 10:21 PM etc
2020-05-18T21:32:41.7176185Z d---- 4/30/2020 10:21 PM include
2020-05-18T21:32:41.7179643Z d---- 4/30/2020 10:21 PM lib
2020-05-18T21:32:41.7183304Z d---- 4/30/2020 10:21 PM libexec
2020-05-18T21:32:41.7186986Z d---- 4/30/2020 10:21 PM share
2020-05-18T21:32:41.7196759Z
2020-05-18T21:32:41.7197357Z Directory: C:\Microsoft
2020-05-18T21:32:41.7198984Z
2020-05-18T21:32:41.7199855Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7200350Z ---- ------------- ------ ----
2020-05-18T21:32:41.7203076Z d---- 4/30/2020 8:31 PM AndroidNDK64
2020-05-18T21:32:41.7206458Z d---- 4/30/2020 8:30 PM AndroidSDK
2020-05-18T21:32:41.7211525Z d---- 4/30/2020 8:28 PM Xamarin
2020-05-18T21:32:41.7226828Z
2020-05-18T21:32:41.7229574Z Directory: C:\Miniconda
2020-05-18T21:32:41.7231053Z
2020-05-18T21:32:41.7233171Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7233802Z ---- ------------- ------ ----
2020-05-18T21:32:41.7236505Z d---- 5/1/2020 12:44 AM condabin
2020-05-18T21:32:41.7240847Z d---- 5/1/2020 12:44 AM conda-meta
2020-05-18T21:32:41.7245296Z d---- 5/1/2020 12:44 AM DLLs
2020-05-18T21:32:41.7251333Z d---- 5/1/2020 12:44 AM envs
2020-05-18T21:32:41.7254852Z d---- 5/1/2020 12:44 AM etc
2020-05-18T21:32:41.7258684Z d---- 5/1/2020 12:44 AM include
2020-05-18T21:32:41.7262146Z d---- 5/1/2020 12:44 AM Lib
2020-05-18T21:32:41.7265514Z d---- 5/1/2020 12:44 AM Library
2020-05-18T21:32:41.7268994Z d---- 5/1/2020 12:44 AM libs
2020-05-18T21:32:41.7273589Z d---- 5/1/2020 12:44 AM Menu
2020-05-18T21:32:41.7278384Z d---- 5/1/2020 12:44 AM pkgs
2020-05-18T21:32:41.7283282Z d---- 5/1/2020 12:44 AM Scripts
2020-05-18T21:32:41.7286387Z d---- 5/1/2020 12:44 AM shell
2020-05-18T21:32:41.7290028Z d---- 5/1/2020 12:44 AM tcl
2020-05-18T21:32:41.7294386Z d---- 5/1/2020 12:44 AM Tools
2020-05-18T21:32:41.7305917Z
2020-05-18T21:32:41.7309645Z Directory: C:\Modules
2020-05-18T21:32:41.7309963Z
2020-05-18T21:32:41.7310369Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7310919Z ---- ------------- ------ ----
2020-05-18T21:32:41.7312280Z d---- 5/1/2020 12:38 AM az_1.0.0
2020-05-18T21:32:41.7317211Z d---- 5/1/2020 12:38 AM az_1.6.0
2020-05-18T21:32:41.7322582Z d---- 5/1/2020 12:39 AM az_2.3.2
2020-05-18T21:32:41.7327973Z d---- 5/1/2020 12:39 AM az_2.6.0
2020-05-18T21:32:41.7330804Z d---- 5/1/2020 12:40 AM az_3.1.0
2020-05-18T21:32:41.7334340Z d---- 5/1/2020 12:41 AM az_3.5.0
2020-05-18T21:32:41.7337856Z d---- 5/1/2020 12:42 AM az_3.8.0
2020-05-18T21:32:41.7341743Z d---- 5/1/2020 12:35 AM azure_2.1.0
2020-05-18T21:32:41.7346470Z d---- 5/1/2020 12:36 AM azure_3.8.0
2020-05-18T21:32:41.7349845Z d---- 5/1/2020 12:36 AM azure_4.2.1
2020-05-18T21:32:41.7353691Z d---- 5/1/2020 12:37 AM azure_5.1.1
2020-05-18T21:32:41.7358291Z d---- 5/1/2020 12:37 AM azure_5.3.0
2020-05-18T21:32:41.7362028Z d---- 5/1/2020 12:31 AM azurerm_2.1.0
2020-05-18T21:32:41.7368358Z d---- 5/1/2020 12:32 AM azurerm_3.8.0
2020-05-18T21:32:41.7376325Z d---- 5/1/2020 12:33 AM azurerm_4.2.1
2020-05-18T21:32:41.7377345Z d---- 5/1/2020 12:34 AM azurerm_5.1.1
2020-05-18T21:32:41.7380324Z d---- 5/1/2020 12:35 AM azurerm_6.13.1
2020-05-18T21:32:41.7384358Z d---- 5/1/2020 12:34 AM azurerm_6.7.0
2020-05-18T21:32:41.7393449Z
2020-05-18T21:32:41.7394170Z Directory: C:\ms-mpi
2020-05-18T21:32:41.7397031Z
2020-05-18T21:32:41.7397704Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7398414Z ---- ------------- ------ ----
2020-05-18T21:32:41.7401707Z d---- 5/18/2020 9:23 PM Benchmarks
2020-05-18T21:32:41.7406216Z d---- 5/18/2020 9:23 PM bin
2020-05-18T21:32:41.7411698Z da--- 5/18/2020 9:23 PM include
2020-05-18T21:32:41.7412325Z da--- 5/18/2020 9:23 PM lib
2020-05-18T21:32:41.7416305Z d---- 5/18/2020 9:23 PM License
2020-05-18T21:32:41.7480542Z d---- 5/18/2020 9:23 PM Redist
2020-05-18T21:32:41.7480941Z
2020-05-18T21:32:41.7482680Z Directory: C:\msys64
2020-05-18T21:32:41.7485823Z
2020-05-18T21:32:41.7486276Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7488594Z ---- ------------- ------ ----
2020-05-18T21:32:41.7489138Z d---- 5/24/2019 11:53 AM clang32
2020-05-18T21:32:41.7489444Z d---- 5/24/2019 11:53 AM clang64
2020-05-18T21:32:41.7490100Z d---- 5/18/2020 9:22 PM dev
2020-05-18T21:32:41.7496067Z d---- 5/18/2020 9:29 PM etc
2020-05-18T21:32:41.7498096Z d---- 5/18/2020 9:22 PM home
2020-05-18T21:32:41.7498566Z d---- 5/24/2019 11:53 AM mingw32
2020-05-18T21:32:41.7499090Z d---- 5/18/2020 9:31 PM mingw64
2020-05-18T21:32:41.7499564Z d---- 12/15/2018 6:46 PM opt
2020-05-18T21:32:41.7500023Z d---- 5/18/2020 9:31 PM tmp
2020-05-18T21:32:41.7501394Z d---- 5/24/2019 11:53 AM usr
2020-05-18T21:32:41.7501915Z d---- 5/24/2019 11:53 AM var
2020-05-18T21:32:41.7502164Z
2020-05-18T21:32:41.7502560Z Directory: C:\mysql-5.7.21-winx64
2020-05-18T21:32:41.7502721Z
2020-05-18T21:32:41.7502970Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7503253Z ---- ------------- ------ ----
2020-05-18T21:32:41.7503809Z d---- 4/30/2020 11:15 PM bin
2020-05-18T21:32:41.7504390Z d---- 4/30/2020 11:14 PM docs
2020-05-18T21:32:41.7504851Z d---- 4/30/2020 11:14 PM include
2020-05-18T21:32:41.7505147Z d---- 4/30/2020 11:15 PM lib
2020-05-18T21:32:41.7508639Z d---- 4/30/2020 11:15 PM share
2020-05-18T21:32:41.7517006Z
2020-05-18T21:32:41.7517611Z Directory: C:\npm
2020-05-18T21:32:41.7518983Z
2020-05-18T21:32:41.7520910Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7521442Z ---- ------------- ------ ----
2020-05-18T21:32:41.7524221Z d---- 5/1/2020 12:48 AM cache
2020-05-18T21:32:41.7527433Z d---- 5/1/2020 12:48 AM prefix
2020-05-18T21:32:41.7548678Z
2020-05-18T21:32:41.7549260Z Directory: C:\Program Files
2020-05-18T21:32:41.7553945Z
2020-05-18T21:32:41.7554946Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7556638Z ---- ------------- ------ ----
2020-05-18T21:32:41.7558655Z d---- 4/30/2020 9:31 PM 7-Zip
2020-05-18T21:32:41.7563009Z d---- 4/30/2020 10:46 PM Amazon
2020-05-18T21:32:41.7566792Z d---- 4/30/2020 8:28 PM Android
2020-05-18T21:32:41.7570416Z d---- 4/30/2020 8:09 PM Application Verifier
2020-05-18T21:32:41.7588184Z d---- 5/1/2020 12:44 AM Azure Cosmos DB Emulator
2020-05-18T21:32:41.7622830Z l---- 4/30/2020 9:46 PM Boost -> C:\hostedtoolcache\windows\Boost
2020-05-18T21:32:41.7624742Z d---- 4/30/2020 10:45 PM CMake
2020-05-18T21:32:41.7625265Z d---- 4/30/2020 9:53 PM Common Files
2020-05-18T21:32:41.7626688Z d---- 4/30/2020 7:33 PM Docker
2020-05-18T21:32:41.7629545Z d---- 4/30/2020 7:58 PM dotnet
2020-05-18T21:32:41.7644862Z d---- 4/30/2020 9:56 PM Git
2020-05-18T21:32:41.7650819Z d---- 4/30/2020 8:05 PM IIS
2020-05-18T21:32:41.7654653Z d---- 4/30/2020 8:02 PM IIS Express
2020-05-18T21:32:41.7658734Z d---- 4/13/2020 6:46 PM internet explorer
2020-05-18T21:32:41.7663502Z d---- 4/30/2020 10:43 PM Java
2020-05-18T21:32:41.7666426Z d---- 5/1/2020 12:45 AM Mercurial
2020-05-18T21:32:41.7670108Z d---- 4/30/2020 9:21 PM Microsoft SDKs
2020-05-18T21:32:41.7673659Z d---- 4/30/2020 9:21 PM Microsoft Service Fabric
2020-05-18T21:32:41.7677178Z d---- 4/30/2020 8:03 PM Microsoft SQL Server
2020-05-18T21:32:41.7681014Z d---- 4/30/2020 10:24 PM Mozilla Firefox
2020-05-18T21:32:41.7684669Z d---- 4/30/2020 7:26 PM MSBuild
2020-05-18T21:32:41.7688612Z d---- 4/30/2020 9:27 PM nodejs
2020-05-18T21:32:41.7693069Z d---- 4/30/2020 9:53 PM OpenSSL
2020-05-18T21:32:41.7696933Z d---- 4/30/2020 7:22 PM PackageManagement
2020-05-18T21:32:41.7701456Z d---- 4/30/2020 7:33 PM PowerShell
2020-05-18T21:32:41.7705212Z d---- 4/30/2020 7:26 PM Reference Assemblies
2020-05-18T21:32:41.7708909Z d---- 4/30/2020 8:34 PM Unity
2020-05-18T21:32:41.7712627Z d---- 4/30/2020 8:04 PM VS2010Schemas
2020-05-18T21:32:41.7716590Z d---- 4/30/2020 8:04 PM VS2012Schemas
2020-05-18T21:32:41.7720530Z d-r-- 4/13/2020 6:46 PM Windows Defender
2020-05-18T21:32:41.7724428Z d---- 4/13/2020 6:46 PM Windows Defender Advanced Threat Protection
2020-05-18T21:32:41.7730632Z d---- 9/15/2018 7:19 AM Windows Mail
2020-05-18T21:32:41.7731799Z d---- 4/13/2020 6:46 PM Windows Media Player
2020-05-18T21:32:41.7735755Z d---- 9/15/2018 7:19 AM Windows Multimedia Platform
2020-05-18T21:32:41.7739098Z d---- 9/15/2018 7:28 AM windows nt
2020-05-18T21:32:41.7742854Z d---- 4/13/2020 6:46 PM Windows Photo Viewer
2020-05-18T21:32:41.7746464Z d---- 9/15/2018 7:19 AM Windows Portable Devices
2020-05-18T21:32:41.7750350Z d---- 9/15/2018 7:19 AM Windows Security
2020-05-18T21:32:41.7754217Z d---- 9/15/2018 7:19 AM WindowsPowerShell
2020-05-18T21:32:41.7763543Z
2020-05-18T21:32:41.7765572Z Directory: C:\Program Files (x86)
2020-05-18T21:32:41.7767119Z
2020-05-18T21:32:41.7769683Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7771013Z ---- ------------- ------ ----
2020-05-18T21:32:41.7771730Z d---- 4/30/2020 8:30 PM Android
2020-05-18T21:32:41.7776693Z d---- 4/30/2020 8:09 PM Application Verifier
2020-05-18T21:32:41.7780346Z d---- 4/30/2020 8:24 PM Common Files
2020-05-18T21:32:41.7783778Z d---- 4/30/2020 7:58 PM dotnet
2020-05-18T21:32:41.7787831Z d---- 4/30/2020 8:37 PM Epic Games
2020-05-18T21:32:41.7791234Z d---- 4/30/2020 10:22 PM Google
2020-05-18T21:32:41.7794542Z d---- 4/30/2020 8:16 PM HTML Help Workshop
2020-05-18T21:32:41.7798820Z d---- 4/30/2020 8:05 PM IIS
2020-05-18T21:32:41.7802033Z d---- 4/30/2020 8:02 PM IIS Express
2020-05-18T21:32:41.7806010Z d---- 5/1/2020 12:45 AM Inno Setup 6
2020-05-18T21:32:41.7809727Z d---- 4/13/2020 6:46 PM Internet Explorer
2020-05-18T21:32:41.7813308Z d---- 4/30/2020 10:23 PM Microsoft
2020-05-18T21:32:41.7817074Z d---- 4/30/2020 9:07 PM Microsoft Analysis Services
2020-05-18T21:32:41.7820717Z d---- 5/18/2020 9:23 PM Microsoft SDKs
2020-05-18T21:32:41.7824655Z d---- 4/30/2020 9:07 PM Microsoft SQL Server
2020-05-18T21:32:41.7830706Z d---- 4/30/2020 7:51 PM Microsoft Visual Studio
2020-05-18T21:32:41.7836390Z d---- 4/30/2020 9:03 PM Microsoft Visual Studio 10.0
2020-05-18T21:32:41.7840555Z d---- 4/30/2020 9:03 PM Microsoft Visual Studio 11.0
2020-05-18T21:32:41.7844186Z d---- 4/30/2020 9:04 PM Microsoft Visual Studio 12.0
2020-05-18T21:32:41.7847751Z d---- 4/30/2020 8:47 PM Microsoft Visual Studio 14.0
2020-05-18T21:32:41.7851395Z d---- 4/30/2020 8:33 PM Microsoft Visual Studio Tools for Unity
2020-05-18T21:32:41.7854860Z d---- 4/30/2020 8:01 PM Microsoft Web Tools
2020-05-18T21:32:41.7858358Z d---- 4/30/2020 8:03 PM Microsoft.NET
2020-05-18T21:32:41.7862032Z d---- 4/30/2020 10:24 PM Mozilla Maintenance Service
2020-05-18T21:32:41.7866072Z d---- 4/30/2020 8:25 PM MSBuild
2020-05-18T21:32:41.7870304Z d---- 5/1/2020 12:46 AM NSIS
2020-05-18T21:32:41.7874910Z d---- 4/30/2020 8:06 PM NuGet
2020-05-18T21:32:41.7875759Z d---- 4/30/2020 8:38 PM Open XML SDK
2020-05-18T21:32:41.7879992Z d---- 4/30/2020 7:26 PM Reference Assemblies
2020-05-18T21:32:41.7883633Z d---- 4/30/2020 10:22 PM sbt
2020-05-18T21:32:41.7887869Z d---- 4/30/2020 10:22 PM Subversion
2020-05-18T21:32:41.7891073Z d---- 4/30/2020 10:26 PM Windows Application Driver
2020-05-18T21:32:41.7895129Z d---- 9/15/2018 9:07 AM Windows Defender
2020-05-18T21:32:41.7898779Z d---- 4/30/2020 8:08 PM Windows Kits
2020-05-18T21:32:41.7902508Z d---- 9/15/2018 7:19 AM Windows Mail
2020-05-18T21:32:41.7906199Z d---- 4/13/2020 6:46 PM Windows Media Player
2020-05-18T21:32:41.7909872Z d---- 9/15/2018 7:19 AM Windows Multimedia Platform
2020-05-18T21:32:41.7913620Z d---- 9/15/2018 7:28 AM windows nt
2020-05-18T21:32:41.7917417Z d---- 4/13/2020 6:46 PM Windows Photo Viewer
2020-05-18T21:32:41.7921079Z d---- 9/15/2018 7:19 AM Windows Portable Devices
2020-05-18T21:32:41.7924554Z d---- 9/15/2018 7:19 AM WindowsPowerShell
2020-05-18T21:32:41.7928793Z d---- 4/30/2020 8:47 PM WiX Toolset v3.11
2020-05-18T21:32:41.7932459Z d---- 4/30/2020 8:38 PM Workflow Manager Tools
2020-05-18T21:32:41.7936599Z d---- 4/30/2020 8:29 PM Xamarin
2020-05-18T21:32:41.7946635Z
2020-05-18T21:32:41.7949105Z Directory: C:\python354
2020-05-18T21:32:41.7949719Z
2020-05-18T21:32:41.7953366Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7954516Z ---- ------------- ------ ----
2020-05-18T21:32:41.7955583Z d---- 5/18/2020 9:25 PM DLLs
2020-05-18T21:32:41.7961928Z d---- 5/18/2020 9:24 PM Doc
2020-05-18T21:32:41.7965847Z d---- 5/18/2020 9:23 PM include
2020-05-18T21:32:41.7969387Z d---- 5/18/2020 9:25 PM Lib
2020-05-18T21:32:41.7973679Z d---- 5/18/2020 9:23 PM libs
2020-05-18T21:32:41.7978138Z d---- 5/18/2020 9:25 PM Scripts
2020-05-18T21:32:41.7979666Z d---- 5/18/2020 9:25 PM tcl
2020-05-18T21:32:41.7984024Z d---- 5/18/2020 9:24 PM Tools
2020-05-18T21:32:41.7993652Z
2020-05-18T21:32:41.7994301Z Directory: C:\python368
2020-05-18T21:32:41.7996101Z
2020-05-18T21:32:41.7996706Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.7998521Z ---- ------------- ------ ----
2020-05-18T21:32:41.8000831Z d---- 5/18/2020 9:26 PM DLLs
2020-05-18T21:32:41.8076741Z d---- 5/18/2020 9:26 PM Doc
2020-05-18T21:32:41.8077423Z d---- 5/18/2020 9:25 PM include
2020-05-18T21:32:41.8077913Z d---- 5/18/2020 9:26 PM Lib
2020-05-18T21:32:41.8078428Z d---- 5/18/2020 9:25 PM libs
2020-05-18T21:32:41.8078870Z d---- 5/18/2020 9:26 PM Scripts
2020-05-18T21:32:41.8079362Z d---- 5/18/2020 9:26 PM tcl
2020-05-18T21:32:41.8079897Z d---- 5/18/2020 9:26 PM Tools
2020-05-18T21:32:41.8080183Z
2020-05-18T21:32:41.8080607Z Directory: C:\Rust
2020-05-18T21:32:41.8080825Z
2020-05-18T21:32:41.8081392Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8086577Z ---- ------------- ------ ----
2020-05-18T21:32:41.8086901Z d---- 4/30/2020 10:19 PM .cargo
2020-05-18T21:32:41.8087429Z d---- 4/30/2020 10:18 PM .rustup
2020-05-18T21:32:41.8087827Z
2020-05-18T21:32:41.8088234Z Directory: C:\SeleniumWebDrivers
2020-05-18T21:32:41.8088460Z
2020-05-18T21:32:41.8088663Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8089403Z ---- ------------- ------ ----
2020-05-18T21:32:41.8090197Z d---- 4/30/2020 10:23 PM ChromeDriver
2020-05-18T21:32:41.8090716Z d---- 4/30/2020 10:24 PM EdgeDriver
2020-05-18T21:32:41.8091087Z d---- 4/30/2020 10:24 PM GeckoDriver
2020-05-18T21:32:41.8091545Z d---- 4/30/2020 10:26 PM IEDriver
2020-05-18T21:32:41.8092047Z
2020-05-18T21:32:41.8092267Z Directory: C:\Strawberry
2020-05-18T21:32:41.8092426Z
2020-05-18T21:32:41.8092671Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8093164Z ---- ------------- ------ ----
2020-05-18T21:32:41.8093786Z d---- 4/30/2020 9:54 PM c
2020-05-18T21:32:41.8101728Z d---- 4/30/2020 9:54 PM cpan
2020-05-18T21:32:41.8115304Z d---- 4/30/2020 9:54 PM licenses
2020-05-18T21:32:41.8115845Z d---- 4/30/2020 9:54 PM perl
2020-05-18T21:32:41.8130520Z d---- 4/30/2020 9:54 PM win32
2020-05-18T21:32:41.8170063Z
2020-05-18T21:32:41.8171891Z Directory: C:\tools
2020-05-18T21:32:41.8174176Z
2020-05-18T21:32:41.8176370Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8176993Z ---- ------------- ------ ----
2020-05-18T21:32:41.8177846Z d---- 4/30/2020 10:18 PM php
2020-05-18T21:32:41.8188645Z
2020-05-18T21:32:41.8190725Z Directory: C:\Users
2020-05-18T21:32:41.8191085Z
2020-05-18T21:32:41.8192345Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8193027Z ---- ------------- ------ ----
2020-05-18T21:32:41.8195920Z d---- 4/30/2020 7:27 PM .NET v4.5
2020-05-18T21:32:41.8199979Z d---- 4/30/2020 7:27 PM .NET v4.5 Classic
2020-05-18T21:32:41.8203744Z d---- 4/30/2020 8:47 PM installer
2020-05-18T21:32:41.8207256Z d-r-- 4/13/2020 7:31 PM Public
2020-05-18T21:32:41.8213017Z d---- 5/18/2020 4:36 PM TempAdmin
2020-05-18T21:32:41.8217936Z d---- 5/18/2020 5:21 PM VssAdministrator
2020-05-18T21:32:41.8224876Z
2020-05-18T21:32:41.8230261Z Directory: C:\vcpkg
2020-05-18T21:32:41.8230614Z
2020-05-18T21:32:41.8243826Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8244495Z ---- ------------- ------ ----
2020-05-18T21:32:41.8244998Z d---- 5/1/2020 12:46 AM .github
2020-05-18T21:32:41.8246170Z d---- 5/1/2020 12:46 AM docs
2020-05-18T21:32:41.8246542Z d---- 5/1/2020 12:46 AM ports
2020-05-18T21:32:41.8247060Z d---- 5/1/2020 12:46 AM scripts
2020-05-18T21:32:41.8249140Z d---- 5/1/2020 12:46 AM toolsrc
2020-05-18T21:32:41.8253668Z d---- 5/1/2020 12:46 AM triplets
2020-05-18T21:32:41.8263973Z
2020-05-18T21:32:41.8266872Z Directory: C:\Windows
2020-05-18T21:32:41.8267261Z
2020-05-18T21:32:41.8271178Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8272955Z ---- ------------- ------ ----
2020-05-18T21:32:41.8276179Z d---- 9/15/2018 7:19 AM ADFS
2020-05-18T21:32:41.8280056Z d---- 9/15/2018 7:19 AM appcompat
2020-05-18T21:32:41.8283865Z d---- 4/13/2020 6:46 PM apppatch
2020-05-18T21:32:41.8287565Z d---- 5/18/2020 5:21 PM AppReadiness
2020-05-18T21:32:41.8291227Z d-r-- 4/30/2020 11:16 PM assembly
2020-05-18T21:32:41.8294733Z d---- 9/15/2018 7:19 AM bcastdvr
2020-05-18T21:32:41.8298355Z d---- 9/15/2018 7:19 AM Boot
2020-05-18T21:32:41.8303657Z d---- 9/15/2018 7:19 AM Branding
2020-05-18T21:32:41.8306921Z d---- 4/30/2020 9:16 PM CbsTemp
2020-05-18T21:32:41.8311857Z d---- 9/15/2018 7:19 AM Containers
2020-05-18T21:32:41.8315433Z d---- 9/15/2018 7:19 AM Cursors
2020-05-18T21:32:41.8319215Z d---- 4/13/2020 7:31 PM debug
2020-05-18T21:32:41.8323020Z d---- 9/15/2018 7:19 AM diagnostics
2020-05-18T21:32:41.8327209Z d---- 9/15/2018 9:07 AM DigitalLocker
2020-05-18T21:32:41.8330544Z d---s 9/15/2018 7:19 AM Downloaded Program Files
2020-05-18T21:32:41.8383982Z d---- 9/15/2018 7:19 AM drivers
2020-05-18T21:32:41.8386174Z d---- 9/15/2018 9:07 AM en-US
2020-05-18T21:32:41.8386521Z d-r-s 4/30/2020 7:26 PM Fonts
2020-05-18T21:32:41.8387218Z d---- 9/15/2018 7:19 AM Globalization
2020-05-18T21:32:41.8389148Z d---- 9/15/2018 9:07 AM Help
2020-05-18T21:32:41.8391218Z d---- 9/15/2018 7:19 AM IdentityCRL
2020-05-18T21:32:41.8391911Z d---- 9/15/2018 9:07 AM IME
2020-05-18T21:32:41.8392864Z d-r-- 4/13/2020 7:30 PM ImmersiveControlPanel
2020-05-18T21:32:41.8397661Z d---- 5/18/2020 9:22 PM INF
2020-05-18T21:32:41.8398632Z d---- 9/15/2018 7:19 AM InputMethod
2020-05-18T21:32:41.8402546Z d---- 9/15/2018 7:19 AM L2Schemas
2020-05-18T21:32:41.8429991Z d---- 9/15/2018 7:19 AM LiveKernelReports
2020-05-18T21:32:41.8441043Z d---- 5/18/2020 4:38 PM Logs
2020-05-18T21:32:41.8448730Z d-r-s 9/15/2018 7:19 AM media
2020-05-18T21:32:41.8453178Z d-r-- 4/30/2020 11:16 PM Microsoft.NET
2020-05-18T21:32:41.8485644Z d---- 9/15/2018 7:19 AM Migration
2020-05-18T21:32:41.8489434Z d---- 9/15/2018 7:19 AM ModemLogs
2020-05-18T21:32:41.8493201Z d---- 9/15/2018 9:08 AM OCR
2020-05-18T21:32:41.8496687Z d-r-- 4/30/2020 7:20 PM OEM
2020-05-18T21:32:41.8500601Z d-r-- 9/15/2018 7:19 AM Offline Web Pages
2020-05-18T21:32:41.8504574Z d---- 5/18/2020 4:34 PM Panther
2020-05-18T21:32:41.8508472Z d---- 9/15/2018 7:19 AM Performance
2020-05-18T21:32:41.8511768Z d---- 9/15/2018 7:19 AM PLA
2020-05-18T21:32:41.8555806Z d---- 4/13/2020 6:46 PM PolicyDefinitions
2020-05-18T21:32:41.8559633Z d---- 4/13/2020 7:30 PM Prefetch
2020-05-18T21:32:41.8564104Z d-r-- 4/13/2020 7:30 PM PrintDialog
2020-05-18T21:32:41.8568416Z d---- 9/15/2018 7:19 AM Provisioning
2020-05-18T21:32:41.8573214Z d---- 9/15/2018 7:19 AM Registration
2020-05-18T21:32:41.8579176Z d---- 9/15/2018 7:19 AM RemotePackages
2020-05-18T21:32:41.8593090Z d---- 9/15/2018 7:19 AM rescache
2020-05-18T21:32:41.8593733Z d---- 9/15/2018 7:19 AM Resources
2020-05-18T21:32:41.8610221Z d---- 9/15/2018 7:19 AM SchCache
2020-05-18T21:32:41.8610879Z d---- 9/15/2018 7:19 AM schemas
2020-05-18T21:32:41.8611436Z d---- 9/15/2018 7:19 AM security
2020-05-18T21:32:41.8616376Z d---- 4/13/2020 7:29 PM ServiceProfiles
2020-05-18T21:32:41.8625376Z d---- 4/13/2020 7:30 PM ServiceState
2020-05-18T21:32:41.8628258Z d---- 4/13/2020 6:46 PM servicing
2020-05-18T21:32:41.8632316Z d-r-- 4/13/2020 7:28 PM Setup
2020-05-18T21:32:41.8636236Z d---- 4/13/2020 6:46 PM ShellComponents
2020-05-18T21:32:41.8641923Z d---- 4/13/2020 6:46 PM ShellExperiences
2020-05-18T21:32:41.8644828Z d---- 9/15/2018 7:19 AM SKB
2020-05-18T21:32:41.8661197Z d---- 5/18/2020 4:34 PM SoftwareDistribution
2020-05-18T21:32:41.8664728Z d---- 9/15/2018 7:19 AM Speech
2020-05-18T21:32:41.8668464Z d---- 9/15/2018 7:19 AM Speech_OneCore
2020-05-18T21:32:41.8672168Z d---- 4/30/2020 8:38 PM symbols
2020-05-18T21:32:41.8675677Z d---- 9/15/2018 7:19 AM System
2020-05-18T21:32:41.8679252Z d---- 5/18/2020 9:23 PM System32
2020-05-18T21:32:41.8682812Z d---- 9/15/2018 7:19 AM SystemApps
2020-05-18T21:32:41.8686411Z d---- 9/15/2018 7:19 AM SystemResources
2020-05-18T21:32:41.8689897Z d---- 5/18/2020 9:23 PM SysWOW64
2020-05-18T21:32:41.8693441Z d---- 9/15/2018 7:19 AM TAPI
2020-05-18T21:32:41.8699057Z d---- 4/13/2020 7:30 PM Tasks
2020-05-18T21:32:41.8711866Z d---- 5/18/2020 9:26 PM temp
2020-05-18T21:32:41.8712279Z d---- 4/13/2020 6:46 PM TextInput
2020-05-18T21:32:41.8714631Z d---- 9/15/2018 7:19 AM tracing
2020-05-18T21:32:41.8718338Z d---- 9/15/2018 7:19 AM twain_32
2020-05-18T21:32:41.8738310Z d---- 9/15/2018 7:19 AM Vss
2020-05-18T21:32:41.8743634Z d---- 9/15/2018 7:19 AM WaaS
2020-05-18T21:32:41.8747204Z d---- 9/15/2018 7:19 AM Web
2020-05-18T21:32:41.8750823Z d---- 5/1/2020 12:55 AM WinSxS
2020-05-18T21:32:41.8762270Z
2020-05-18T21:32:41.8764423Z Directory: C:\WindowsAzure
2020-05-18T21:32:41.8764727Z
2020-05-18T21:32:41.8766713Z Mode LastWriteTime Length Name
2020-05-18T21:32:41.8767892Z ---- ------------- ------ ----
2020-05-18T21:32:41.8768963Z d---- 4/30/2020 7:22 PM Applications
2020-05-18T21:32:41.8773136Z d---- 5/1/2020 12:57 AM CollectGuestLogsTemp
2020-05-18T21:32:41.8776757Z d---- 4/30/2020 7:22 PM Config
2020-05-18T21:32:41.8780287Z d---- 5/1/2020 12:56 AM Logs
2020-05-18T21:32:41.8783832Z d---- 4/30/2020 7:21 PM Packages
2020-05-18T21:32:41.8789550Z d---- 4/30/2020 7:22 PM SecAgent
vcenv.sh is used for the autotools build (nrn/mingw_files/howto) but not for the cmake build (nrn/mingw_files/howto-cmake). Now that we know how to pass visual-c to the python setup.py files with cmake, I'm not sure the same strategy can't be used with autotools. However, I consider autotools build on windows to be even more deprecated than for mac and linux. People have successfully built from sources on mac and linux with autotools. I'm not aware of anyone but myself and one or two other people who have successfully built on windows with autotools. Otherwise no scripts should have machine dependent paths. The exceptions I recall are my distribution build scripts which always at the end scp to specific places.
vcenv.sh is used for the autotools build (nrn/mingw_files/howto) but not for the cmake build (nrn/mingw_files/howto-cmake).
Ok, thats great then!
Now that we know how to pass visual-c to the python setup.py files with cmake
Could you remind me where this is done in the current Cmake implementation? Is that done by distutils automatically? (I haven't looked at windows aspects carefully!)
However, I consider autotools build on windows to be even more deprecated than for mac and linux.
I agree! With the instructions I am putting, I am pretty confident that people will be able to build on windows if they need.
People have successfully built from sources on mac and linux with autotools. I'm not aware of anyone but myself and one or two other people who have successfully built on windows
I am just curious about other users who have built on windows. I consider those as brave NEURON users :)
Otherwise no scripts should have machine dependent paths.
Ok, thats good then!
Oops. Looks like I was mistaken. I see the fragment in nrn/share/lib/python/neuron/rxd/geometry3d/CMakeLists.txt
if test x$pyver = x3 ; then # python3.x builds with msvc\n\
. ${PROJECT_SOURCE_DIR}/mingw_files/vcenv.sh\n\
$pyexe setup.py build_ext --build-lib=${NRN_PYTHON_BUILD_LIB}\n\
else # python2.7 builds with gcc\n\
I guess this was consistent with a comment I had made somehwhere that after a lot of effort with cmake I ended up with exactly the same strategy as was used with autotools.
The only other person I know who has built with autotools is @adamjhn . I think he is now using cmake.
Oops. Looks like I was mistaken. I see the fragment in nrn/share/lib/python/neuron/rxd/geometry3d/CMakeLists.txt
Oops! Can we then review which paths are required / not required in vcenv.sh
, cleanup a bit and see if https://github.com/neuronsimulator/nrn/issues/319#issuecomment-630448527 has all paths required?
Unfortunately I do not recall where vcenv.sh came from and several attempts at a google search were not successful. However, a different approach sounds promising with https://stackoverflow.com/questions/61548591/how-to-get-visual-studio-to-execute-build-commands-in-a-msys2-shell although things may be even simpler since I guess we are using visual studio code.
Google results for 'visual studio code from msys2' all seem to go in the wrong direction.
http://anadoxin.org/blog/bringing-visual-studio-compiler-into-msys2-environment.html looks to be very helpful
@nrnhines : But some or many variables from that vcenv.sh might be not needed anymore?
That is a possibility.
Yesterdays problem of following command doing nothing:
~/nrn/build/share/lib/python/neuron/rxd/geometry3d
$ c:/python368/python.exe setup.py -v build_ext -v --build-lib=C:/msys64/home/kumbhar/nrn/build/lib/python
because numpy
was not installed and it was raising an exception. And hence else
block was not executed!!
try:
import numpy
except:
setup()
else:
After installing numpy, I have arrived at quite famous error:
$ c:/python368/python.exe setup.py -v build_ext -v --build-lib=C:/msys64/home/kumbhar/nrn/build/lib/python
cl
running build_ext
building 'neuron.rxd.geometry3d.graphicsPrimitives' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat cannot be found
error: Unable to find vcvarsall.bat
@nrnhines : we came across this in the past. Did we install windows specific microsoft VC++? I don't remember what we did last time.
vcenv.sh is specific to visual studio code 2014. I think you have 2019 installed on your virtual box guest. But instead of dropping back, perhaps vcenv.sh can be modified to be consistent with 2019 paths.
No, I have installed visual studio 2014 now:
My understanding is that the vcvarsall.bat cannot be found error
is unrelated to vcenv.sh
but visual studio itself. See discussion here.
My installation doesn't have vcvarsall.bat
:
$ find /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 14.0/ -name vcvarsall.bat
By the way, I have installed this visual studio via chocolaty.
A good read on this issue from microsoft: https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/
Hit the issue with pacman upgrade : https://github.com/msys2/MSYS2-packages/issues/1962 and https://github.com/microsoft/vcpkg/issues/11438
Pacman retrieving packages error after a few seconds : https://github.com/msys2/MSYS2-packages/issues/1658
For the above issue I skipped pacman upgrade (as it seems not necessary for neuron).
Next issue on Azure CI:
running build_ext
building 'neuron.rxd.geometry3d.graphicsPrimitives' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:/a/1/s/share/lib/python/neuron/rxd/geometry3d -I. -IC:\python354\lib\site-packages\numpy\core\include -IC:\python354\include -IC:\python354\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /EHsc /TpgraphicsPrimitives.cpp /Fobuild\temp.win-amd64-3.5\Release\graphicsPrimitives.obj -Od
cl : Command line warning D9025 : overriding '/Ox' with '/Od'
graphicsPrimitives.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\python354\libs /LIBPATH:C:\python354\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" /EXPORT:PyInit_graphicsPrimitives build\temp.win-amd64-3.5\Release\graphicsPrimitives.obj /OUT:D:/a/1/s/build/lib/python\neuron\rxd\geometry3d\graphicsPrimitives.cp35-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.5\Release\graphicsPrimitives.cp35-win_amd64.lib
graphicsPrimitives.obj : warning LNK4197: export 'PyInit_graphicsPrimitives' specified multiple times; using first specification
Creating library build\temp.win-amd64-3.5\Release\graphicsPrimitives.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\graphicsPrimitives.cp35-win_amd64.exp
Generating code
Finished generating code
LINK : fatal error LNK1158: cannot run 'rc.exe'
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158
make[2]: *** [share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make:57: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0] Error 1
make[1]: *** [CMakeFiles/Makefile2:739: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Volume in drive D is Temporary Storage
Volume Serial Number is CE2B-EA0D
Going to try solution mentioned in : https://stackoverflow.com/questions/43858836/python-installing-clarifai-vs14-0-link-exe-failed-with-exit-status-1158
@nrnhines : two questions:
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "D:/a/1/s/build/src/mswin/nrnsetupmingw.nsi" (ACP)
Edit: answering first one myself :
- Is there way to print progress during installer creation?
Documentation says: The /V switch followed by a number between 0 and 4 will set the verbosity of output accordingly. 0=no output, 1=errors only, 2=warnings and errors, 3=info, warnings, and errors, 4=all output.
On my virtualbox windows guest, it takes less than a minute to create the setup.exe. I hope azure is not using tape drives for intermediate storage:)
After discussion with Michael, we found that
/
i.e. //V4
nrnhtml
file doesn't exist and we have put that as /nonfatal
: ; optional section
Section /o "Documentation"
SetOutPath "$INSTDIR"
File /nonfatal /r "${MARSHALNRN}\..\nrnhtml"
IfFileExists "$INSTDIR\lib\smsinst.dat" +1 next
CreateShortCut "$SMPROGRAMS\${NEURON}\Documentation.lnk" "$INSTDIR\nrnhtml\helpfils.html"
next:
IfFileExists "$INSTDIR\lib\deskinst.dat" +1 next2
CreateShortCut "$DESKTOP\${NEURON}\Documentation.lnk" "$INSTDIR\nrnhtml\helpfils.html"
next2:
SectionEnd
@nrnhines : we have to decide about Documentation
section when I will create pull request. Should this be commented?
I think we should comment this out for now.
Just FYI : that crazy C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
appears after selecting the below checkbox which is not selected by default and you have to scroll down to see that!
The issue here has good discussion : https://github.com/benfred/implicit/issues/76
And there is very apt comment:
Also, when I try to run installer created then I see:
I have to click on More Info
to get
Yes. This seems to be the latest behavior of windows.
@nrnhines : I am seeing bellow behaviour:
C:\Users\kumbhar>nrniv
NEURON -- VERSION 8.0.dev-124-ge7a60e1c+ HEAD (e7a60e1c+) 2020-05-23
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2019
See http://neuron.yale.edu/neuron/credits
Could not load libnrnpython27
pyver10=0 pylib=C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/opt/bin/libpython2.7.dll
oc>
C:\Users\kumbhar>C:/python27/python
Python 2.7.17 (v2.7.17:c2f86d86e6, Oct 19 2019, 21:01:17) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from neuron import h
>>> import neuron
>>> neuron.test()
testBytesize (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper bytesize (of a double) ... ok
testEndian (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper byteorder (endian) ... ok
testNumpyInteraction (neuron.tests.test_vector.VectorTestCase)
Testing numpy.array <=> hoc.Vector interaction ... ok
testPerformance (neuron.tests.test_vector.VectorTestCase)
Test performance of Vector<->list,array ...
Executed "l = range(1000000)". Elapsed = 0.021800 s
Executed "v = h.Vector(l)". Elapsed = 0.022000 s
inplace:
Executed "v.from_python(l)". Elapsed = 0.019000 s
Executed "a = numpy.array(v)". Elapsed = 0.003600 s
inplace:
Executed "v.to_python(a)". Elapsed = 0.000000 s
Executed "v2 = h.Vector(a)". Elapsed = 0.006800 s
inplace:
Executed "v2.from_python(a)". Elapsed = 0.000000 s
Executed "l2 = list(v2)". Elapsed = 0.027800 s
inplace:
Executed "v.to_python(l2)". Elapsed = 0.009600 s
Executed "v2 = h.Vector(a[::-1])". Elapsed = 0.006000 s
Executed "a2 = numpy.array(v2)". Elapsed = 0.006200 s
ok
testABI (neuron.tests.test_neuron.NeuronTestCase)
Test use of some Py_LIMITED_API for python3. ... ok
testExtendedSection (neuron.tests.test_neuron.NeuronTestCase) ... test: ok
testHClass (neuron.tests.test_neuron.NeuronTestCase)
Test subclass of hoc class. ... ok
testHelp (neuron.tests.test_neuron.NeuronTestCase) ... Syntax:
.. code-block::
python
h.xpanel('name')
h.xpanel('name', [0-1])
h.xpanel()
h.xpanel(x, y)
h.xpanel(scroll)
h.xpanel(scroll, x, y)
Description:
``h.xpanel("name")``
``h.xpanel("name", [0-1])``
Title of a new panel. Every
button, menu, and value between this and a closing ``xpanel()`` command
with no arguments (or placement args) belongs to this panel.
If the form is used with a second argument equal to 1, then
the panel is laid out horizontally. Otherwise the default is vertically.
``h.xpanel()``
``h.xpanel(x, y)``
done constructing the panel. so map it to the screen with position
optionally specified.
``h.xpanel(scroll)``
``h.xpanel(scroll, x, y)``
as above but if the first arg is a number, then the value determines
whether the panel will be inside a scrollbox. Scroll = 0 means a scrollbox
will NOT be used. Scroll = 1 means the panel will be inside a scrollbox.
Scroll = -1 is the default value and whether or not a scrollbox is used
is determined by the number of panel items in comparison with the
value of the panel_scroll property in the nrn.defaults file.
ok
testIterators (neuron.tests.test_neuron.NeuronTestCase)
Test section, segment, mechanism, rangevar iterators. ... ok
testRxDexistence (neuron.tests.test_neuron.NeuronTestCase) ... scipy not available
ok
testpsection (neuron.tests.test_neuron.NeuronTestCase) ... ok
----------------------------------------------------------------------
Ran 11 tests in 1.578s
OK
True
>>>
>C:/python27/python -c "import neuron; neuron.test(); neuron.test_rxd(); quit();"
Locally I did $ cp /ming264/bin/libzstd.dll /c/nrn/bin/
and it seems to be working. So I assume I have to do the same during build time somewhere in the script? where that would be?
It took several hours for me to upgrade msys2 yesterday and I have not gotten a chance yet to build NEURON. What often happens though is that new msys2 versions often require some different exe and .h files for the tiny development environment and therefore some slight changes to nrn/mingw_files/nrnmingwenv.sh . If the exe list is complete, the script usually gets all the dlls automatically. But maybe there are exceptions if the exe dlopens a dll. The dlls are determined from an analysis of cygcheck output on all the exe.
Ok. For now, I am trying following:
→ git diff --cached
diff --git a/mingw_files/nrnmingwenv.sh b/mingw_files/nrnmingwenv.sh
index daaa3db3..312d77b4 100644
--- a/mingw_files/nrnmingwenv.sh
+++ b/mingw_files/nrnmingwenv.sh
@@ -86,6 +86,7 @@ ld.exe
libgmp-10.dll
x86_64-w64-mingw32-gcc.exe
zlib1.dll
+libzstd.dll
makes me wonder if zlib1.dll is needed with latest msys2.
Removing zlib I get following. So it seems to be needed:
Yes, I just looked at cygcheck and see
hines@DESKTOP-V84UL21 MINGW64 ~/neuron/nrncmake
$ cygcheck C:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\10.1.0\cc1.exe
C:\msys64\mingw64\bin\libgmp-10.dll
C:\WINDOWS\system32\KERNEL32.dll
C:\WINDOWS\system32\ntdll.dll
C:\WINDOWS\system32\KERNELBASE.dll
C:\WINDOWS\system32\msvcrt.dll
C:\msys64\mingw64\bin\zlib1.dll
C:\msys64\mingw64\bin\libzstd.dll
C:\msys64\mingw64\bin\libwinpthread-1.dll
so the question becomes, why am I not lookinf for these dlls automatically from nrnmingwenv.sh?
Looks like we need a cp_dlls mingw64/bin
and cp_dlls mingw64/lib/gcc/x86_64-w64-mingw32/$gccver
at the proper places. The problem is that it appears that the dlls in this case are not is the same folder as the exe. So cp_dlls would have to be modified to take this into account.
Maybe something to do for later.
With this https://github.com/neuronsimulator/nrn/issues/319#issuecomment-633044702, libzstd problem is solved.
What about issue 1.
that I mentioned in https://github.com/neuronsimulator/nrn/issues/319#issuecomment-633040733? i.e. when I launch nrniv
we see:
bin
dir has all necessary dlls:
Additional question:
I am trying to run created installer under Azure CI for testing and I see that it hangs / doesn't progress after launching exe:
nrn8.0setup-AMD64.exe /S /D=D:\a\1\s\tmp
OR
nrn8.0setup-AMD64.exe /S
The same binary works fine when I am installing under VM. I wonder if this issue is because of stricter security policy (?) on Azure hosts for unsigned binary.
@nrnhines : any suggestions for this? Have you tried self signing exe on windows using signtool?
Another question I have in my mind is whether somehow /S (silent install) is not working under CI and it’s simply waiting for user input.
I have no way to check this and hence wonder if we can update nsi script to build installer that doesn’t have any user interaction at all. That will help us to quickly verify if it’s silent installation problem or unsigned installer problem.
you should try //S and //D Or was that executed natively in a command batch script instead of a bash script?
Tried that as well without success. Also I am running this under windows command prompt and not bash shell:
- script: |
nrn.exe //S
I have to admit that I only typed the /S command and did not actually execute in a script. I need to test whether success occurs when running in a script. I guess it is also worth testing the request for silent in the nsi script itself.
4.9.14.17 SetSilent
silent | normal
Sets the installer to silent mode or normal mode. See SilentInstall for more information about silent installations. Can only be used in .onInit.
and also
4.8.1.41 SilentInstall
normal|silent|silentlog
Specifies whether or not the installer should be silent. If it is 'silent' or 'silentlog', all sections that have the SF_SELECTED flag are installed quietly (you can set this flag using SectionSetFlags), with no screen output from the installer itself (the script can still display whatever it wants, use MessageBox's /SD to specify a default for silent installers). Note that if this is set to 'normal' and the user runs the installer with /S (case sensitive) on the command line, it will behave as if SilentInstall 'silent' was used. Note: see also LogSet.
See section 4.12 for more information.
See the example here https://nsis.sourceforge.io/Examples/silent.nsi I think that you just need
SetSilent silent
in the .onInit function
It occurs to me that it could hang if in fact one of my error message boxes pops up.
This issues is to document process to build Windows instructions.
Here are brief steps (WIP):
Install latest Visual Studio
Install msys2
Look into https://github.com/neuronsimulator/nrn/blob/master/mingw_files/msys2
Installed msmpisdk.msi and MsMpiSetup.exe in c:\ms-mpi (version 10.0)
version 10 Lib is already lib
Change Bin, Lib, Include to bin, lib, include
cp c:/Windows/System32/msmpi.dll c:/ms-mpi/lib/x64 cp c:/Windows/SysWoW64/msmpi.dll c:/ms-mpi/lib/x86 #optional
stdint.h now in version 10 so next not needed.
add #include in /c/ms-mpi/include/mpi.h
important. Wasted a day because I did not do this. the symptom is a
crash in libnrnmpi.dll
I don't know if this is needed anymore or not for version 10 as
libmsmpi.a does exist.
gendef msmpi.dll # creates msmpi.def
x86_64-w64-mingw32-dlltool -d msmpi.def -l libmsmpi.a -D msmpi.dll
dlltool -d msmpi.def -l libmsmpi.a -D msmpi.dll # creates libmsmpi.a
gendef can be built from mingw source via
git clone https://github.com/msys2-contrib/mingw-w64
cd mingw-w64/mingw-w64-tools/gendef
./configure --prefix=
pwd
make # may have to get rid of the -Werror
cp gendef.exe /mingw64/bin