Fix for Demeter/MinGW Conflict: Changing the PATH Variable
This page was contributed by Greg Hutchings and converted to the wiki by Bruce. Here is Greg's original document (PDF).
As of Demeter 0.9.13.1, there is a conflict with other versions of MinGW which may be installed on your computer. If you are having trouble opening all of the programs in Demeter, it may be possible to work around this issue by modifying the system PATH variable.
The symptom of this problem is finding the following error in %APPDATA%\demeter\dartemis.log (and the same thing happens in Athena and Hephaestus):
Can't load 'C:/strawberry/perl/site/lib/auto/Ifeffit/Ifeffit.dll' for module Ifeffit: load_file:The specified procedure could not be found at C:/strawberry/perl/lib/DynaLoader.pm line 200. at C:/strawberry/perl/site/lib/Demeter.pm line 36 Compilation failed in require at C:/strawberry/perl/site/lib/Demeter.pm line 36. BEGIN failed--compilation aborted at C:/strawberry/perl/site/lib/Demeter.pm line 36. Compilation failed in require at C:/strawberry/perl/site/lib/Demeter/UI/Artemis.pm line 3. BEGIN failed--compilation aborted at C:/strawberry/perl/site/lib/Demeter/UI/Artemis.pm line 3. Compilation failed in require at C:\strawberry\perl\site\bin\dartemis.bat line 24. BEGIN failed--compilation aborted at C:\strawberry\perl\site\bin\dartemis.bat line 24.
The fix is to switch the order of directories in the PATH variable, so that all references to the other version of MinGW are listed after the Strawberry Perl references. In Windows, the PATH can be changed on the command line or graphically in advanced system settings, but mistakes can easily cause system-wide problems. In addition, the PATH can be quite long and irritating to work with. For simplicity, I recommend using the Path Editor GUI: http://www.redfernplace.com/software-projects/patheditor/.
The following tutorial uses the Path Editor GUI in Windows 7. The fix should also work in other versions of Windows if Demeter conflicts with MinGW in those operating systems.
Open Path Editor. You should see a window like the one below, although yours will likely have different entries.
Locate the entries for Strawberry Perl, and any entries for MinGW. The upper list of paths corresponds to the system PATH entry, and this is where the change most likely needs to be made. You may have to scroll down the list to find the entries. Note that your MinGW folder may be different (e.g. C:\minGW\bin, C:\someprogram\src\minGW\bin, etc.), and you might also have more than one. Strawberry Perl should have three entries.
For each reference to MinGW, click on the entry, then click the button in the upper-right corner of the window until the reference to MinGW is below the Strawberry Perl listings. Repeat for any other MinGW listings.
Click , which is the last button on the right side of the window. The program might warn about “suspect paths”, but unless you want to make other changes to the PATH variable, you can click “Yes” to finish changing the order of MinGW relative to Strawberry Perl.
- Try to run one of the Demeter programs. Hopefully, everything works wonderfully now!
Bruce's closing comment: If anyone has a suggestion for how Demeter could obviate this problem -- either at installation time or at run time -- please let me know.