Skip to content
This repository has been archived by the owner on Aug 28, 2019. It is now read-only.

NOTES: Missing software and libraries #5

Open
7 tasks done
HenrikBengtsson opened this issue Mar 21, 2017 · 31 comments
Open
7 tasks done

NOTES: Missing software and libraries #5

HenrikBengtsson opened this issue Mar 21, 2017 · 31 comments
Assignees

Comments

@HenrikBengtsson
Copy link
Contributor

HenrikBengtsson commented Mar 21, 2017

I'll keep this issue open and use it to add core software and libraries that I find to be missing. Feel free to mention more in comments and I'll add them to the list here in this top post.

Compute hosts:

Critical / show stoppers

  • ...

Non-critical

  • qpdf (needed by R CMD check)
  • pdflatex (needed by R CMD check)

Build hosts:

Critical / show stoppers

  • ImageMagick-c++-devel (needed by e.g. R package magick)
  • libcurl-devel (needed by e.g. R package RCurl)
  • libopenssl-devel (needed by e.g. R package openssl)
  • libxml2-devel (needed by e.g. R package xml2)
  • libssh2-devel (needed by e.g. R package git2r)

Non-critical

  • ...

Reference:

I was told about http://statmath.wu.ac.at/AASC/debian/binary-amd64/Packages, which shows a list of Debian libraries used by the CRAN maintainers (CRAN is the main R package repository) and also https://github.com/r-hub/sysreqsdb.

@HenrikBengtsson
Copy link
Contributor Author

jlbl wrote on Feb 14:

I assume the pdf stuff is only needed on the interactive node, not the compute nodes, right?

Although I discovered this by running R CMD check, pdflatex and all of LaTeX can certainly be needed by other software for generating PDF reports on the fly. So, I think they can be useful also on the nodes.

For now, although it's useful if you add them, you can also just keep eye out here and I can reach out to your whenever I / we hit real show stoppers.

@HenrikBengtsson
Copy link
Contributor Author

@jlbl, could you please install libxml2-devel? It's needed in order to install R package xml2.

@HenrikBengtsson
Copy link
Contributor Author

@jjbl, another one: libcurl-devel. For the record, it's needed to install R package RCurl - if missing one gets configure error:

checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package 'RCurl'

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

Thxs. @jlbl, another one for R:

> install.packages("openssl")
[...]
Configuration failed because openssl was not found. Try installing:
[...]
    openssl-devel (package on e.g. Fedora, CentOS and RHEL)

@HenrikBengtsson
Copy link
Contributor Author

There'll be quite more, but I post them as I run into them:

> install.packages("magick")
Configuration failed because Magick++ was not found. Try installing:
[...]
 * rpm: ImageMagick-c++-devel (Fedora, CentOS, RHEL)

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

HenrikBengtsson commented Mar 22, 2017

Since you're installing *-devel libraries on build ("login") hosts only, does that mean you're also making sure the corresponding run-time libraries are available on the compute hosts?

It looks like Rscript -e "library(openssl)" works on compute hosts, but Rscript -e "library(magick)" gives "Error in library(magick) : there is no package called 'magick'. Execution halted" on compute host, but works on build host.

The above got me to try to inspect what libraries are available on the compute hosts, by submitting:

$ qsub -j yes -b yes ldconfig -p

but it comes back with empty output:

$ cat ldconfig.o25290
$ ll ldconfig.o25290
-rw-r--r--. 1 hb lsd 0 Mar 22 12:54 ldconfig.o25290

Any ideas?

@HenrikBengtsson
Copy link
Contributor Author

Another one:

> install.packages("git2r")
[...]
   To build with SSH support, please install:
[...]
     libssh2-devel (package on e.g. Fedora, CentOS and RHEL)

@jlbl
Copy link

jlbl commented Mar 22, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

FYI, there are 12,000+ R package on CRAN and Bioconductor these days. There are a set of core libraries that covers most use cases, but I've always discovered them as I needed them.

I'm now trying to identify a "set of libraries that covers 95% of all R packages" so that you can install them all in one go. I've already got some pointers by different R folks (unfortunately mostly for Debian; so need to identify corresponding library names for Centos).

PS. I've got about ~2,000 R packages in my current setup. I don't think you wanna install all those, eh?

@jlbl
Copy link

jlbl commented Mar 23, 2017 via email

@jlbl
Copy link

jlbl commented Mar 23, 2017 via email

@jlbl
Copy link

jlbl commented Mar 28, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

Here's a first list of installs for Centos that's needed that I identified from a freash Docker Centos 7 image.
Some of them are probably already installed on wynton, but I yum install -y should just skip those if so.
This far I've only worried about built-time dependencies, i.e. I'm not yet worrying about run-time deps needed on the compute nodes:

