Rsubread install problems on CentOS 6.8/R3.4.1/gcc/4.8.2
1
0
Entering edit mode
hjmangalam • 0
@hjmangalam-13511
Last seen 7.4 years ago
>  sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.8 (Final)

Matrix products: default
BLAS: /usr/lib64/libblas.so.3.2.1
LAPACK: /usr/lib64/atlas/liblapack.so.3.0

locale:
[1] LC_CTYPE=en_US.iso885915       LC_NUMERIC=C                   
[3] LC_TIME=en_US.iso885915        LC_COLLATE=en_US.iso885915     
[5] LC_MONETARY=en_US.iso885915    LC_MESSAGES=en_US.iso885915    
[7] LC_PAPER=en_US.iso885915       LC_NAME=C                      
[9] LC_ADDRESS=C                   LC_TELEPHONE=C                 
[11] LC_MEASUREMENT=en_US.iso885915 LC_IDENTIFICATION=C            

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

loaded via a namespace (and not attached):
[1] compiler_3.4.1

I'm trying to install your Rsubread pkg for a user here on our cluster. The problem seems to be that I'm getting basic C errors which is odd for such a long-lived package. Is there a missing header file in this package?

The errors below are from R 3.4.1, but I get essentially identical ones from other R versions using gcc/4.8.2.

The install was initiated, after loading the R/3.4.2 module, with:

> source("http://bioconductor.org/biocLite.R")
> biocLite("Rsubread") 

 

* installing *source* package 'Rsubread' ...                                                
@@@@@ The operating system is Linux.                                                        
** libs                                                                                     
mpicc -I/data/apps/R/3.4.1/lib64/R/include -DNDEBUG   -I/data/apps/curl/7.52.1/include/curl
-I/data/apps/pcre/8.40/include -I/data/apps/xz/5.2.3/include -I/data/apps/bzip2/1.0.6/incl
ude -I/data/apps/zlib/1.2.8/include   -DMAKE_FOR_EXON -D SUBREAD_VERSION="\"Rsubread 1.26.0
\"" -fpic  -g -O2 -std=c99  -c HelperFunctions.c -o HelperFunctions.o                       
HelperFunctions.c: In function 'mac_str':                                                   
HelperFunctions.c:822:18: error: storage size of 'ifr' isn't known                          
    struct ifreq ifr;                                                                      
                 ^                                                                         
HelperFunctions.c:823:19: error: storage size of 'ifc' isn't known                          
    struct ifconf ifc;                                                                     
                  ^                                                                        
HelperFunctions.c:835:64: error: invalid application of 'sizeof' to incomplete type 'struct 
ifreq'                                                                                     
    const struct ifreq* const end = it + (ifc.ifc_len / sizeof(struct ifreq));             
                                                               ^                           
HelperFunctions.c:837:23: error: increment of pointer to an incomplete type 'struct ifreq'  
    for (; it != end; ++it) {                                                              
                      ^                                                                    
HelperFunctions.c:838:32: error: dereferencing pointer to incomplete type 'struct ifreq'    
        strcpy(ifr.ifr_name, it->ifr_name);                                               

Full Errors at: http://pasted.co/13eb1e8b

OS is CentOS 6.8 on AMD Bulldozer: AMD Opteron(tm) Processor 6320

Env via printenv: http://termbin.com/9w6b

The module environment is:

$ module li 
Currently Loaded Modulefiles:
 1) gcc-libs/5.3.0            7) bzip2/1.0.6
 2) gcc/5.3.0                 8) xz-utils/5.2.3
 3) openmpi-1.8.8/gcc-5.3.0   9) pcre/8.40
 4) tcl-tk/8.6.4             10) curl/7.52.1
 5) fftw/3.3.4               11) cern_root/5.34.36
 6) zlib/1.2.8               12) R/3.4.1

 

 

linux rsubread installation • 2.3k views
ADD COMMENT
1
Entering edit mode
Mike Smith ★ 6.6k
@mike-smith
Last seen 1 hour ago
EMBL Heidelberg

The ifreq struct should be defined in <net/if.h>, which for me is found in /usr/include/.  Is it present on your system, and included during compilation?  

ADD COMMENT
0
Entering edit mode

I have the same error and I found /usr/include/net/if.h in my system. How can I know whether it is included udring compilation?

ADD REPLY
0
Entering edit mode

After I give the net/if.h in compilation, it still not working...the command is below.....

gcc -std=c99 -I/usr/include/ -I/lustre/home/fubeide/soft/R-3.4.0/include -DNDEBUG   -I/lustre/home/fubeide/lib/include  -DMAKE_FOR_EXON -D SUBREAD_VERSION="\"Rsubread 1.26.1\"" -w -fpic  -g -O2  -c HelperFunctions.c -o HelperFunctions.o

 

HelperFunctions.c: In function ‘mac_str’:
HelperFunctions.c:824:18: error: storage size of ‘ifr’ isn’t known
     struct ifreq ifr;
                  ^
HelperFunctions.c:825:19: error: storage size of ‘ifc’ isn’t known
     struct ifconf ifc;
                   ^

 

ADD REPLY
0
Entering edit mode

ok, it's my fault.....the error is gone after I remove the       -std=c99         in compilation................

ADD REPLY

Login before adding your answer.

Traffic: 970 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