statgen / bamUtil

http://genome.sph.umich.edu/wiki/BamUtil
89 stars 30 forks source link

building on OSX 10.6.8 #1

Closed splaisan closed 11 years ago

splaisan commented 12 years ago

did as in README (git) These files provide some programs for working on SAM/BAM files.-------------------------------------------------------------------------------- To use git to clone the required statgen library: make cloneLib Next, to build libStatGen & this program: make

many lines ...... then ar -cru ../libStatGen.a obj/GlfException.o obj/GlfFile.o obj/GlfHeader.o obj/GlfRecord.o obj/GlfRefSection.o obj/GlfStatus.o /opt/local/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /opt/local/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /opt/local/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /opt/local/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols mkdir -p ../obj g++ -O4 -pipe -Wall -I../../libStatGen/include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -std=c++0x -DDATE="\"Sat Aug 25 12:23:40 CEST 2012\"" -DVERSION="\"1.0.2\"" -DUSER="\"splaisan\"" -o ../obj/BamExecutable.o -c BamExecutable.cpp -DVERSION="\"1.0.2\"" cc1plus: error: unrecognized command line option "-std=c++0x" make[1]: * [../obj/BamExecutable.o] Error 1 make: * [src] Error 2

Any idea what is missing here? It worked fine on RHEL but not on my laptop Thanks

douganger commented 12 years ago

I got the same error on Mac OS X 10.7.3.

mktrost commented 12 years ago

-std=c++0x includes the new C++11 standards. It is only supported in GCC 4.3. I will add an option to disable it. Hopefully I can get that done today. Sorry for the delay in the response. My notifications were screwed up and I only just now saw this issue. I will let you know when the update is in place.

mktrost commented 12 years ago

This should now be updated in the latest development version. The Makefiles should now detect if you are using a gcc version that supports C++11.

If the automatic check does not work and you still get a failure, try adding: CXX11_AVAIL=0 to your Makefile command (or to your environment). Example: make CXX11_AVAIL=0

Let me know if this fixes your problem or if you still are having issues. Again, sorry for the troubles and the delay in resolving it.

mj343 commented 11 years ago

I tried what you suggested with make CVV11_AVAIL=0 but I still get

ar -cru ../libStatGen.a obj/bgzf.o obj/knetfile.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols ar -cru ../libStatGen.a obj/BaseAsciiMap.o obj/BaseQualityHelper.o obj/BaseUtilities.o obj/BasicHash.o obj/BgzfFileType.o obj/BgzfFileTypeRecovery.o obj/CharBuffer.o obj/Chromosome.o obj/Cigar.o obj/CigarRoller.o obj/Error.o obj/FileType.o obj/FortranFormat.o obj/GenomeSequence.o obj/GenotypeLists.o obj/glfHandler.o obj/GzipFileType.o obj/GzipHeader.o obj/Hash.o obj/Input.o obj/InputFile.o obj/IntArray.o obj/IntHash.o obj/LongHash.o obj/LongLongCounter.o obj/MapFunction.o obj/MathMatrix.o obj/MathVector.o obj/MemoryAllocators.o obj/MemoryInfo.o obj/MemoryMapArray.o obj/MemoryMap.o obj/MiniDeflate.o obj/NonOverlapRegions.o obj/Parameters.o obj/PedigreeAlleleFreq.o obj/Pedigree.o obj/PedigreeDescription.o obj/PedigreeFamily.o obj/PedigreeGlobals.o obj/PedigreePerson.o obj/QuickIndex.o obj/Random.o obj/ReferenceSequence.o obj/SmithWaterman.o obj/Sort.o obj/STLUtilities.o obj/StringAlias.o obj/StringArray.o obj/StringBasics.o obj/StringHash.o obj/StringMap.o obj/TrimSequence.o obj/UncompressedFileType.o obj/WindowsHelper.o obj/PedigreeLoader.o obj/PedigreeTrim.o obj/PedigreeTwin.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols ar -cru ../libStatGen.a obj/ErrorHandler.o obj/SamFileHeader.o obj/SamFile.o obj/GenericSamInterface.o obj/SamInterface.o obj/BamInterface.o obj/SamRecord.o obj/BamIndex.o obj/SamHeaderHD.o obj/SamHeaderPG.o obj/SamHeaderRecord.o obj/SamHeaderSQ.o obj/SamHeaderRG.o obj/SamHeaderTag.o obj/SamValidation.o obj/SamStatus.o obj/SamFlag.o obj/SamStatistics.o obj/SamQuerySeqWithRefHelper.o obj/SamFilter.o obj/PileupElement.o obj/PileupElementBaseQual.o obj/SamReferenceInfo.o obj/SamTags.o obj/PosList.o obj/CigarHelper.o obj/SamRecordPool.o obj/SamCoordOutput.o obj/SamRecordHelper.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols ar -cru ../libStatGen.a obj/FastQFile.o obj/BaseCount.o obj/BaseComposition.o obj/FastQStatus.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols ar -cru ../libStatGen.a obj/GlfException.o obj/GlfFile.o obj/GlfHeader.o obj/GlfRecord.o obj/GlfRefSection.o obj/GlfStatus.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols

Any suggestions?

mktrost commented 11 years ago

Did you use: CVV11_AVAIL=0 or CXX11_AVAIL=0 ? It should be CXX11_AVAIL=0 I just wanted to check...

Also, can you try a: cd libStatGen (use the correct path to get to yours.) make clean; make CXX11_AVAIL=0

Let me know how that goes. Thanks. Sorry for the difficulties.

mj343 commented 11 years ago

hey, thanks for the quick reply. Apologies for before it was a typo in my message, but it still doesn't work!:( I tried with make clean too but no luck.!

....

g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfException.o -c GlfException.cpp -DVERSION="\"1.0.6\"" g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfFile.o -c GlfFile.cpp -DVERSION="\"1.0.6\"" g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfHeader.o -c GlfHeader.cpp -DVERSION="\"1.0.6\"" g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfRecord.o -c GlfRecord.cpp -DVERSION="\"1.0.6\"" g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfRefSection.o -c GlfRefSection.cpp -DVERSION="\"1.0.6\"" g++ -O4 -pipe -Wall -I../include -I. -DZLIB_AVAILABLE__ -D_FILE_OFFSET_BITS=64 -DSTDC_LIMIT_MACROS -o obj/GlfStatus.o -c GlfStatus.cpp -DVERSION="\"1.0.6\"" ar -cru ../libStatGen.a obj/GlfException.o obj/GlfFile.o obj/GlfHeader.o obj/GlfRecord.o obj/GlfRefSection.o obj/GlfStatus.o /usr/bin/ranlib: file: ../libStatGen.a(LongHash.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(TrimSequence.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(WindowsHelper.o) has no symbols /usr/bin/ranlib: file: ../libStatGen.a(SamFlag.o) has no symbols

is there anything else I should have installed/downloaded except libstatgen?

mktrost commented 11 years ago

Oh, I think I get it now.

It looks like we have a couple of .cpp files that have no code in them. Your ranlib is warning about that. I should clean this up a bit so those files don't exist if they aren't needed.
But I wonder if everything else works properly. Are you able to compile bamUtil and do you get: bamUtil/bin/bam even with these messages?

If you do get the binary and can run that, great. Then it is just a warning message that can be ignored for now, and I will clean that up in the next release. If it doesn't work, let me know and I'll get you a fix sooner.