Search
Question: Rsubread install problems on CentOS 6.8/R3.4.1/gcc/4.8.2
0
gravatar for hjmangalam
4 months ago by
hjmangalam0
hjmangalam0 wrote:
>  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

 

 

ADD COMMENTlink modified 4 months ago by Mike Smith2.1k • written 4 months ago by hjmangalam0
1
gravatar for Mike Smith
4 months ago by
Mike Smith2.1k
EMBL Heidelberg / de.NBI
Mike Smith2.1k wrote:

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 COMMENTlink modified 4 months ago • written 4 months ago by Mike Smith2.1k

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 REPLYlink written 3 months ago by fubeide0

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 REPLYlink written 3 months ago by fubeide0

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

ADD REPLYlink written 3 months ago by fubeide0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 324 users visited in the last hour