WinGRASS errors: Difference between revisions
⚠️Wenzeslaus (talk | contribs) (add sqlite issue, remove strange "platform specific" section which contained only broken links, replace general heading by one more focused without exclamation mark) |
⚠️Wenzeslaus (talk | contribs) m (→Legend or scale bar does not show any text: add module names) |
||
Line 48: | Line 48: | ||
== Legend or scale bar does not show any text == | == Legend or scale bar does not show any text == | ||
If you add legend or scale bar to the Map Display and you see only the colors or the bar but not text, in the menu go to ''Settings'' > ''Preferences'', then select ''Map Display'' tab. Use ''Set font'' button to set ''Default font for GRASS displays''. From the list choose <tt>arial</tt> or another font you wish to use. | If you add legend (<tt>d.legend</tt>) or scale bar (<tt>d.barscale</tt>) to the Map Display and you see only the colors or the bar but not text, in the menu go to ''Settings'' > ''Preferences'', then select ''Map Display'' tab. Use ''Set font'' button to set ''Default font for GRASS displays''. From the list choose <tt>arial</tt> or another font you wish to use. | ||
== Error message "ImportError: cannot import name MAXREPEAT" == | == Error message "ImportError: cannot import name MAXREPEAT" == |
Revision as of 03:48, 4 April 2015
Due to the varieties of MS-Windows versions existing, a series of problems with the WinGRASS Installation have been identified (and solved):
The GRASS GIS exits when started with g.list CalledModuleError and -1073741511 return code
If GRASS GIS graphical user interface fails to start with error which ends like this:
grass.exceptions.CalledModuleError: Module run None ['g.list', '--q', '-m', 'type=raster'] ended with error Process ended with non-zero return code -1073741511. See errors in the (error) output.
you can try to run the following command manually from the command line (the "black" system command line which was started with GRASS GIS).
g.list -m type=raster
If you run the command, you might get the following error:
The procedure entry point sqlite3_vfs_register could not be located in the dynamic link library sqlite3.dll.
he issue is cause by different sqlite3.dll files accessible "on path" to all application. In case of GRASS GIS some incompatible DLL is picked up by the system rather than the one shipped with GRASS GIS.
Solution is to search for all sqlite3.dll files on your computer and remove (or better rename) them one by one while tring when GRASS GIS starts successfully. Removing some of the sqlite3.dll files may break the applications which use them (this is realistic possibility although it was never actually reported by any user). So, it is a good idea to just rename the file in case you will need to reverse the process in order to use the other application.
The GRASS GIS (winGRASS) exits immediately after I start it complaining about MSVCR DLL
Problem: WinGRASS complains about a missing MSVCR71.dll, MSCVP100.dll or similar on startup or exits immediately.
First note that GRASS GIS 6.4.3 and later 'suggest to install the needed "Important Microsoft runtime libraries" already during the installation process (on the same install wizard page offering to download sample datasets), so you should make sure that you check this option during installation. If you are sure about that or the step ended with error, follow the instructions below.
Solution A
You may need to install Microsoft's .NET Framework. You can download it here.
If it still asks for MSVCP100.dll, download it here.
Solution B
If the above Solution A does not help, or ends with an error, or if it says that you already have everything, you can reproduce steps which the installer is doing:
- You do not need to uninstall GRASS GIS to fix it. But be sure to close any GRASS windows you have still open.
- Download msvcrt-1.0.1-12.tar.bz2 archive
- Uncompress the archive. Note that it is tar.bz2, so to uncompress it use 7-Zip or Winzip or something else that can handle it. It will unzip 3 folders. Keep those 3 folders together (it doesn't matter where).
- Open the "bin" folder (it is in one of the 3 folders from above) and run the following programs (just double click on them) in the indicated order, following the directions in each wizard:
- vcredist_2005_x86.exe (first screen is in German, just click left button ("Ja"); then it switches to English)
- vcredist_2008_x86.exe
- vcredist_2010_x86.exe
- Once you installed each of these programs, copy the following files (they are in the same "bin" folder) to the "extrabin" folder in the GRASS GIS installation directory (the one you chose during the installation):
- msvcp60.dll, msvcp70.dll, msvcp71.dll, msvcr71.dll, msvcrt.dll
So: paste them into e.g. C:\Program Files (x86)\GRASS GIS 7.0.0beta3\extrabin\ (assuming you used the default install location).
- msvcp60.dll, msvcp70.dll, msvcp71.dll, msvcr71.dll, msvcrt.dll
- Try GRASS GIS again! It should be running now. If not make sure that you have tried all the steps and try again. If this still does not help, please write to the grass-user mailing list.
Legend or scale bar does not show any text
If you add legend (d.legend) or scale bar (d.barscale) to the Map Display and you see only the colors or the bar but not text, in the menu go to Settings > Preferences, then select Map Display tab. Use Set font button to set Default font for GRASS displays. From the list choose arial or another font you wish to use.
Error message "ImportError: cannot import name MAXREPEAT"
A system-wide Python installation (2.7.2, independent of GRASS) may cause the trouble. Replacing this system-wide Python installation with version 2.7.4 (or newer 2.7.x), instead of 2.7.2, solves the problem.
A variant of the problem is also seen with "import re" appearing in the error message. The solution is the same: upgrade the system-wide installed version.
Note that you can also try to remove the system-wide installation but this has a higher risk of breaking some (part) other applciation which depends on the system-wide Python.
Error message "The ordinal 63 could not be located in the dynamic link libexpat.dll."
You have likely an old "libexpat.dll" in your directory %WINDIR%\system32 (or %WINDIR%\sysWOW64). Try to rename that file (or delete after backup). Then winGRASS should work.
Error message "The ordinal 32 could not be located in the dynamic link library proj.dll."
You have likely an old "proj.dll" in your directory %WINDIR%\system32 (or %WINDIR%\sysWOW64). Try to rename that file (or delete after backup). Then winGRASS should work.
The winGRASS user interface shows up in the wrong language for me!
MSys users should be setting the LANG, LC_MESSAGES etc. variables in ~/.bash_profile (etc) if they want it set to a specific locale other than the default locale of the system.
This and that is not functioning in my winGRASS installation!
May happen, we are working on it :) Please visit the Errata page and the WinGRASS Current Status page
Error message "This application has failed to start because libintl3.dll was not found". (or libiconv2.dll and/or regex2.dll)
Reinstalling of the "msys" package in the OSGeo4W installer will bring it back.
Error message "libfreetype-6.dll not installed" (similar wording)
You may need to install "libfreetype-6.dll" on your system. For this, launch the OSGeo4W Network Installer > Advanced Install, type freetype in the search box and do the freetype packages installation.
The startup fails with a GISDBASE not defined error
Maybe there is junk in the session configuration file (%APPDATA%\GRASS6\grassrc6 for GRASS 6 or %APPDATA%\GRASS7\rc for GRASS 7) where %APPDATA% is usually C:\Users\<username>\AppData. To test, rename it and a new one will be created next time you run GRASS GIS:
- Note that %APPDATA% is a hidden folder
- rename it e.g. to grassrc6.old or rc.old
- now restart GRASS GIS and the error should be gone.
The startup fails with a IOerror: [Errno 2] No such file or directory : 'nul'
Q: At startup, I get
nul=open <os.devnull, 'w'> IOerror: [Errno 2] No such file or directory : 'nul'
A: Apparently, it's possible for the service implementing the null device ('nul' pseudo-file) to be stopped or to malfunction.
The status can be checked via the control panel. Start the Device Manager (Control Panel > Hardware and Sound > Device Manager), select View > Show hidden devices, then under Non-Plug and Play Drivers, there should be an entry for "Null".
The corresponding registry key is
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Null
The Start and Type values should both be 1.