[ncl-talk] installing ncl on Debian Linux 10

Kevin Hallock hallock at ucar.edu
Wed Apr 22 17:31:16 MDT 2020


Hi Gus,

Thanks for sharing your thoughts and experience with NCL build and installation issues on Linux! I just wanted to help clarify some of the concerns you raised.

First, although we have pivoted our development focus to Python and are working to port NCL’s functionality into Python, we are still committed to providing access to NCL in its current form. Compiling NCL binary releases for a wide variety of Linux distributions and versions has always been a challenging game of whack-a-mole, and as more and more variants are added this ultimately becomes unmaintainable for us in the long term. Using “conda” to distribute NCL has simplified this process for us dramatically in that we only need to target a single Linux environment that can be deployed on any modern 64-bit Linux system (independent of which Linux distribution a user is on). Also note that while the “conda” package manager does use Python under the hood, the NCL package available via conda is still the same original NCL language implementation, existing NCL scripts do not need to be rewritten; the only change is the method of distributing and installing the NCL binary.

Regarding the dependence on Anaconda (the company), we do not rely on any of their “pro” features nor do we depend on them explicitly supporting our software. We participate in a community-driven conda channel called “conda-forge”: https://conda-forge.org/ <https://conda-forge.org/> 

A primary goal of the conda-forge project is to provide a wide variety of packages that all use a compatible set of dependency libraries, much like the maintainers of a “yum” or “apt” repository would do. We generally advise people to use “conda-forge” channel instead of the default channel provided by Anaconda, particularly because “missing library” type errors tend to pop up when packages from multiple channels are used in the same conda environment. (For reference, it is possible to prioritize “conda-forge” with a persistent setting by running “conda config --add channels conda-forge”.)

Also, NCL has been put into “maintenance mode”, meaning we will ensure that NCL builds on currently supported platforms, continue to fix critical bugs, and distribute bug fix releases on a best effort basis for the foreseeable future. We do not currently have plans to add new features to NCL beyond the 6.6.2 release, but we welcome contributions from the user community. Barring unforeseen changes to funding levels, or shifts in the technological landscape, we plan on providing bug fix releases for currently supported platforms, in both source code and executable form, through the year 2021 and hopefully beyond. Please see our Pivot to Python FAQ for more info: http://www.ncl.ucar.edu/Document/Pivot_to_Python/faq.shtml <http://www.ncl.ucar.edu/Document/Pivot_to_Python/faq.shtml> 

I hope this addresses your concerns. Thanks again for your feedback, it’s important to us to stay engaged with the community.

Kevin

