Open main menu

Genome Analysis Wiki β



5,537 bytes added, 08:55, 28 March 2014
no edit summary
===error: zlib.h: No such file or directory===
make -C ../../libStatGen --no-print-directory opt
gcc -O4 -pipe -Wall -I../include -I. -D__ZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -D__STDC_LIMIT_MACROS -o obj/bgzf.o -c bgzf.c
In file included from bgzf.c:37:
bgzf.h:30:18: error: zlib.h: No such file or directory
bgzf.c: In function âopen_writeâ:
bgzf.c:187: error: âZ_DEFAULT_COMPRESSIONâ undeclared (first use in this function)
bgzf.c:187: error: (Each undeclared identifier is reported only once
bgzf.c:187: error: for each function it appears in.)
bgzf.c: In function âdeflate_blockâ:
bgzf.c:298: error: âz_streamâ undeclared (first use in this function)
bgzf.c:298: error: expected â;â before âzsâ
bgzf.c:299: error: âzsâ undeclared (first use in this function)
bgzf.c:306: warning: implicit declaration of function âdeflateInit2â
bgzf.c:306: error: âZ_DEFLATEDâ undeclared (first use in this function)
Based on the compile error, it appears that the development verison of zlib may not be installed. Please go to for more information.
User can compile the library without ZLIB, but then the code will not be able to read compressed files (typically BAM files are compressed).
If no compressed files is needed, then user can compile using: make ZLIB_AVAIL=0.
===error: undefined reference to `_gfortran_pow_r8_i4'===
../../libStatGen/libStatGen.a(mvt.o): In function `mvtdns_':
mvt.f:(.text+0x20c9): undefined reference to `_gfortran_pow_r8_i4'
../../libStatGen/libStatGen.a(mvt.o): In function `mvchnv_':
mvt.f:(.text+0x5848): undefined reference to `_gfortran_pow_r8_i4'
collect2: ld returned 1 exit status
make: *** [../bin/raremetal] Error 1
It looks like in some versions of compilers, the Fortran library (required by RareMetal) isn't automatically included.
These Makefile changes fixed it on the machine where I was able to recreate your compile issue:
1) libStatGen/Makefiles/Makefile.src, edit the settings for OPT_BUILD, DEBUG_BUILD, and PROFILE_BUILD to be (the new part is in bold):
2) raremetal/src/Makefile, add: (I added it on the line right after USER_LIBS is defined.)
OTHER_LIBS = -lgfortran
NOTE: this has been fixed by idenifying a bug in makefile. If you still see the same error message, please try the above solutions.
===error while loading shared libraries===
gcc -O4 -pipe -Wall -I../include -I. -D__ZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -D__STDC_LIMIT_MACROS -o obj/bgzf.o -c bgzf.c
/broad/software/free/Linux/redhat_5_x86_64/pkgs/gcc_4.4.4/libexec/gcc/x86_64-unknown-linux-gnu/4.4.4/cc1: error while loading shared libraries: cannot open shared object file: No such file or directory
make[2]: *** [obj/bgzf.o] Error 1
make[1]: *** [samtools] Error 2
make: *** [../../libStatGen/libStatGen. a] Error 2
If you are using version 0.4.4 and under, please go to our wiki page to download the newest version [[[RAREMETAL]]]. There was a bug in makefile in older versions of RAREMETAL that could cause this error and it has been fixed. For a quick fix, please go to /raremetal/src and open "Makefile". Then comment out the lines at the bottom of raremetal/src/Makefile that set LD_LIBRARY_PATH. Try compiling and see if it works.
===error: BGZF EOF marker is missing in reffhsexome_v2.vcf.gz===
Loading input files...
Loading DAT files ... done.
Loading PED files ... done.
BGZF EOF marker is missing in reffhsexome_v2.vcf.gz
Exiting, exception thrown: FAIL_IO: Failed to open reffhsexome_v2.vcf.gz
This problem has been solved. If you are using version 0.4.5 or older, please download the newest version [[[RAREMETALWORKER]]], and then in your command line, add --noeof. If you still see the error message, then you need to check if your bgzip has been updated to current version.
The ideal would be to send us your data so that we can debug. But if data sharing is not an option, you can use the following strategy to generate a backtrace and send it to us, without sharing the raw data.
How to Generate a backtrace of the error:
This will allow us to see where in the code it hit a segmentation fault. This method isn't perfect and may still leave us with further questions for you before we can come to an answer.
1) Compile for debug: make debug
2) Enable core dumps in the window where he will run: ulimit -c unlimited
3) Run bin/debug/raremetal
(If this does not coredump, then set OPTFLAG_OPT = -g -O4 in src/Makefile and try rerunning the bin/raremetal version - this will run optimized, but with the debug symbols)
4) Run: gdb bin/debug/raremetal core
(specifying the bath to the raremetal executable that was run & the path to the generated core file)
5) In the gdb window, type: bt.
6) Save the backtrace results and send it to us.
That will generate the backtrace which will help us see where the segmentation fault occurred.
'''Q: What is rareMetalWorker? How is it related to rareMetal?'''
A: [[Rare-Metal-Worker|'''rareMetalWorker''']] is the program that generates summary statistics for individual studies to share. It generates both single variant association results and covariance matrices of score statistics together with QC statistics. It enables analysis of familial data, population data, unrelated individuals and samples with cryptic relatedness and population stratification. [[RareMETAL|'''rareMETAL''']] takes the summary statistics generated by raerMetalWorker to perform both single variant and gene-level association analysis.