Error compiling Rbowtie2 in R-4.4 (Bioconductor 3.20 and probably 3.19)
1
0
Entering edit mode
ja.garcia • 0
@03549220
Last seen 4 hours ago
Spain

Hello, I have noticed that Rbowtie2, that is not available as binary and must be compiled, fails on Windows for versions 4.4 (I have tried 4.4.0 and 4.4.2).

The error is related to the use of int64_t types in argparse.cc.

As indicated by the error message, adding the following line along the includes of the file src/adapterremoval/argparse.cc solves the error

#include <cstdint>

Could this be fixed int he current Bioconductor releases?

Thanks in advance.

include your problematic code here with any corresponding output

* installing *source* package 'Rbowtie2' ...
** using staged installation
** libs
 running 'src/Makefile.win' ...
mkdir -p ../inst
(cd    adapterremoval && (/usr/bin/make -f"C:/Users/MyUser/AppData/Local/Programs/R/R-44~1.2/etc/x64/Makeconf" -fMakefile.win))
Makefile.win:46: warning: overriding recipe for target '.cc.o'
C:/Users/MyUser/AppData/Local/Programs/R/R-44~1.2/etc/x64/Makeconf:294: warning: ignoring old recipe for target '.cc.o'
g++ -std=gnu++17  -std=gnu++11 -O3  -D_REENTRANT -lpthread -DNDEBUG  -c adapterset.cc
g++ -std=gnu++17  -std=gnu++11 -O3  -D_REENTRANT -lpthread -DNDEBUG  -c alignment.cc
g++ -std=gnu++17  -std=gnu++11 -O3  -D_REENTRANT -lpthread -DNDEBUG  -c argparse.cc
argparse.cc: In member function 'virtual size_t ar::argparse::knob::consume(ar::string_vec_citer, const ar::string_vec_citer&)':
argparse.cc:481:9: error: 'int64_t' was not declared in this scope
  481 |         int64_t temp = 0;
      |         ^~~~~~~
argparse.cc:39:1: note: 'int64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   38 | #include "strutils.h"
  +++ |+#include <cstdint>
   39 |
argparse.cc:483:25: error: 'temp' was not declared in this scope; did you mean 'tm'?
  483 |         if (!(stream >> temp)) {
      |                         ^~~~
      |                         tm
argparse.cc:493:13: error: 'temp' was not declared in this scope; did you mean 'tm'?
  493 |         if (temp >= 0 && temp <= std::numeric_limits<unsigned>::max()) {
      |             ^~~~
      |             tm
make[1]: *** [Makefile.win:46: argparse.o] Error 1
make: *** [Makefile.win:12: all] Error 2
ERROR: compilation failed for package 'Rbowtie2'
* removing 'C:/Users/MyUser/AppData/Local/Programs/R/R-4.4.2/library/Rbowtie2'

please also include the results of running the following in an R session

sessionInfo( )

> sessionInfo()
R version 4.4.2 (2024-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 10 x64 (build 19045)

Matrix products: default


locale:
[1] LC_COLLATE=English_United States.utf8 
[2] LC_CTYPE=English_United States.utf8   
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.utf8    

time zone: America/Los_Angeles
tzcode source: internal

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

loaded via a namespace (and not attached):
[1] compiler_4.4.2 magrittr_2.0.3 R6_2.5.1       promises_1.3.2 later_1.4.1   
[6] Rcpp_1.0.14    httpuv_1.6.15 
>
Rbowtie • 53 views
ADD COMMENT
0
Entering edit mode
ja.garcia • 0
@03549220
Last seen 4 hours ago
Spain

It has been fixed by the Rbowtie2 maintainers in version 2.12.2.

Thank you for the quick fix!

ADD COMMENT

Login before adding your answer.

Traffic: 1080 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6