-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Unable to compile on macOS, ARM64 #126
Comments
I can confirm all the requirements are met:
|
Oh, I just realized I am using an older version (2.1.2, the latest GitHub Release) which does not include 44bfe3d. I tried using v2.2.2.3 but am now facing a |
Currently, IQ-TREE does not support the new Mac M1/2 processors. There has been some effort to support this, but may only come in the near future.
Re. requirements, yes that’s all needed to compile IQ-TREE.
On 16 Mar 2023, at 10:57 am, Victor Lin ***@***.***> wrote:
I can confirm all the requirements are met:
* C++
details
% which c++
/usr/bin/c++
* CMake version >= 2.8.10
details
% cmake --version
cmake version 3.26.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
* Boost library
details
From the output of cmake:
…-- Found Boost: /opt/homebrew/Caskroom/miniconda/base/envs/build-iqtree/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found version "1.81.0")
* Eigen3 library
details
% brew info eigen
==> eigen: stable 3.4.0 (bottled), HEAD
C++ template library for linear algebra
https://eigen.tuxfamily.org/
Conflicts with:
freeling (because freeling ships its own copy of eigen)
/opt/homebrew/Cellar/eigen/3.4.0_1 (546 files, 8.4MB) *
Poured from bottle on 2023-03-15 at 16:19:46
* OpenMP library
details
% brew info libomp
==> libomp: stable 15.0.5 (bottled) [keg-only]
LLVM's OpenMP runtime library
https://openmp.llvm.org/
/opt/homebrew/Cellar/libomp/15.0.5 (7 files, 1.6MB)
Poured from bottle on 2022-11-28 at 17:19:46
—
Reply to this email directly, view it on GitHub<https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiqtree%2Fiqtree2%2Fissues%2F126%23issuecomment-1470999001&data=05%7C01%7Cm.bui%40anu.edu.au%7C715109cd1ce447ac105308db25b10ca3%7Ce37d725cab5c46249ae5f0533e486437%7C0%7C0%7C638145214578420063%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4qfBNZ40NS%2FT7%2Bb4%2BCX4tHgHIKpznQgO0KF5ODYYL%2F0%3D&reserved=0>, or unsubscribe<https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADRTPU4UR6KTIIEJJGD3KODW4JJOZANCNFSM6AAAAAAV4QJOTM&data=05%7C01%7Cm.bui%40anu.edu.au%7C715109cd1ce447ac105308db25b10ca3%7Ce37d725cab5c46249ae5f0533e486437%7C0%7C0%7C638145214578420063%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zFNT3ZKIQJR72iVsLxD8V37a0lJbMoHma6YcGdyhNfU%3D&reserved=0>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
I managed to compile (on arm 12/13) with the following homebrew recipe (should make it possible to reproduce for anyone without differing local setup): https://github.com/Homebrew/homebrew-core/blob/573b15f29e31ba4143ae8137111cf87a3f181829/Formula/iqtree2.rb The gist is: inreplace "CMakeLists.txt", "--target=arm64-apple-macos10.5", "-mmacosx-version-min=10.7"
inreplace "CMakeLists.txt", "--target=arm64-apple-macos12.0.1", "-mmacosx-version-min=12.0.1"
mkdir "build" do
system "cmake", "..", "-DIQTREE_FLAGS=omp", "-DCMAKE_C_COMPILER=clang", "-DCMAKE_CXX_COMPILER=clang++"
system "make", "-j"
bin.install "iqtree2"
end But compared with using the official osx-64 binary, iqtree seems to get stuck a lot in substitution model fitting with errors/warnings like:
Running the official osx-64 binary, I don't get any such warning. |
Dear Cornelius,
Thanks for your interest in IQ-TREE. However, I am afraid that IQ-TREE is
currently not fully compatible with M1 or M2 MacBook devices. We have been
working on this.
Thomas
…On Fri, May 26, 2023 at 7:51 PM Cornelius Roemer ***@***.***> wrote:
I managed to compile (on arm 12/13) with the following homebrew recipe
(should make it possible to reproduce for anyone without differing local
setup):
https://github.com/Homebrew/homebrew-core/blob/573b15f29e31ba4143ae8137111cf87a3f181829/Formula/iqtree2.rb
But compared with using the official osx-64 binary, iqtree seems to get
stuck a lot in substitution model fitting with errors/warnings like:
ERROR: Numerical underflow (lh-derivative). Run again with the safe likelihood kernel via -safe option
Running the official osx-64 binary, I don't get any such warning.
—
Reply to this email directly, view it on GitHub
<#126 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AENQCRU7J4LMLNT4MG3UC6TXIB4KBANCNFSM6AAAAAAV4QJOTM>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
We now added support for Apple M chips in v2.3.X |
Thank you, that's great! I managed to compile after experimenting a bit. This is the recipe that worked in the end. Could you check whether that's the same you use? I couldn't find up to date documentation on how exactly you build on arm macs. This worked for me: gh repo clone iqtree/iqtree2
cd iqtree2
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-Dthread_local=" ..
make -j Also see my docs PR at iqtree/iqtree.github.io#3 |
I am following the compilation guide.
cmake
is successful, howevermake -j
gives several warnings/errors. Some notable lines (full output):Is there something I am missing here?
The text was updated successfully, but these errors were encountered: