HARPgroup / cbp6

Chesapeake Bay Program Phase 6 Model Suite
0 stars 0 forks source link

Pandoc Installation on deq2 Machine #99

Closed hdaniel7 closed 5 years ago

hdaniel7 commented 5 years ago

Steps to install pandoc on linux systems

sudo apt-get install haskell-platform
sudo apt-get install texlive
sudo apt-get install pandoc
# Then, I had to add another library:
sudo apt-get install libudunits2-dev
sudo apt-get install libgdal1-dev

# do as user www-data so it will be available in drupal
# Normal users can install using the simple "R" command
sudo -u www-data R
install.packages("rmarkdown")

I've been working on getting the comparison dashboards batch runnable on the deq2 machine. Unfortunately, I've run into some compatibility issues with Rmarkdown. Rmarkdown requires a somewhat current version of pandoc to write the documents. Usually, pandoc is automatically installed as part of the Rstudio installation process, but since we are using R instead of Rstudio on the server, pandoc was never installed. So, as of right now, I get the error "Error: pandoc version 1.12.3 or higher is required and was not found (see the help page ?rmarkdown::pandoc_available)." whenever I try to knit a markdown file while on the server.

Installation instructions for pandoc are here.

One way to install pandoc is from its development code on github -- however, after cloning the git repository, pandoc must be set up and installed using the 'stack setup' and 'stack install' commands. When I run these commands, I get the following: "The program 'stack' is currently not installed. To run 'stack' please ask your administrator to install the package 'haskell-stack'".

So, do any of you have any ideas of how I can get pandoc or the Haskell tool stack installed on the deq2 machine?

rburghol commented 5 years ago

On the haskell install now.

rburghol commented 5 years ago

Allrighty - haskell installed on deq2. Keep me posted!

hdaniel7 commented 5 years ago

Just tried to use the "stack" command once again -- got the error "The program 'stack' is currently not installed. To run 'stack' please ask your administrator to install the package 'haskell-stack'" again.

I figured it was somehow user-specific and tried to install haskell from my account using the command "curl -sSL https://get.haskellstack.org/ | sh" but the install failed because "danielh7 is not in the sudoers file".

rburghol commented 5 years ago

Sorry -- the padoc should now be installed on the system. You shouldn't have to do anything outside of R commands (at least that's my goal!!). Let me know, and also, if you want to point me to a R script to run in order to test I would be happy to so so. I verified that I can at least install Rmarkdown in R now.

hdaniel7 commented 5 years ago

Pandoc is installed and working for me, it appears! Thanks for taking care of that. While we're at it, can we update the R version on deq2? It's running an older version (3.4 or something) which is incompatible with some of the packages we're using for the dashboards.

rburghol commented 5 years ago

I will try to get that update sorted asap but can be limited a bit. If there are specific packages you need asap, let me know and I can likely compile them if we are delayed in updating R.

hdaniel7 commented 5 years ago

The only package that I'm having trouble installing is "ggsn". ggsn is dependent on the "units" package which is the issue that is breaking the installation, as "units" requires the package "udunits2" which requires the -dev version of the udunits library... to put it shortly, the issue is detailed a bit more here but I believe if you run the command "sudo apt-get install libudunits2-dev" prior to installing the ggsn package, everything should work alright.

rburghol commented 5 years ago

Had to install devtools, but there was a glitch with a library called "", which was failing due to another package "" that needed to be updated. For what it's worth, I tried "update.packages('glue')", which ran without error, but did not succeed. However, using remove.packages(), then install.packages, I was able to get devtools installed successfully. Prior to this I had to add a couple more libraries to our base system (described above in the issue summary, but you all should not have to do anything other than R commands). So, I went:

remove.packages('glue')
install.packages('glue')
install.packages('devtools')

And then finally, was able to install the ggsn library with devtools as:

devtools::install_github('oswaldosantos/ggsn')
hdaniel7 commented 5 years ago

Awesome, thank you! I can confirm that the pdf dashboards are now able to be generated successfully by rmarkdown on the DEQ2 server. We'll start them batch-running on the server soon.