Hi,
I am getting a compilation error when installing beachmat on a clean install (i.e. downloaded and compiled the 3.4.3 source, reinstalled all packages from scratch) of R-3.4.3. My gcc version is 4.6.3. (Ubuntu/Linaro 4.6.3-1ubuntu5). Compilation seems to fail when it reaches the compilation step for "integer_matrix.cpp" as follows:
packageVersion("Rcpp")
[1] ‘0.12.15’
packageVersion("Rhdf5lib")
[1] ‘1.0.0’
biocLite("beachmat")
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.6 (BiocInstaller 1.28.0), R 3.4.3 (2017-11-30).
Installing package(s) ‘beachmat’
trying URL 'https://bioconductor.org/packages/3.6/bioc/src/contrib/beachmat_1.0.2.tar.gz'
Content type 'application/x-gzip' length 75131 bytes (73 KB)
==================================================
downloaded 73 KB
* installing *source* package ‘beachmat’ ...
** libs
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c HDF5_utils.cpp -o HDF5_utils.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c any_matrix.cpp -o any_matrix.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c character_matrix.cpp -o character_matrix.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c character_output.cpp -o character_output.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c find_chunks.cpp -o find_chunks.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c functions.cpp -o functions.o
g++ -std=gnu++0x -I/nfs/users/nfs_d/dg13/local/lib/R/include -DNDEBUG -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rcpp/include" -I"/nfs/teams/team170/Daniel/local/lib/R/library/Rhdf5lib/include" -I/usr/local/include -fpic -g -O2 -c integer_matrix.cpp -o integer_matrix.o
In file included from integer_matrix.h:4:0,
from integer_matrix.cpp:1:
LIN_matrix.h:126:1: error: expected unqualified-id before ‘using’
LIN_matrix.h:129:1: error: expected unqualified-id before ‘using’
In file included from integer_matrix.cpp:1:0:
integer_matrix.h:21:9: error: ‘Rle_lin_matrix’ does not name a type
integer_matrix.cpp: In function ‘std::unique_ptr<beachmat::lin_matrix<int, Rcpp::Vector<13> > > beachmat::create_integer_matrix(const RObject&)’:
integer_matrix.cpp:25:84: error: no matching function for call to ‘std::unique_ptr<beachmat::lin_matrix<int, Rcpp::Vector<13> > >::unique_ptr(int*)’
integer_matrix.cpp:25:84: note: candidates are:
/usr/include/c++/4.6/bits/unique_ptr.h:164:2: note: template<class _Up, class> std::unique_ptr::unique_ptr(std::auto_ptr<_Up>&&)
/usr/include/c++/4.6/bits/unique_ptr.h:155:2: note: template<class _Up, class _Ep, class> std::unique_ptr::unique_ptr(std::unique_ptr<_Up, _Ep>&&)
/usr/include/c++/4.6/bits/unique_ptr.h:142:7: note: std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >, std::unique_ptr<_Tp, _Dp> = std::unique_ptr<beachmat::lin_matrix<int, Rcpp::Vector<13> > >]
/usr/include/c++/4.6/bits/unique_ptr.h:142:7: note: no known conversion for argument 1 from ‘int*’ to ‘std::unique_ptr<beachmat::lin_matrix<int, Rcpp::Vector<13> > >&&’
/usr/include/c++/4.6/bits/unique_ptr.h:136:17: note: constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr(std::nullptr_t) [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >, std::nullptr_t = std::nullptr_t]
/usr/include/c++/4.6/bits/unique_ptr.h:136:17: note: no known conversion for argument 1 from ‘int*’ to ‘std::nullptr_t’
/usr/include/c++/4.6/bits/unique_ptr.h:130:7: note: std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>::pointer, typename std::remove_reference<_Dp>::type&&) [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >, std::unique_ptr<_Tp, _Dp>::pointer = beachmat::lin_matrix<int, Rcpp::Vector<13> >*, typename std::remove_reference<_Dp>::type = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >]
/usr/include/c++/4.6/bits/unique_ptr.h:130:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/4.6/bits/unique_ptr.h:125:7: note: std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>::pointer, typename std::conditional<std::is_reference<_Dp>::value, _Dp, const _Dp&>::type) [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >, std::unique_ptr<_Tp, _Dp>::pointer = beachmat::lin_matrix<int, Rcpp::Vector<13> >*, typename std::conditional<std::is_reference<_Dp>::value, _Dp, const _Dp&>::type = const std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >&]
/usr/include/c++/4.6/bits/unique_ptr.h:125:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/4.6/bits/unique_ptr.h:120:7: note: std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >, std::unique_ptr<_Tp, _Dp>::pointer = beachmat::lin_matrix<int, Rcpp::Vector<13> >*]
/usr/include/c++/4.6/bits/unique_ptr.h:120:7: note: no known conversion for argument 1 from ‘int*’ to ‘beachmat::lin_matrix<int, Rcpp::Vector<13> >*’
/usr/include/c++/4.6/bits/unique_ptr.h:114:17: note: constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Tp = beachmat::lin_matrix<int, Rcpp::Vector<13> >, _Dp = std::default_delete<beachmat::lin_matrix<int, Rcpp::Vector<13> > >]
/usr/include/c++/4.6/bits/unique_ptr.h:114:17: note: candidate expects 0 arguments, 1 provided
integer_matrix.cpp:25:51: error: expected primary-expression before ‘(’ token
integer_matrix.cpp:25:56: error: expected type-specifier before ‘Rle_integer_matrix’
integer_matrix.cpp:25:56: error: expected ‘)’ before ‘Rle_integer_matrix’
make: *** [integer_matrix.o] Error 1
ERROR: compilation failed for package ‘beachmat’
* removing ‘/nfs/teams/team170/Daniel/local/lib/R/library/beachmat’
The downloaded source packages are in
‘/tmp/RtmpfPwli3/downloaded_packages’
Warning message:
In install.packages(pkgs = doing, lib = lib, ...) :
installation of package ‘beachmat’ had non-zero exit status
Can anyone help?
Dan
Apologies - the output of sessionInfo is:
sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Matrix products: default
BLAS: /nfs/teams/team170/Daniel/local/lib/R/lib/libRblas.so
LAPACK: /nfs/teams/team170/Daniel/local/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] BiocInstaller_1.28.0
loaded via a namespace (and not attached):
[1] compiler_3.4.3 tools_3.4.3