Hi Bruce,

Sorry for delay, took me a while to get around to trying out the new version.

On Tue, Sep 8, 2015 at 1:12 PM, Bruce Ravel <bravel@bnl.gov> wrote:
On 09/08/2015 02:02 PM, Matt Newville wrote:
Any chance of trying out the suggestions in
https://github.com/bruceravel/demeter/issues/24 to try to avoid PATH
issues, and allow Demeter to be installed in the users directory (sans
admin privilege)?

My intent was to address that with this commit:

https://github.com/bruceravel/demeter/commit/10f9b05539bef286c21a357a0a23c0f93da37eb2

although without the check for the perl executable.

Do the bat files that get generated still seem wrong to you?



That looks much better  FWIW, I installed to C:\Demeter, not C:\Strawberry because other tools I use (epics on windows) also often want to use C:\Strawberry.   Anyway, with that, the top of dathena.bat reads:

@rem = '--*-Perl-*--
@echo off
SET DOTDIR="%APPDATA%\demeter"
SET DEMETER_BASE=%~dp0
SET DEMETER_BASE=%DEMETER_BASE:\perl\site\bin\=%
SET PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;%DEMETER_BASE%\c\bin;%DEMETER_BASE%\perl\site\bin;%DEMETER_BASE%\perl\bin;%DEMETER_BASE%\c\bin\gnuplot\bin
IF NOT EXIST %DOTDIR% MD %DOTDIR%
if "%OS%" == "Windows_NT" goto WinNT
C:\Demeter\perl\bin\perl.exe -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 > "%APPDATA%\demeter\dathena.log" 2>&1
goto endofperl
:WinNT
C:\Demeter\perl\bin\perl.exe -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
#!c:\strawberry\perl\bin\perl.exe
#line 20
BEGIN {


which is much, much better.   It appears the '#!c:\strawberry\perl\bin\perl.exe' is just ignored (athena runs and even shows a wxt gnuplot terminal on 64-bit Windows7), but shouldn't be removed completely.

Two suggestions:  First, if the apparently-generated-at-install time full path for perl ("C:\Demeter\perl\bin\perl.exe" above) was replaced by "perl.exe" (because, now you now know the path is correct), then the entire "C:\Demeter" tree could be moved after installation, and all the batch files (though not the shortcuts to the batch files generated at install time) would work.  

Second, if the default install location was (say) %APPDATA%\DemeterPerl  (%APPDATA%\demeter already being the DOTDIR equivalent).    That would mean the installation did not need Admin privileges.

Anyway, it's a big improvement and should avoid many of the PATH issues we've seen recently.

Thanks,
--Matt

 

--
--Matt Newville <newville at cars.uchicago.edu> 630-252-0431