bzip2-devel
cairo pango-devel
curl-devel
gcc-c++
gcc-gfortran
java-1.8.0-openjdk-*
libicu-devel
libjpeg-devel
libpng-devel
libtiff-devel
libX11-devel libXt-devel
pcre-devel
readline-devel
texinfo
texlive-latex-bin-bin
valgrind
xz-devel
zlib-devel
epel-release
pandoc pandoc-citeproc
gdal-devel
ImageMagick-c++-devel
libGLU-devel
libssh2-devel
libwebp-devel
libxml2-devel
mariadb-devel
openmpi-devel
openssl-devel
protobuf-devel
v8-314-devel

@HenrikBengtsson
Copy link
Contributor Author

@jjbl, did you have time to install the new set of built-in-time libraries I listed in #5 (comment)?

@jlbl
Copy link

jlbl commented Apr 14, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

@jlbl, here's another set of libraries missing, which are needed in order to install essential R packages from source:

gdal-devel
proj-devel
proj-epsg
proj-nad
gsl-devel
netcdf-devel
libsndfile-devel
fftw3-devel
gtk2-devel
gmp-devel

There is also:

jags4-devel

which I could only locate for Centos 7 on http://download.opensuse.org/repositories/home:/cornell_vrdc/ (source http://mcmc-jags.sourceforge.net/), i.e.

yum install -y http://download.opensuse.org/repositories/home:/cornell_vrdc/CentOS_7/x86_64/jags4-devel-4.1.0-65.2.x86_64.rpm

@jlbl
Copy link

jlbl commented Apr 24, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

Lmod - missing dependencies

I am attempting to set up Lmod (Lua Environment Modules) and am missing a few dependencies. I'm following the instructions at http://lmod.readthedocs.io/en/latest/030_installing.html.

The following software / libraries are needed:

$ rpm -qa | grep lua
lua-posix-5.1.7-1.el6.x86_64
lua-5.1.4-4.1.el6.x86_64
lua-filesystem-1.4.2-1.el6.x86_64
lua-devel-5.1.4-4.1.el6.x86_64

You will also need the libtcl and tcl packages as well.

@jlbl, could you please install the above?

Validation / knowing when req'd libraries are available

Running the configure of Lmod currently gives:

$ /netapp/home/hb/repositories/ucsf-wynton/apps/manual/lmod/Lmod-7.4/configure --prefix=/tmp/${USER}/lmod
[...]
checking for valid Lua version... 5.1
checking for lua modules: posix

Error: The follow lua module(s) are missing:  posix

You can not run Lmod without:  posix

@jlbl
Copy link

jlbl commented Jun 6, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

The lua-devel package should only be needed to build Lmod, so that's should not be needed on the compute nodes. But I suspect the others will be used by run-time Lmod which will be called from within job scripts as:

module load my_favorite_software/version

@jlbl
Copy link

jlbl commented Jun 6, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

HenrikBengtsson commented Jun 7, 2017

Here's another suite of devel libraries needed for some key R packages:

cyrus-sasl-devel
geos-devel
gpgme-devel
hiredis-devel
leptonica-devel
librsvg2-devel
libsodium-devel
libudunits2-devel   ## hmm... not sure if this exists (error is missing "udunits2")
libxslt-devel
mpfr-devel
openssl-devel
poppler-cpp-devel
postgresql-devel
redland-devel
tcl-devel
tk-devel
tesseract-devel
unixodbc-devel
zeromq3-devel

For now I don't know exactly which R packages that need those devel libraries also need the corresponding runtime libraries to run. To be on the safe side, I guess the compute nodes should have ditto without -devel installed. (why I asked Issue #7)

PS. I got Lmod to install, so it seems we've got all requires lua-* modules needed - thxs for that.

@HenrikBengtsson
Copy link
Contributor Author

UPDATE 2017-06-08: I've added tcl-devel and tk-devel to the 2017-06-07 list of missing libraries.

@jlbl
Copy link

jlbl commented Jun 9, 2017 via email

@HenrikBengtsson
Copy link
Contributor Author

HenrikBengtsson commented Jun 11, 2017

Thxs; confirming that these latest libraries made it possible to install another 150 (1%) of the 11,000 R package on CRAN - all in all I've got ~10,500 of CRAN installed. I still haven't validated run-time on nodes, I think we have a pretty decent base on commonly-needed libraries (for R and hopefully also Python too) now.

UPDATE: 941 (97.6%) out of 964 Bioconductor package could now be installed "out-of-the-box".

@HenrikBengtsson
Copy link
Contributor Author

Here is another set of core software that I think should be available to all users by default:

  • emacs
  • htop (much neater and more powerful than top)
  • aspell, ispell
  • cmake (quite a few installs from source require cmake these days)
  • hg (Mercurial version control client)

All of the above exist via yum install.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants