Launching Problem (D)Athena and Co.
Ok, I found the problem. There was a version of MinGW installed on the computer. I just placed the MinGW PATH variables after the strawberry ones, and it worked. So it was a special conflict between software packages on my PC. best, Alfred
Hi Alfred, I am thrilled that you discovered the problem, because I was stumped! Actually, you have uncovered a problem I have been worrying about for some time. I have been procrastinating on addressing the problem because such a small fraction of Windows users will ever see the problem. As you have found, Demeter coexists poorly with other versions of perl installed on the computer. A partial list of software which will trigger this conflict includes: ActivePerl CitrusPerl / Cava package manager Git for Windows MinGW (possibly -- one can install MinGW and not install perl) Cygwin There are probably other, but that's the list of things I know of which will install a version of perl that cannot be guaranteed to work well with Demeter. There are at least two work-arounds: 1. The one you found is to edit your PATH so that C:\strawberry comes before all the other possible locations of perl version. The problem with this is that doing so might break other software you have your system that is expecting to use a particular perl installation. 2. If you are actually using perl on your windows computer, you can download the Demeter source code and install Demeter following the linux installation instructions. You will need a proper development environment so that Ifeffit and various other dependencies can be built and installed. Citrus, MinGW, and Cygwin can all, in principle, provide this level of support. Obviously, this can be done. I had to do all of this in order to build the Demeter installer. I know of at least one user of my software who opted to work this way. If you or anyone else has any substantive suggestions for how best to deal with this sort of conflict, I am very eager for good suggestions. If anyone would like to help me package Demeter more effectively on Windows -- that would make me deliriously happy. Thanks, B On Wednesday, August 22, 2012 04:23:46 PM Alfred Hummer wrote:
Ok,
I found the problem. There was a version of MinGW installed on the computer. I just placed the MinGW PATH variables after the strawberry ones, and it worked.
So it was a special conflict between software packages on my PC.
best, Alfred _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
-- Bruce Ravel ------------------------------------ bravel@bnl.gov National Institute of Standards and Technology Synchrotron Methods Group at NSLS --- Beamlines U7A, X24A, X23A2 Building 535A Upton NY, 11973 Homepage: http://xafs.org/BruceRavel Software: https://github.com/bruceravel
Hi Bruce,
On Wed, Aug 22, 2012 at 9:45 AM, Bruce Ravel
Hi Alfred,
I am thrilled that you discovered the problem, because I was stumped!
Actually, you have uncovered a problem I have been worrying about for some time. I have been procrastinating on addressing the problem because such a small fraction of Windows users will ever see the problem.
As you have found, Demeter coexists poorly with other versions of perl installed on the computer. A partial list of software which will trigger this conflict includes:
ActivePerl CitrusPerl / Cava package manager Git for Windows MinGW (possibly -- one can install MinGW and not install perl) Cygwin
There are probably other, but that's the list of things I know of which will install a version of perl that cannot be guaranteed to work well with Demeter.
There are at least two work-arounds:
1. The one you found is to edit your PATH so that C:\strawberry comes before all the other possible locations of perl version. The problem with this is that doing so might break other software you have your system that is expecting to use a particular perl installation.
2. If you are actually using perl on your windows computer, you can download the Demeter source code and install Demeter following the linux installation instructions. You will need a proper development environment so that Ifeffit and various other dependencies can be built and installed. Citrus, MinGW, and Cygwin can all, in principle, provide this level of support.
Obviously, this can be done. I had to do all of this in order to build the Demeter installer. I know of at least one user of my software who opted to work this way.
If you or anyone else has any substantive suggestions for how best to deal with this sort of conflict, I am very eager for good suggestions.
If anyone would like to help me package Demeter more effectively on Windows -- that would make me deliriously happy.
I thought I reported such an issue earlier this summer, but it might have gotten lost in the shuffle. I think the solution is to either explicitly set the PATH to use C:\strawberry\perl\bin first in dathena.bat, etc, or to replace perl -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1 with C:\strawberry\perl\bin\perl.exe -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1 or do something like @echo off SET PERLEXE=perl if "%OS%" == "Windows_NT" goto WinNT %PERLEXE% -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 > "%APPDATA%\demeter\dathena.log" 2>&1 goto endofperl :WinNT SET PERLEXE=C:\strawberry\perl\bin\perl.exe %PERLEXE% -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1 You may want to consider setting other perl-related environmental variables (say, PERL5LIB) to explicitly point to the strawberry version -- I'm not sure that this is necessary. In general, it might be reasonable to check at startup of the Perl programs what PERL5LIB etc is set to and whether it matches the perl executable, perhaps generating a warning if things look out-of-sync. I'll submit a github issue. I looked very briefly just now for where/how you generate the batch files -- if I knew where that was, I'd attempt a pull request. --Matt
On Wednesday, August 22, 2012 11:29:35 AM Matt Newville wrote:
I'll submit a github issue. I looked very briefly just now for where/how you generate the batch files -- if I knew where that was, I'd attempt a pull request.
Matt, Your idea is a good solution. Thanks. The specific invocation of perl needs to be set by Inno since the installation location can be changed by the user at install time. I don't quite remember the details of how the .bat files get generated from the items in the bin folder, but I'll look into it. Thanks, B -- Bruce Ravel ------------------------------------ bravel@bnl.gov National Institute of Standards and Technology Synchrotron Methods Group at NSLS --- Beamlines U7A, X24A, X23A2 Building 535A Upton NY, 11973 Homepage: http://xafs.org/BruceRavel Software: https://github.com/bruceravel
Hi all, I wanted to give an update on the issue Alfred brought up last week for for which Matt suggested a solution. I implemented Matt's suggestion and Alfred tested my solution for me with positive results. While that is, by no means, a exhasutive test, it seems as though the next release of Demeter will coexist peacefully with things like MinGW, cygwin, and other packages which install a different version of perl. I am hoping to make the next release soon. Regards, B On Wednesday, August 22, 2012 11:29:35 AM Matt Newville wrote:
Hi Bruce,
On Wed, Aug 22, 2012 at 9:45 AM, Bruce Ravel
wrote: Hi Alfred,
I am thrilled that you discovered the problem, because I was stumped!
Actually, you have uncovered a problem I have been worrying about for some time. I have been procrastinating on addressing the problem because such a small fraction of Windows users will ever see the problem.
As you have found, Demeter coexists poorly with other versions of perl installed on the computer. A partial list of software which will
trigger this conflict includes: ActivePerl CitrusPerl / Cava package manager Git for Windows MinGW (possibly -- one can install MinGW and not install perl) Cygwin
There are probably other, but that's the list of things I know of which will install a version of perl that cannot be guaranteed to work well with Demeter.
There are at least two work-arounds: 1. The one you found is to edit your PATH so that C:\strawberry comes
before all the other possible locations of perl version. The problem with this is that doing so might break other software you have your system that is expecting to use a particular perl installation.
2. If you are actually using perl on your windows computer, you can
download the Demeter source code and install Demeter following the linux installation instructions. You will need a proper development environment so that Ifeffit and various other dependencies can be built and installed. Citrus, MinGW, and Cygwin can all, in principle, provide this level of support.
Obviously, this can be done. I had to do all of this in order to build the Demeter installer. I know of at least one user of my software who opted to work this way.
If you or anyone else has any substantive suggestions for how best to deal with this sort of conflict, I am very eager for good suggestions.
If anyone would like to help me package Demeter more effectively on Windows -- that would make me deliriously happy.
I thought I reported such an issue earlier this summer, but it might have gotten lost in the shuffle. I think the solution is to either explicitly set the PATH to use C:\strawberry\perl\bin first in dathena.bat, etc, or to replace
perl -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1
with C:\strawberry\perl\bin\perl.exe -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1
or do something like
@echo off SET PERLEXE=perl if "%OS%" == "Windows_NT" goto WinNT %PERLEXE% -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 > "%APPDATA%\demeter\dathena.log" 2>&1 goto endofperl
:WinNT
SET PERLEXE=C:\strawberry\perl\bin\perl.exe %PERLEXE% -x -S %0 %* > "%APPDATA%\demeter\dathena.log" 2>&1
You may want to consider setting other perl-related environmental variables (say, PERL5LIB) to explicitly point to the strawberry version -- I'm not sure that this is necessary. In general, it might be reasonable to check at startup of the Perl programs what PERL5LIB etc is set to and whether it matches the perl executable, perhaps generating a warning if things look out-of-sync.
I'll submit a github issue. I looked very briefly just now for where/how you generate the batch files -- if I knew where that was, I'd attempt a pull request.
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
-- Bruce Ravel ------------------------------------ bravel@bnl.gov National Institute of Standards and Technology Synchrotron Methods Group at NSLS --- Beamlines U7A, X24A, X23A2 Building 535A Upton NY, 11973 Homepage: http://xafs.org/BruceRavel Software: https://github.com/bruceravel
participants (3)
-
Alfred Hummer
-
Bruce Ravel
-
Matt Newville