refresh-bio / KMC

Fast and frugal disk based k-mer counter
266 stars 73 forks source link

makefile_mac #21

Open antoine4ucsd opened 7 years ago

antoine4ucsd commented 7 years ago

Hi I am willing to install KMC as part of the required dependencies for IVA and I am struggling with the installation of KMC on my Mac.

1. I set the new path of gcc in the makefile_mac

2. Considering the following error message:

screen shot 2017-03-12 at 9 29 26 am

I removed the -fopenmp option from makefile_mac

3. I reran make -f makefile_mac but I finally got this error I cannot fix (sorry for that...)

screen shot 2017-03-12 at 9 28 49 am

Any advices would be very appreciate

thanks ++ a

marekkokot commented 7 years ago

Hi, I will check this when I will have access to MAC, hopefully tomorrow. In the meantime, what version of gcc you have?

antoine4ucsd commented 7 years ago

thanks! gcc-5.3.0 is installed on my Mac

a

On Mar 14, 2017, at 12:01 AM, marekkokot notifications@github.com wrote:

Hi, I will check this when I will have access to MAC, hopefully tomorrow. In the meantime, what version of gcc you have?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/refresh-bio/KMC/issues/21#issuecomment-286338539, or mute the thread https://github.com/notifications/unsubscribe-auth/ARpT53feRztrIePMBbl5XGaKSEJCdNcgks5rljs8gaJpZM4MalsI.

marekkokot commented 7 years ago

Hi, I just noticed that the warning and errors you recieve are from clang, not from g++. Here is a related topic.

Unfortunatelly, for now it is not possible to compile KMC with clang, so you should install the real gcc. As far as I remember i used brew approach. I am not sure what is the newest version of gcc supported by brew, but I think it should be sufficient for KMC and KMC tools compilation.

BTW. Why you need to compile KMC on your own and cannot use precompiled version? If the only issue is disabling asmlib, I may compile KMC without asmlib and extend 3.0.0 release. Let me know.

Note: I compiled latest release of KMC on MAC with gcc-6.3.0 which I first compiled from sources using previous version of gcc (installed with homebrew). Here is the description of installing gcc from sources. You will probably do NOT need to do that.

Note2: Unfortunatelly I am not a MAC expert, so maybe it is possible to make it better.

antoine4ucsd commented 7 years ago

Fixed! thanks ++

notestaff commented 7 years ago

@marekkokot Is it possible to make kmc compileable with clang? I'm trying to create a bioconda recipe for kmc. I've created one for kmc 2.3 which only builds kmc and kmc_dump . I want to add kmc_tools , but that requires a C++14 compiler. There is no bioconda recipe for a C++14 compiler, but there is a clangdev 3.9.1 recipe on conda-forge, and bioconda recipes may depend on conda-forge. But, you say there's no way to build kmc using clangdev 3.9.1.? Thanks!

notestaff commented 7 years ago

@marekkokot also, the kmc website seems to be down at http://sun.aei.polsl.pl/kmc ?

raquellewei commented 3 years ago

Hi, I ran into a similar issue...this is the error message I received while running make -f makefile_mac: usr/local/Cellar/gcc/10.2.0_4/bin/g++-10 -lm -fopenmp -static-libgcc -static-libstdc++ -O3 -pthread -std=c++11 -o bin/kmc kmer_counter/kmer_counter.o kmer_counter/mmer.o kmer_counter/mem_disk_file.o kmer_counter/rev_byte.o kmer_counter/bkb_writer.o kmer_counter/cpu_info.o kmer_counter/bkb_reader.o kmer_counter/fastq_reader.o kmer_counter/timer.o kmer_counter/develop.o kmer_counter/kb_completer.o kmer_counter/kb_storer.o kmer_counter/kmer.o kmer_counter/splitter.o kmer_counter/kb_collector.o kmer_counter/libs/libz.1.2.5.dylib kmer_counter/libs/libbz2.1.0.5.dylib ld: warning: direct access in function '__ZnamRKSt9nothrow_t.cold' from file '/usr/local/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/x86_64-apple-darwin17/10.2.0/../../../libstdc++.a(new_opvnt.o)' to global weak symbol '__ZnamRKSt9nothrow_t' from file '/usr/local/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/x86_64-apple-darwin17/10.2.0/../../../libstdc++.a(new_opvnt.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings. I installed gcc using brew... bin/py_kmc_apipython3-config --extension-suffix does not appear Help desperately needed