> On Apr 21, 2020, at 11:17 PM, Gus Correa via ncl-talk <ncl-talk at ucar.edu> wrote:
> 
> Hi Francesco
> 
> I haven't tried to build NCL from source for a long time.
> So, I am afraid I cannot help much, but please see two suggestions at the end of this message.
> 
> **
> 
> Unfortunately NCAR phased out the standard NCL code in favor of the Python-based code.
> They've been recommending the Anaconda Python installation of NCL as the preferred way to install.
> The traditional NCL code development has been frozen, at least that is what they told this mailing list a year or so ago.
> 
> Actually it is specific the Anaconda Python, which makes it even more restrictive and less open 
> then Python alone (or PIP), since Anaconda is a company, a private business, which is already
> advertising and selling "pro" versions of their "conda" software, after luring users with the "community" version for a while.
> I think that was a terrible decision. 
> It alienated a huge user base (in the USA and worldwide).
> It trashed an enormous number of research- and production-level NCL scripts that will eventually have to be re-written. 
> It requires users to have to learn the NCL replacement language and rewrite all their scripts with no tangible gain,
> just to stay exactly where they were before.
> It made NCL depend on corporate decisions (of Anaconda.com) that neither the community nor NCAR has any control of,
> and that do not necessarily serve the atmospheric/climate/oceans community best interests.
> 
> We were told that the original NCL code development was frozen/killed: 
> don't expect new versions, there will be no updates in the downloadable binaries, etc.
> This is sure to make everything in the traditional NCL become obsolete, and eventually go extinct.
> I still have NCL installed from packages in the LInux distribution I use (CentOS 7),
> and that I install in a number of computers in the university to serve researchers, students, and faculty.
> However, since the NCL code development is frozen and killed, these packages are bound to 
> become incompatible with new Linux developments, and therefore are sure to disappear from future
> LInux updates (e.g. in CentOS 8 and so on), as you are experiencing with your new version of Debian.
> 
> I and other NCL users voiced in this mailing list 
> our protest against the decision of phasing out the NCL code development, to no avail.
> I wish the NCAR leadership had listened, given a second thought to this matter, 
> and reconsidered their terrible decision, which really didn't take into account the best interests of the user community.
> 
> **
> 
> As for the specifics of your email, I would check the log file of your build, i.e.,
> the make-output file, and search for errors.
> I would guess that it didn't really succeed, but stumbled on errors before it could build ncl itself.
> Maybe there is a clue there on where and why the build is failing.
> 
> With respect to the soft link that you made from libgfortran.so.3 to libgfortran.so.5,
> I would not expect it to work. That is why I suggested the use of a "compat" package
> that may reconcile the differences in libgfortran versions 3 and 5.
> I am not familiar with Debian, and I don't know if such a package is available in Debian.
> I use CentOS (a derivative of Red Hat Enterprise), and in general they keep some "compat"
> packages available, to allow a smooth transition from older to newer versions of gcc, gfortran,
> etc.
> 
> Sincerely,
> Gus Correa
> 
> On Tue, Apr 21, 2020 at 11:52 PM Francesco Trotta <francesco.trotta4 at unibo.it <mailto:francesco.trotta4 at unibo.it>> wrote:
> 
> Dear Gus Correa
> 
> I tried to create a link libgfortran.so.3 to libgfortran.so.5 
> but I got another error
> ncl: /usr/lib/x86_64-linux-gnu/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by ncl)
> 
> I would like to not use the virtual environment for now
> SO I tried to compile and install from the source code ncarg-6.6.2
> following the step-by-step instructor from the website
>  
> After I installed all the necessary package on the /usr/local/ and
> run the command: make Everything >& make-output
> I end up with the below executables:
> 
> But there is not 'ncl' 
> 
> bash: ncl: command not found
> 
> What did I miss? 
> 
> Many Thanks
> Francesco
> 
> surf at surf:/usr/local/ncl_ncarg/ncl_ncarg-6.6.2/bin$ tree -L 2 ./
> ./
> ├── cgm2ncgm
> ├── ConvertMapData
> ├── ctlib
> ├── fcaps
> ├── findg
> ├── fontc
> ├── gcaps
> ├── graphc
> ├── idt
> ├── med
> ├── ncargcc
> ├── ncargex
> ├── ncargf77
> ├── ncargf90
> ├── ncargfile
> ├── ncargpath
> ├── ncargrun
> ├── ncargversion
> ├── ncargworld
> ├── ncarlogo2ps
> ├── ncarvversion
> ├── ncgm2cgm
> ├── ncgmstat
> ├── ncl_convert2nc
> ├── ncl_filedump
> ├── ncl_grib2nc
> ├── ncl_quicklook
> ├── ng4ex
> ├── nhlcc
> ├── nhlf77
> ├── nhlf90
> ├── pre2ncgm
> ├── pre2ncgm.prog
> ├── psblack
> ├── psplit
> ├── pswhite
> ├── pwritxnt
> ├── scrip_check_input
> ├── tgks0a
> ├── tlocal
> ├── WRAPIT
> ├── wrapit77
> ├── WriteLineFile
> ├── WriteNameFile
> └── WritePlotcharData
> Da: ncl-talk <ncl-talk-bounces at ucar.edu <mailto:ncl-talk-bounces at ucar.edu>> per conto di Gus Correa via ncl-talk <ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>>
> Inviato: lunedì 20 aprile 2020 03:57
> A: NCL Talk <ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>>
> Oggetto: Re: [ncl-talk] installing ncl on Debian Linux 10
>  
> Hi Francesco
> 
> Have you checked if your Debian distribution has a "compat" (compatibility) package for gfortran/libgfortran
> between libgfortran.5 and libgfortran.3 ?
> Apt-get may have a way to check if it is available.
> I don't use Debian, but CentOS-7, which has an older kernel and older libraries.
> However, I have libgfortran.3 along with a "compat" package that provides compatibility with libgfortran.1, for example.
> 
> An alternative is to install NCL using Anaconda Python.
> This is currently the recommended method (argh!):
> https://www.ncl.ucar.edu/Download/ <https://www.ncl.ucar.edu/Download/>
> That is self-contained, doesn't depend on the system libraries.
> In my experience it has other problems, particularly a sensitive dependency on other Anaconda Python packages
> that change by the hour, and don't give a damn to backward compatibility, which can easily break functionality.
> So, if you install this way, be careful with any conda packages updates, or simply don't update.
> 
> I hope this helps,
> Gus Correa
> 
> On Sun, Apr 19, 2020 at 5:25 PM Francesco Trotta via ncl-talk <ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>> wrote:
> Dear ncl team
>     I upgraded my operating system to Debian GNU/Linux 10 buster
> 
>     This new Debian has GNU Fortran (Debian 8.3.0-6) 8.3.0 installed
> 
>     Now, when I run ncl it gives me the error:
>    ncl: error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory
> 
>    The new Debian has libgfortran.so.5
> 
>    /usr/lib/x86_64-linux-gnu/libgfortran.so.5
> 
>     so I upgraded ncl using to the last precompiled binary 
> 
> ncl_ncarg-6.6.2-Debian9.8_64bit_nodap_gnu630.tar.gz
> 
>     bu I got the same error.
> 
>     I can I use ncl in Debian 10?
> 
> Many Thanks
> Francesco
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>_______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200422/717b7662/attachment.html>


More information about the ncl-talk mailing list