-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
installation error with rust on macOS #35
Comments
just an update-- still haven't gotten themisto to install on my mac laptop, but I did get the themisto binary installed on our compute cluster. so will probably just work with that. But here's the progress I made to get themisto working on my laptop-- changing rust versions didn't help, so I went back to nightly Rust as default: Then, I went into the ggcat directory, and ran the following to update rust dependencies: I then went into the build directory, and ran the following: (I installed gcc with homebrew on mac-- gcc links to clang and g++ links to clang++, so to avoid breaking things, homebrew installs gcc as gcc-13 and g++ as g++-13, where 13 is the current version number) I then ran make. I no longer get the "stdsimd" error, but get some other errors. Here is the full output I get from running these steps-- my apologies if this is overwhelming and not helpful... it does look like I can get themisto working on our cluster, but it would be nice if I can get it working on my mac laptop too! $ themisto % cd ggcat Update the VERSION argument value or use a ... suffix to tell -- Compiler is recent enough to support C++14. Update the VERSION argument value or use a ... suffix to tell CMake Warning (dev) at SBWT/sdsl-lite/external/libdivsufsort/CMakeLists.txt:7 (project): The following variable(s) would be set to empty:
This warning is for project developers. Use -Wno-dev to suppress it. -- Performing Test HAVE_GCC_WALL Update the VERSION argument value or use a ... suffix to tell -- Submodule update Update the VERSION argument value or use a ... suffix to tell CMake Deprecation Warning at build/_deps/roaring-src/tools/cmake/FindCTargets.cmake:2 (cmake_policy): Update the VERSION argument value or use a ... suffix to tell -- BENCHMARK_DATA_DIR: /Users/rohan/Bioinformatics/themisto/build/_deps/roaring-src/benchmarks/realdata/ warning: call to warning: call to Compiling approx v0.5.1 Compiling newtype_derive v0.1.6 Compiling wyz v0.5.1 Compiling ggcat_querier v0.1.1 (/Users/rohan/Bioinformatics/themisto/ggcat/crates/querier) For more information about this error, try error[E0599]: no method named error[E0599]: no method named error[E0609]: no field error[E0599]: no method named Some errors have detailed explanations: E0599, E0609. |
OS X binaries are now available with the latest version: https://github.com/algbio/themisto/releases/tag/v3.2.2 |
Hello, thanks for releasing MacOS binaries! Unfortunately, neither binary is working for me. I am running MacOS Sonoma 14.2.1 With the x86_64 binary I get this error message: With the aarch64 binary I get: |
Hi, I'm looking into this; it looks like some of the dependencies are not built with the correct compiler flags.. |
@tmaklin set(CMAKE_SYSTEM_PROCESSOR X86) while CMake documentation says:
|
It's probably not the toolchain file as the x86 binary doesn't work on my x86 mac either but it might affect the arm64 macs I suppose. Though I have used the same approach to cross compile other C++ projects for arm64 macs and they seem to work (see eg https://github.com/PROBIC/mSWEEP/releases) (I don't have an arm64 mac to test these myself tho). |
Your arm64 mac toolchain used in that project has: set(CMAKE_SYSTEM_PROCESSOR ARM64) rather than: set(CMAKE_SYSTEM_PROCESSOR X86) like in Themisto's toolchain. Themisto arm64 binary doesn't work on my arm64 Mac, while arm64 binary from your project worked. otool -L mSWEEP
mSWEEP (architecture x86_64):
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.36.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
mSWEEP (architecture arm64):
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.36.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0) |
I think I figured it out -- KMC was using static linking for everything which messed up the compiled library, and the whole project additionally needs to link the GCC C++ library statically because it's not available on macs. New scripts at https://github.com/algbio/themisto/tree/update-macos-build Also changed New mac binaries are available here https://github.com/algbio/themisto/releases/tag/v3.2.2 @iosfwd can you check if the aarch64 binary still gives the linker error? The x86 binary does not do that anymore on my machine. |
New aarch64 binary works on my machine now. @tmaklin |
Thanks! @rohanmaddamsetti this should hopefully be fixed now. |
Both MacOS binaries work on my computer now. Thanks guys!
…On Wed, Jun 12, 2024 at 7:25 AM Tommi Mäklin ***@***.***> wrote:
Thanks! @rohanmaddamsetti <https://github.com/rohanmaddamsetti> this
should hopefully be fixed now.
—
Reply to this email directly, view it on GitHub
<#35 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABQ26LGJTK5FHUBBOS3SBKLZHAVY7AVCNFSM6AAAAABFULVGUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRSG43DOMJXGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Hello,
When I run "make" to install themisto on my mac laptop, I get the following error:
error[E0635]: unknown feature
stdsimd
--> /Users/rohan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.3/src/lib.rs:99:42
|
99 | #![cfg_attr(feature = "stdsimd", feature(stdsimd))]
| ^^^^^^^
For more information about this error, try
rustc --explain E0635
.error: could not compile
ahash
(lib) due to 1 previous errorwarning: build failed, waiting for other jobs to finish...
make[3]: *** [lib/libggcat_cpp_bindings.a] Error 101
make[2]: *** [CMakeFiles/ggcat_cpp_api] Error 2
make[1]: *** [CMakeFiles/ggcat_cpp_api.dir/all] Error 2
make: *** [all] Error 2
Based on these links, it looks like the stdsimd feature was removed from Rust on February, breaking the themisto installation:
https://users.rust-lang.org/t/error-e0635-unknown-feature-stdsimd/106445
tkaitchuck/aHash#200
following some of these discussions, hoping to find a workaround by installing a Rust version dated February 4.
The text was updated successfully, but these errors were encountered: