> 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
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?
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;
^
ok, it's my fault.....the error is gone after I remove the -std=c99 in compilation................