ropensci / tabulapdf

Bindings for Tabula PDF Table Extractor Library
https://docs.ropensci.org/tabulapdf/
Apache License 2.0
548 stars 71 forks source link

Question: installation fails on Linux Mint because of libpng12. Would it make sense to rebuild tabulizer with libpng16? #130

Open yannbaumgartner opened 3 years ago

yannbaumgartner commented 3 years ago

I have a question concerning the installation of tabulizer on Linux. rJava is successfully installed and loaded but the installation of tabulizer then fails with the following error message.

## installation fails
install.packages("tabulizer")
Installing package into ‘/home/yann/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/tabulizer_0.2.2.tar.gz'
Content type 'application/x-gzip' length 1047758 bytes (1023 KB)
==================================================
downloaded 1023 KB

* installing *source* package ‘tabulizer’ ...
** package ‘tabulizer’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/yann/R/x86_64-pc-linux-gnu-library/3.6/png/libs/png.so':
  libpng12.so.0: cannot open shared object file: No such file or directory
Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load
Execution halted
ERROR: lazy loading failed for package ‘tabulizer’
* removing ‘/home/yann/R/x86_64-pc-linux-gnu-library/3.6/tabulizer’
Warning in install.packages :
  installation of package ‘tabulizer’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/Rtmpf5HpgM/downloaded_packages’

## session info
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 20.1

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=de_CH.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=de_CH.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=de_CH.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=de_CH.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] forcats_0.5.0     stringr_1.4.0     dplyr_1.0.3       purrr_0.3.4       tidyr_1.1.2       tibble_3.0.5      ggplot2_3.3.3    
 [8] tidyverse_1.3.0   readr_1.4.0       lubridate_1.7.9.2 janitor_2.1.0    

loaded via a namespace (and not attached):
 [1] tinytex_0.29      tidyselect_1.1.0  xfun_0.20         haven_2.3.1       snakecase_0.11.0  colorspace_2.0-0  vctrs_0.3.6      
 [8] generics_0.1.0    htmltools_0.5.1.1 yaml_2.2.1        rlang_0.4.10      pillar_1.4.7      withr_2.4.1       glue_1.4.2       
[15] DBI_1.1.1         dbplyr_2.0.0      modelr_0.1.8      readxl_1.3.1      lifecycle_0.2.0   munsell_0.5.0     gtable_0.3.0     
[22] cellranger_1.1.0  rvest_0.3.6       evaluate_0.14     labeling_0.4.2    knitr_1.30        fansi_0.4.2       broom_0.7.3      
[29] Rcpp_1.0.6        backports_1.2.1   scales_1.1.1      jsonlite_1.7.2    farver_2.0.3      fs_1.5.0          hms_1.0.0        
[36] digest_0.6.27     stringi_1.5.3     grid_3.6.3        cli_2.2.0         tools_3.6.3       magrittr_2.0.1    crayon_1.3.4     
[43] pkgconfig_2.0.3   ellipsis_0.3.1    xml2_1.3.2        reprex_1.0.0      assertthat_0.2.1  rmarkdown_2.6     httr_1.4.2       
[50] rstudioapi_0.13   R6_2.5.0          compiler_3.6.3   

From what I understood Linux Mint doesn't include libpng12 anymore because it is deprecated. I could of course still install it as mentioned on https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html but I was wondering if it would be possible and worth it to fix this in tabulizer maybe by rebuilding tabulizer with libpng16 instead of libpng12?