satijalab / seurat

R toolkit for single cell genomics
http://www.satijalab.org/seurat
Other
2.28k stars 910 forks source link

Seurat 3 installation error on Scientific Linux #1556

Closed jderoberts closed 5 years ago

jderoberts commented 5 years ago

Hi there, I'm running into some trouble getting the latest version of Seurat installed on Scientific Linux. When downloading the package from CRAN I get the following message:

* installing *source* package 'Seurat' ...
** package 'Seurat' successfully unpacked and MD5 sums checked
** libs
g++ -std=gnu++0x -I"/opt/apps/general/R/3.5.0/lib64/R/include" -DNDEBUG  -I"/users/k1892873/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -I"/opt/apps/general/R/3.5.0/lib64/R/library/RcppEigen/include" -I"/users/k1892873/R/x86_64-pc-linux-gnu-library/3.5/RcppProgress/include" -I/usr/local/include   -fpic  -g -O2 -c ModularityOptimizer.cpp -o ModularityOptimizer.o
In file included from ModularityOptimizer.cpp:23:
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >&)':
ModularityOptimizer.h:71: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:71: error: 'nullptr' was not declared in this scope
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, DVector*, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >)':
ModularityOptimizer.h:73: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:73: error: 'nullptr' was not declared in this scope
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >&, DVector*)':
ModularityOptimizer.h:75: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:75: error: 'nullptr' was not declared in this scope
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, IVector&, IVector&)':
ModularityOptimizer.h:79: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:79: error: 'nullptr' was not declared in this scope
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, DVector*, IVector&, IVector&)':
ModularityOptimizer.h:82: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:82: error: 'nullptr' was not declared in this scope
ModularityOptimizer.h: In constructor 'ModularityOptimizer::Network::Network(int, IVector&, IVector&, DVector*)':
ModularityOptimizer.h:85: error: type 'ModularityOptimizer::Network' is not a direct base of 'ModularityOptimizer::Network'
ModularityOptimizer.h:85: error: 'nullptr' was not declared in this scope
ModularityOptimizer.cpp: In member function 'IVector ModularityOptimizer::Clustering::getNNodesPerCluster() const':
ModularityOptimizer.cpp:98: error: expected initializer before ':' token
ModularityOptimizer.cpp:101: error: expected primary-expression before 'return'
ModularityOptimizer.cpp:101: error: expected ';' before 'return'
ModularityOptimizer.cpp:101: error: expected primary-expression before 'return'
ModularityOptimizer.cpp:101: error: expected ')' before 'return'
ModularityOptimizer.cpp: In member function 'void ModularityOptimizer::Clustering::orderClustersByNNodes()':
ModularityOptimizer.cpp:140: error: expected primary-expression before '[' token
ModularityOptimizer.cpp:140: error: expected primary-expression before ']' token
ModularityOptimizer.cpp:140: error: expected primary-expression before 'const'
ModularityOptimizer.cpp:140: error: expected primary-expression before 'int'
ModularityOptimizer.cpp:140: error: expected primary-expression before 'const'
ModularityOptimizer.cpp:140: error: expected primary-expression before 'int'
ModularityOptimizer.cpp: In constructor 'ModularityOptimizer::Network::Network(int, DVector*, IVector&, IVector&, DVector*)':
ModularityOptimizer.cpp:177: error: 'nullptr' was not declared in this scope
ModularityOptimizer.cpp:180: error: 'nullptr' was not declared in this scope
ModularityOptimizer.cpp: In constructor 'ModularityOptimizer::Network::Network(int, DVector*, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >&, DVector*)':
ModularityOptimizer.cpp:211: error: 'nullptr' was not declared in this scope
ModularityOptimizer.cpp:215: error: 'nullptr' was not declared in this scope
ModularityOptimizer.cpp:223: error: 'nullptr' was not declared in this scope
make: *** [ModularityOptimizer.o] Error 1
ERROR: compilation failed for package 'Seurat'
* removing '/users/k1892873/R/x86_64-pc-linux-gnu-library/3.5/Seurat'

The downloaded source packages are in
        '/tmp/RtmpMrg29W/downloaded_packages'
Warning message:
In install.packages("Seurat") :
  installation of package 'Seurat' had non-zero exit status

Does this look at all familiar, or is this something I should better contact the cluster administrators about?

I'm trying to get this working with:
R version 3.5.0 (2018-04-23) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Scientific Linux release 6.6 (Carbon)

Thanks a lot for your help.

mojaveazure commented 5 years ago

Hi @jderoberts,

Which compiler are you using? Have you tried using a newer compiler? We use GCC/G++ 5.4.0 and 6.2.0 and haven't had issues compiling Seurat using those compilers.

jderoberts commented 5 years ago

Ah, thanks a lot - It turns out the default compiler on the cluster is g++ (GCC) 4.4.7, I didn't know to check for that. I've switched over to use 6.2.0 and it's installed successfully. Thank you!