[R-sig-Debian] Cpp Error installing CRAN version of MatrixExtra on Ubuntu 18.04

Sebastian Meyer @eb@meyer @end|ng |rom |@u@de
Mon Dec 20 15:48:15 CET 2021


Am 20.12.21 um 15:19 schrieb Dirk Eddelbuettel:
> 
> On 19 December 2021 at 18:14, David Winsemius wrote:
> | I initially attempted installation of pkg:MatrixExtra with
> | `install.packages on my Ubuntu 18.04 LTS system from within RStudio. It
> | failed with an error attempting to compile a function named "matmul.cpp"
> | so I tried running R from a Terminal session. Same error. Finally I
> 
> Well yes. Same system, same compiler and same R.  Can you remind me what
> 
>     gcc --version
> 
> says on Ubuntu 18.04. 

gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

FWIW, "MatrixExtra" installs without problems for me on "ancient"

> R version 4.1.2 (2021-11-01)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 18.04.6 LTS
> 
> Matrix products: default
> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

I see openblas in your sessionInfo(). Could that be a problem?

Best wishes,

	Sebastian Meyer


> It could be that the g++ version may be too old for
> current coding practices. You may have to expect such errors to occur more
> frequently on ancient system.  Some of us have started to ship packages using
> C++14 (which is actually R's default in R 4.1.0 and later unless overridden
> to C++11 or lower) and even C++17. Or it could be something else. See below.
> 
> | downloaded from CRAN and this is the session result of an effort with R
> | CMD INSTALL:
> |
> | (The name of my library is a historical accident, but I'm running R
> | version 4.1.2 (2021-11-01) -- "Bird Hippie" and almost all of my other
> 
> You say R 4.1.2 but we see R 3.5.1 below !!
> 
> | 1536 packages have been updated without reported errors using
> | `update.packages(checkBuilt=TRUE)`
> |
> | ======================================
> |
> | david using davids:/usr/lib/R$ R CMD INSTALL ~/MatrixExtra_0.1.9.tar.gz
> | * installing to library ‘/home/david/R/x86_64-pc-linux-gnu-library/3.5.1’
> 
> That is very suspicious.  Why R/x86_64_pc-linux-gnu-library/3.5.1 ?
> 
> That looks like an error.  There _was_ a change from R before 4.0 to 4.0.
> As I recall you need to rebuild everything for R 4.0.* or R 4.1.*.
> 
> | * installing *source* package ‘MatrixExtra’ ...
> | ** package ‘MatrixExtra’ successfully unpacked and MD5 sums checked
> | ** using staged installation
> | checking for g++... g++
> | checking whether the C++ compiler works... yes
> | checking for C++ compiler default output file name... a.out
> | checking for suffix of executables...
> | checking whether we are cross compiling... no
> | checking for suffix of object files... o
> | checking whether the compiler supports GNU C++... yes
> | checking whether g++ accepts -g... yes
> | checking for g++ option to enable C++11 features... none needed
> 
> So far it is happy with C++11.
> 
> | configure: creating ./config.status
> | config.status: creating src/Makevars
> | ** libs
> | g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -DUSE_ROBINMAP
> | -DHAS_LD=1 -DSUPPORTS_RESTRICT=1
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/Rcpp/include'
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/float/include'
> | -fopenmp -fno-trapping-math -fno-math-errno -fvisibility=hidden -fpic
> | -g -O2 -fdebug-prefix-map=/build/r-base-J7pprH/r-base-4.1.2=.
> | -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> | -D_FORTIFY_SOURCE=2 -g  -Wno-ignored-attributes -c RcppExports.cpp -o
> | RcppExports.o
> 
> And uses C++11
> 
> | g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -DUSE_ROBINMAP
> | -DHAS_LD=1 -DSUPPORTS_RESTRICT=1
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/Rcpp/include'
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/float/include'
> | -fopenmp -fno-trapping-math -fno-math-errno -fvisibility=hidden -fpic
> | -g -O2 -fdebug-prefix-map=/build/r-base-J7pprH/r-base-4.1.2=.
> | -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> | -D_FORTIFY_SOURCE=2 -g  -Wno-ignored-attributes -c assignment.cpp -o
> | assignment.o
> | g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -DUSE_ROBINMAP
> | -DHAS_LD=1 -DSUPPORTS_RESTRICT=1
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/Rcpp/include'
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/float/include'
> | -fopenmp -fno-trapping-math -fno-math-errno -fvisibility=hidden -fpic
> | -g -O2 -fdebug-prefix-map=/build/r-base-J7pprH/r-base-4.1.2=.
> | -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> | -D_FORTIFY_SOURCE=2 -g  -Wno-ignored-attributes -c cbind.cpp -o cbind.o
> | g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -DUSE_ROBINMAP
> | -DHAS_LD=1 -DSUPPORTS_RESTRICT=1
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/Rcpp/include'
> | -I'/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/float/include'
> | -fopenmp -fno-trapping-math -fno-math-errno -fvisibility=hidden -fpic
> | -g -O2 -fdebug-prefix-map=/build/r-base-J7pprH/r-base-4.1.2=.
> | -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> | -D_FORTIFY_SOURCE=2 -g  -Wno-ignored-attributes -c matmul.cpp -o matmul.o
> | matmul.cpp: In function ‘void gemm_csr_drm_as_dcm(int, int, const int*,
> | const int*, const double*, const real_t*, size_t, real_t*, int, int)’:
> | matmul.cpp:137:41: error: ‘ldc’ is predetermined ‘shared’ for ‘shared’
> |               private(write_ptr, temp_arr)
> |                                           ^
> | /usr/lib/R/etc/Makeconf:177: recipe for target 'matmul.o' failed
> | make: *** [matmul.o] Error 1
> | ERROR: compilation failed for package ‘MatrixExtra’
> | * removing ‘/home/david/R/x86_64-pc-linux-gnu-library/3.5.1/MatrixExtra’
> 
> I have never seen that error. No idea.
> 
> But again the '3.5.1' seems out of whack with your use of R 4.1.2.
> 
> Dirk
> 
> 
> | =======from an R console session==============================
> |
> |  > sessionInfo()
> | R version 4.1.2 (2021-11-01)
> | Platform: x86_64-pc-linux-gnu (64-bit)
> | Running under: Ubuntu 18.04.5 LTS
> |
> | Matrix products: default
> | BLAS:   /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
> | LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so
> |
> | locale:
> |   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
> |   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
> |   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
> |   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
> |   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> | [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
> |
> | attached base packages:
> | [1] stats     graphics  grDevices utils     datasets  methods base
> |
> | loaded via a namespace (and not attached):
> | [1] compiler_4.1.2
> |
> | Thanks for any suggestions.
> |
> | David Winsemius
> |
> | _______________________________________________
> | R-SIG-Debian mailing list
> | R-SIG-Debian using r-project.org
> | https://stat.ethz.ch/mailman/listinfo/r-sig-debian
>



More information about the R-SIG-Debian mailing list