[ncl-install] Building NCL from source

Kevin Hallock hallock at ucar.edu
Thu Jan 18 10:49:20 MST 2018


Hi Ashwin,

I was able to get the “ncl_ncarg-6.4.0-Debian8.6_64bit_gnu492.tar.gz” binary from our download page <https://www.earthsystemgrid.org/dataset/ncl.640.dap/file.html> to work on Ubuntu 16.04 64-bit, although I did have to install several packages using apt:
sudo apt install libxrender1 libfontconfig1 gfortran-4.9

I hope this helps!
Kevin

> On Jan 18, 2018, at 10:35 AM, ashwin .D <winash12 at gmail.com> wrote:
> 
> Hi Kevin,
>               Thanks I will try that and let you know tomorrow. I am running 16.04 LTS 64 bit Ubuntu.
> 
> Ashwin.
> 
> On Thu, Jan 18, 2018 at 11:01 PM, Kevin Hallock <hallock at ucar.edu <mailto:hallock at ucar.edu>> wrote:
> Hi Ashwin,
> 
> As Ted mentioned, you will likely have to manually specify “lib” and “include” directories when running the Configure script.
> 
> For example, on my Mac I would enter the following when prompted:
> Enter local library search path(s) : /opt/X11/lib
> Enter Return (default), new directories, or q(quit) > /Users/hallock/dev/external/lib /opt/X11/lib    
> 
> Enter local include search path(s) : /opt/X11/include
> Enter Return (default), new directories, or q(quit) > /Users/hallock/dev/external/include /Users/hallock/dev/external/include/freetype2 /opt/X11/include
> 
> In this case, “/Users/hallock/dev/external” is where I have my non-system dependencies (NetCDF, HDF, etc) installed, while “/opt/X11” is where the X11 libraries are installed on my Mac. If you’ve already run the Configure script and would prefer not to rerun it repeatedly, you can directly modify the file “config/Site.local” in the NCL source code. After inputting the above directories when prompted by Configure, the relevant lines of my config/Site.local look like this:
> #define LibSearch -L/Users/hallock/dev/external/lib -L/opt/X11/lib
> #define IncSearch -I/Users/hallock/dev/external/include -I/Users/hallock/dev/external/include/freetype2 -I/opt/X11/include
> 
> These directories are specific to my machine, but hopefully this gives you some idea how to proceed.
> 
> Are you currently running Ubuntu 14.04 64-bit? It’s possible that one of our binary releases is already compatible with Ubuntu 14.04, it just might take some trial and error to get NCL running. If not, which Linux distribution are you using?
> 
> Kevin
> 
>> On Jan 17, 2018, at 9:12 AM, Ted Mansell <ted.mansell at noaa.gov <mailto:ted.mansell at noaa.gov>> wrote:
>> 
>> It sounds like you may have to manually specify the location of the x libs, or else put sym links in /usr to point to the correct location.
>> 
>> -- Ted
>> 
>> __________________________________________________________
>> | Edward Mansell <ted.mansell at noaa.gov <mailto:ted.mansell at noaa.gov>>
>> | National Severe Storms Laboratory
>> |--------------------------------------------------------------
>> | "The contents of this message are mine personally and
>> | do not reflect any position of the U.S. Government or NOAA."
>> |--------------------------------------------------------------
>> 
>>> On Jan 17, 2018, at 7:48 AM, ashwin .D via ncl-install <ncl-install at ucar.edu <mailto:ncl-install at ucar.edu>> wrote:
>>> 
>>> Hi Kevin,
>>>               it is still failing. It is looking for local library support i.e. /usr/X11R6/lib64 and it is not finding it in my machine and I am not sure what is local library search here.
>>> 
>>> Regarding your question on why I am want to build from scratch. Mary Haley probably remembers but way back in 2014 she had to give me a special precompiled binary file for Ubuntu 14.04. So I wanted to avoid that by building my own version.
>>> 
>>> Regards,
>>> Ashwin.
>>> 
>>> On Wed, Jan 17, 2018 at 3:02 AM, Kevin Hallock <hallock at ucar.edu <mailto:hallock at ucar.edu>> wrote:
>>> Hi Ashwin,
>>> 
>>> In order to build NCL, we usually suggest running “make Everything” in order to build all of the necessary components for a complete NCL installation. Please see our documentation on building from source: http://www.ncl.ucar.edu/Download/build_from_src.shtml <http://www.ncl.ucar.edu/Download/build_from_src.shtml>
>>> 
>>> When you run the Configure script, the second prompt asks for a “Parent installation directory” to install NCL to:
>>> Parent installation directory : /usr/local/ncarg
>>> Enter Return (default), new directory, or q(quit) > /path/to/install/ncl
>>> 
>>> The default is “/usr/local/ncarg”, but you can change this to any directory you want (note that the NCL binary will be installed to the “bin” subdirectory of the directory you specify, so “/usr/local/ncarg/bin” by default or “/path/to/install/ncl/bin” in my example). You can also define the installation directory in the file “config/Site.local”:
>>> #define YmakeRoot /path/to/install/ncl
>>> 
>>> Building NCL with “make Everything” should install NCL when it’s done compiling, but if your user account does not have write privileges to the installation directory (this might be a problem for “/usr/local/ncarg”) you may need to run “sudo make install” to complete the installation process.
>>> 
>>> Additionally, it looks like your build did not run successfully. If you run the command “grep -C3 'error' $logfile” , where $logfile is your make log (“logs” if you use the file you attached to your email), you’ll see several errors related to missing libraries, for example:
>>> gfortran -fPIC -fno-second-underscore -fno-range-check -fopenmp  -O    -o tdpackdemo TdpackDemo.o -L../../../.././ncarg2d/src/libncarg -lncarg -L../../../.././ncarg2d/src/libncarg_gks -lncarg_gks -L../../../.././common/src/libncarg_c -lncarg_c -lcairo -lXrender -lfontconfig -lpixman-1 -lfreetype -lexpat -lpng -lz -liconv -lbz2 -lpng -lz -L/usr/local/ncarg/lib -L/usr/X11R6/lib64  -lX11 -lXext  
>>> /usr/bin/ld: cannot find -liconv
>>> /usr/bin/ld: cannot find -lbz2
>>> collect2: error: ld returned 1 exit status
>>> Makefile:495: recipe for target 'tdpackdemo' failed
>>> make[4]: *** [tdpackdemo] Error 1
>>> make[4]: Leaving directory '/home/winash12/meteorology_project/ncl_ncarg-6.4.0/ncarg2d/src/bin/tdpackdemo'
>>> 
>>> In this case, it appears as though the iconv and bzip2 libraries were not found by the compiler. You will likely need to install these (and other packages) using your system’s package manager (assuming you’re using Linux) or build them from source. If they are already installed, you may need to adjust the “-I”/“include” and “-L”/“lib” directory paths in config/Site.local (these can also be set while running the Configure script).
>>> 
>>> Finally, out of curiosity is there a reason that you’ve chosen to build NCL from source instead of installing a pre-compiled binary? I’d be glad to continue helping you build NCL from source, but if you do not explicitly need to build it yourself it is often much easier to install an NCL binary tarball.
>>> 
>>> I hope this helps!
>>> 
>>> Kevin
>>> 
>>>> On Jan 14, 2018, at 10:57 PM, ashwin .D via ncl-install <ncl-install at ucar.edu <mailto:ncl-install at ucar.edu>> wrote:
>>>> 
>>>> Hello,
>>>>           I am trying to build NCL 6.4 from source. Firstly there seems to be no .configure file and it is replaced by a Configure file. It does compile without any problems but I am not sure where the executables are. I have enclosed the logs obtained by typing make install. 
>>>> Do you see any issues ? I do not know how to install under /usr/local/bin. 
>>>> 
>>>> Regards,
>>>> Ashwin.
>>>> <logs>_______________________________________________
>>>> ncl-install mailing list
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-install <http://mailman.ucar.edu/mailman/listinfo/ncl-install>
>>> 
>>> 
>>> _______________________________________________
>>> ncl-install mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-install <http://mailman.ucar.edu/mailman/listinfo/ncl-install>
>> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-install/attachments/20180118/a940cf79/attachment-0001.html>


More information about the ncl-install mailing list