You must first download and install the 32-bit versionof Cygwin/X. Cygwin/X provides youwith a UNIX shell and an X server from which you can then run NCL.Very important note: You must install the 32-bit version ofCygwin/X and not the 64-bit version of Cygwin/X. To get the32-bit version of Cygwin/X, install it via the "setup-x86.exe"program and not the "setup-x86_64.exe" program. Details are includedbelow.Here are some step-by-step instructions for getting NCL to rununder Cygwin/X. Please read these instructions all the waythrough before starting the installation.
- Install Cygwin/X
- Run Cygwin/X
- Make sure you have a Cygwin home directory
- Download NCL
- Install NCL
- Set up your environment to run NCL
- Set up C-shell
- Set up DISPLAY environment variable
- Test NCL
- Troubleshooting problems
Install Cygwin/X To download and install Cygwin/X, go to the URL: the "Downloading and installing" paragraph, which tells you whichinstallation file you need to download and what to do with it. Thesenotes are based on running version 2.891 of setup-x86.exe or later.
Important note: Cygwin comes with two versions ofthe
setup program. They are called
setup-x86.exeand
setup-x86_64.exe. Download the
setup-x86.exe one,because the other one is for 64-bit Cygwin. NCL can't be installed under64-bit Cygwin because there are many external packages that NCLdepends on that aren't buildable under 64-bit Cygwin.We recommend that you look through the"InstallingCygwin/X" inthe
Cygwin/XUser's Guide, as it has some nice diagrams showing you eachstep of the installation process.We found a nicevideo oninstalling Cygwin. This video is for Cygwin and not Cygwin/X, butthe instructions are pretty much the same. Make sure you point yourbrowser at
x.cygwin.org instead of
cygwin.com, and that you downloadthe "setup-x86.exe" program instead of "setup.exe". At the 4:12 markin the video, it talks about how to select various packages forCygwin, which will be very helpful when you get to the next section onselecting the required packages you have to download. You don't needto install the packages that the instructor is talking about, but itcertainly won't hurt anything if you do.When you start the installation process (by downloading "setup-x86.exe"and double-clicking on the file wherever you downloaded it), you willbe asked where to install Cygwin. I
highly recommend that youselect the default options, unless you know what you are doing.You will eventually be asked to select a mirror site from which todownload the software. I have found that some mirrors work betterthan others, and you may have to try several before you get asuccessful installation. I recommend starting with a mirror that isclose to your geographic location, so the download is hopefullyquicker.Once you select a mirror site, you will be prompted for which packagesto install. The packages have categories like "Shells", "Devel","Graphics", etc. Clicking on the plus (+) sign next to each categoryname will expand or close the list of packages associated with thatcategory. There's a search box at the top that is very useful to find packages that you are not sure what category they're in.Note that when you select one package, it may cause several otherpackages to be chosen as well. This is okay; don't go back andunselect those packages!Some categories and their related packages that you should install are included below:
- Category "Devel": install "autoconf", "binutils", "bison","byacc", "flex", "gcc", "gcc4", "gcc4-fortran", "gcc-g++", "gdb", "make", "makedepend", "openssl-devel".
- Category "Editors": [optional] some popular editors thatyou might want for editing your files include "nedit", "emacs", and"vim".
- Category "Graphics": [optional] install "ghostscript" forviewing PostScript files, "ImageMagick" for "convert"
- Category "Libs": "expat", "libcurl4", "libexpat-devel","libgfortran4", "libidn-devel", "libxml2", "libtirpc", "zlib"
- Category "Net": `install "libcurl-devel", "libcurl4", and"openssh".
- Category "Shells": install "bash", "sh-utils", "pdsh", and"tcsh".
- Category "X11": install all of the required packages thatthe "InstallingCygwin/X" section mentions (see #15 where it lists all the "X11"packages and whether they are required or optional). As of July2018, the list of packages that we recommend are:
- libX11-devel
- libX11-6
- libXaw-devel
- libXaw7
- libXm4
- libXmu-devel
- libXpm4
- libXt-devel
- libcairo-devel
- libcairo2
- libfontconfig-devel
- libfontconfig1
- libfreetype-devel
- libfreetype6
- libxcb-devel
- xauth
- xclock
- xinit
- xorg-server
- xterm
- X-start-menu-icons
- X-startup-scripts
To select any of these packages for installation, click on the littlecircular icon next to it until you get a version number. Make sure youselect the latest version number, if there are multiple ones. Some ofthe other options will be things like "skip", "uninstall", and "keep",which you don't want to use the first time through.)If the installation is successful, then the last item may be a windowasking if you want to create some icon shortcuts for your desktop.Answer "yes" to this question as it will provide you with a little"startxwin" icon under Windows that you can double-click to start upCygwin/X.If the installation fails or hangs while trying to install thesoftware, then reboot if necessary, and rerun the
setup-x86.exefile as you did before, only this time choose a different mirrorsite.Run Cygwin/XOnce the installation of Cygwin/X is complete, you need to runCygwin/X if youplan to run NCL scripts that send their graphics to an X11 window. Ifyou don't care about X11 windows, then you can run NCL commands from aCygwin window.To run Cygwin/X, you must first run Cygwin, and type "startxwin" in the Cygwin Terminal. If this is successful, then a little "X" iconwill appear on your task bar (usually in the lower right of the screen).If you are having difficulty starting Cygwin/X, then read the section "Using Cygwin/X" onhow to start it.
Note for Windows 10 users: The Cygwin/Xicon will show up as a small icon with a black C and a green X insideof it. If you left-click on this, a menu will come up. Select "SystemTools" and then "XTerm" to start Cygwin/X.
You must run Cygwin or X/Cygwin before proceeding to the nextsection.Tip: if you installed Cygwin to the suggestedlocation, then the Cygwin files will be installed undervarious directories under "
c:\cygwin", and a home directorywill be created for you under a path like "
c:\cygwin\home\".Make sure you have a Cygwin home directoryNote: some users have reported that a home directory has not been setup for them by Cygwin. I read in several FAQs that if the name of yourhome directory has a space in it, it won't work. I found an FAQ onthis topic at -
cdf.fnal.gov/cplager/cygwin.html#tidbits:Cygwin doesn't like it if there is a space in your Windowsusername. If you have a space, do the following after installingCygwin:
- Edit /etc/passwd (using either emacs, vi, or even Windows Wordpad)
- Find your entry (it will start with your windows username)
- Take the space out of your username (1st entry) and your homedirectory (2nd to last entry).
- Quit all Cygwin
- Use Windows Explorer to rename your home directory(for example "C:\cygwin\home\cplager")Download NCLNow you are ready to download and install NCL. If you haven't already,go to the Climate DataGateway web site and download the NCL binary that has the word"CYGWIN" in the name of the file.Here's a directlink to the location of NCL V6.5.0 for Cygwin.A good place to save this file is in the location"c:\cygwin\home\xxx", where xxx is thehome directory the Cygwin/X installation set up for you. Install NCLOnce you have the *.tar.gz file, decide where you want to install NCL.If you are new to UNIX and don't know where you want to put it, then Irecommend installing NCL in the directory "/usr/local". I'll use thispath in my example below, and I will assume that you saved the file to"c:\cygwin\home\xxx", using "JohnDoe" as an examplefor xxx, and"ncl_ncarg-6.5.0.CYGWIN_NT-10.0-WOW_i686.tar.gz" as the name of thefile. (The name of the file may vary slightly, since the versionnumber changes almost monthly.)From the Cygwin/X window that you opened earlier, type thefollowing commands: mkdir /usr/local cd /usr/local gunzip /cygwin/home/JohnDoe/ncl_ncarg-6.5.0.CYGWIN_NT-10.0-WOW_i686.tar.gz tar -xvf /cygwin/home/JohnDoe/ncl_ncarg-6.5.0.CYGWIN_NT-10.0-WOW_i686.tarNote: the path "/usr/local" may already exist, in which caseyou'll get an error message when you type "mkdir /usr/local". This isokay, and you can safely ignore the message.Set up your environment to run NCLEvery user of NCL needs to set their environment before they can useNCL. You can do this by opening your"c:\cygwin\home\xxx\.bashrc" (or"c:\cygwin\home\xxx\.bash_profile" if ".bashrc" doesn't exist)file with a UNIX editor and adding the lines: export NCARG_ROOT=/usr/local export PATH=/usr/local/bin:$PATHPlease note that you must use a UNIX editor to change this file, andnot a Windows application like "notepad". The UNIX editor should beinvoked from a Cygwin or X/Cygwin window. If you are unfamiliar withUNIX editors, we recommend that youuse nedit, which is availablethrough the Cygwin "setup-x86.exe" program.Make sure you add the above lines after the last reference toPATH. If PATH already has "/usr/local/bin" as part of it, then youdon't need to add the last line.If you plan to use csh (C-shell) or tcsh , then add the followinglines to your "c:\cygwin\home\xxx\.cshrc" (or ".tcshrc") file: setenv NCARG_ROOT /usr/local setenv PATH /usr/local/bin:$PATHTo make sure these changes take effect right away, you can "source"the files, or completely exit your Cygwin/X window and startit up again. Here's how to source the files:csh/tcsh: source /.cshrc source /.tcshrcbash/ksh: . /.bashrc . /.bash_profileSet up C-shellIf you plan to use the "ng4ex" script, then you'll need to make sureyou have C-shell before you can run it.In the same Cygwin/X window, type: which csh which tcshIf it reports that csh cannot be found but that tcsh can, then type thefollowing: ln -s /usr/bin/tcsh.exe /usr/bin/csh.exe cshThis will put you into a C-shell environment. You only need toexecute the "ln -s" command once, but the "csh" command you will needto execute any time you are not in C-shell.If the above "which" commands report that neither "tcsh" or "csh" canbe found, thn you need to run "setup-x86.exe" again, and make sure thatyou select the "tcsh" package (which falls under the "Shells"category) to be installed.Set up DISPLAY environment variableIn order to run any X applications, including running NCL to displaygraphics to your screen, you may need to set up your environment byopening "c:\cygwin\home\xxx\.bashrc" in your favorite editor,and adding the following lines at the bottom: export DISPLAY=:0.0If you are using C-shell, then edit "c:\cygwin\home\xxx\.cshrc"and add the following line: setenv DISPLAY :0.0You should now be ready to run NCL.Test NCLTo test your installation of NCL, type the following: ncl -VThis should echo the version of NCL, like "6.5.0".For a graphical test, type: cp $NCARG_ROOT/lib/ncarg/nclex/xyplot/xy04n.ncl . ncl xy04n.nclA window with an XY plot should pop up. If you click anywhere in thewindow with your left mouse button, the window will go away.If you have problems, then please review the troubleshooting sectionthat follows.Troubleshooting problemsIf you are having problems running the test in the above section,then here are some troubleshooting tips:
- If you get an error about "ncl" not being able tofind a missing "libxxxx.so" library, thenrerun the Cygwin "setup-x86.exe" program and search for xxxx.Make sure this package will get installed and finish runningthe "setup-x86.exe" program. You will probably need to logout and possiblyeven reboot for the change to work properly.
- If you get the error: warning:GKS:GOPWK: --X driver error: error opening displaythen this probably means that your DISPLAY environment variableis not set, or it is set incorrectly. Please type:printenv DISPLAYand make sure that it is set to what is discussed in the "Set up DISPLAY environment variable" sectionabove.
- If it appears your DISPLAY is set correctly, and yet "ng4ex" stilldoesn't work, then you might be running the commands from a Cygwinwindow, and not a Cygwin/X window. The distinction is important, andyou need to be running "ng4ex" from a Cygwin/X Window. Please readthe section "Run Cygwin/X" and make sure youfollow these instructions and then run "ng4ex" from this window.You can tell if your Cygwin window is really a Cygwin/X window by the"X" icon that should appear in the upper left corner of the window.
If you still have problems, then send email to
ncl-i...@ucar.edu. You need to be amember in order to post. df19127ead