|
From: Robert D. <rm...@sa...> - 2018-06-18 16:34:36
|
On Sat, 16 Jun 2018, Richard Durbin wrote: > Hello Shane and Rob, > > I am fixing a problem with pbwt, and now I get link warnings for htslib with a current github install: > > [Richards-MacBook-Pro:~/tmp/pbwt] rd% make > cc -g -O3 -I../htslib pbwtMain.o pbwtCore.o pbwtSample.o pbwtIO.o pbwtMatch.o pbwtImpute.o pbwtPaint.o pbwtLikelihood.o pbwtMerge.o pbwtGeneticMap.o pbwtHtslib.o hash.o dict.o array.o utils.o -lpthread ../htslib/libhts.a -lz -lm -lbz2 -llzma -o pbwt > ld: warning: could not create compact unwind for _vcf_parse_format.isra.19: stack subq instruction is too different from dwarf stack size > ld: warning: could not create compact unwind for _cram_populate_ref: stack subq instruction is too different from dwarf stack size > ld: warning: could not create compact unwind for _rans_uncompress_O0: stack subq instruction is too different from dwarf stack size > > I haven’t seen this before. Should I just ignore these, or is there a way to remove them? A web search suggests that this warning shows up when linking using real gcc (not the gcc wrapper around llvm that comes with Xcode). It looks like there are a couple of solutions: 1. Use clang instead of gcc 2. Use the -no_compact_unwind linker option. To do this with htslib, the best way would be: ./configure LDFLAGS='-Wl,-no_compact_unwind' make This linker option appears to be harmless when used with clang and the llvm gcc wrapper. Unfortunately I haven't been able to test real gcc yet as homebrew appears to want to build it from scratch, which takes rather a long time. To see if you're using the real gcc, run `gcc -v`. If it says 'Apple LLVM' somewhere then it's the wrapper and not the real thing. Rob Davies rm...@sa... The Sanger Institute http://www.sanger.ac.uk/ Hinxton, Cambs., Tel. +44 (1223) 834244 CB10 1SA, U.K. Fax. +44 (1223) 494919 -- The Wellcome Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE. |