refresh-bio / KMC

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

When compiling make on the arm platform, the following error occurs, using the clang and clang++ compilers #212

Closed 123xyl closed 1 year ago

123xyl commented 1 year ago

image When compiling make on the arm platform, the following error occurs, using the clang and clang++ compilers

marekkokot commented 1 year ago

Hi,

you need to

git clone --recurse-submodules https://github.com/refresh-bio/kmc.git

or

git clone https://github.com/refresh-bio/kmc.git
git submodule init
git submodule update

not sure if clang will work, officially we require g++ (on mac may be installed with brew)

123xyl commented 1 year ago

image

marekkokot commented 1 year ago

Hi,

can you give me output of

g++ --version

?

123xyl commented 1 year ago

image

marekkokot commented 1 year ago

Hi,

hmm that is interesting. I have g++-11 installed on M1 MAC OS and it compiles. How did you install g++-7? In my case brew does not allow it with gcc@7: The x86_64 architecture is required for this software Is there a reason why you cannot use precompiled binary from the release page?

123xyl commented 1 year ago

I am installing kmc on a linux arm machine and the compiled binary does not run on arm, it reports an error

marekkokot commented 1 year ago

Ohh, I see. And what is the error message? I really appreciate this report.

123xyl commented 1 year ago

image

marekkokot commented 1 year ago

Are you sure you use the correct release? You should use this: image

123xyl commented 1 year ago

no i used the version of 3.2.1

123xyl commented 1 year ago

sorry i have a try soon

marekkokot commented 1 year ago

great. please let me know. We currently have very limited access to Linux arm and we are unable to perform exhaustive testing.

123xyl commented 1 year ago

image

marekkokot commented 1 year ago

Thanks :( Not good. And updating the compiler is not an option? Out of curiosity what is your CPU model and linux distribution?

123xyl commented 1 year ago

image image image

marekkokot commented 1 year ago

I have used some other flags for compilation and linking, could you please try it this works: KMC3.2.2.linux.arm64-static.tar.gz

123xyl commented 1 year ago

ok

123xyl commented 1 year ago

Can you release the compiled binary package now that it is running on arm?

marekkokot commented 1 year ago

So, does it mean, the attached KMC3.2.2.linux.arm64-static.tar.gz works fine on your arm Linux?

123xyl commented 1 year ago

yes

marekkokot commented 1 year ago

Great, thanks. I have replaced the release tarball. I will close this issue now, if something is wrong please let me know and reopen it.