Skip to content
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

Add support for detecting Linux ARM64 in CMakeLists.txt #148

Merged
merged 4 commits into from
Apr 8, 2024

Conversation

martin-g
Copy link
Contributor

@martin-g martin-g commented Nov 6, 2023

Fixes #67

Add CI based on Github Actions that builds iqtree2 on Linux x86_64 and aarch64

@martin-g martin-g force-pushed the add-support-for-linux-aarch64 branch 4 times, most recently from b4c1985 to 3a74c19 Compare November 6, 2023 09:50
@martin-g martin-g mentioned this pull request Nov 6, 2023
@martin-g martin-g force-pushed the add-support-for-linux-aarch64 branch 6 times, most recently from 8c42134 to fc7b54b Compare November 6, 2023 12:34
@martin-g
Copy link
Contributor Author

martin-g commented Nov 6, 2023

I had to replace Github Actions with CircleCI for the Linux ARM64 build because Github Actions does not support natively Linux ARM64 yet (it will soon - https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/) and it uses QEMU to emulate it. Unfortunately the emulation is too slow and the workflow times out.
For Linux ARM64 now I use CircleCI that provides Linux ARM64 VMs for free - https://app.circleci.com/pipelines/github/martin-g/iqtree2?branch=add-support-for-linux-aarch64.

Add CI based on Github Actions that builds iqtree2 on Linux x86_64 and
aarch64

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
Github Actions uses emulation (via QEMU) and the build times out.

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
@martin-g
Copy link
Contributor Author

bioconda/bioconda-recipes#46434 depends on this.

@martin-g martin-g force-pushed the add-support-for-linux-aarch64 branch from 0a23654 to 7a388e2 Compare March 14, 2024 17:58
@martin-g martin-g force-pushed the add-support-for-linux-aarch64 branch from 7a388e2 to 6ff9fbe Compare March 15, 2024 07:17
@julien-faye
Copy link

+1 for adding support for Linux ARM64 !

@thomaskf thomaskf merged commit 2e9e44a into iqtree:master Apr 8, 2024
2 checks passed
@thomaskf
Copy link
Collaborator

thomaskf commented Apr 8, 2024

Thanks, Martin, for the input on updating the codes to support Linux ARM64.

@martin-g
Copy link
Contributor Author

martin-g commented Apr 8, 2024

@thomaskf Welcome!
I saw that you bumped the version at 480ece5 !
When can we expect the new Git tag / release ?

@thomaskf
Copy link
Collaborator

@martin-g We have just made a new release. Thanks again. Cheers.

martin-g added a commit to martin-g/bioconda-recipes that referenced this pull request Apr 10, 2024
iqtree/iqtree2#148 (comment)

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
martin-g added a commit to martin-g/bioconda-recipes that referenced this pull request Apr 11, 2024
iqtree/iqtree2#148 (comment)

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
mencian added a commit to bioconda/bioconda-recipes that referenced this pull request Apr 25, 2024
* iqtree: add linux-aarch64 build

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Bump iqtree to 2.3.0

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Bump iqtree to 2.3.2

iqtree/iqtree2#148 (comment)

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Use GCC 9 for compiling iqtree

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try with clang 16 for Linux aarch64

iqtree/iqtree2#173 (comment)

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Add libgomp for Linux

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try with llvm-openmp for Linux aarch64

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Go back to GCC 10 for the Linux build

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try with GCC 10.3.0

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Depend on `boost` instead of `boost-cpp`

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try without boost dependency

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* boost is needed !

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Drop -std=c++17 from the CXXFLAGS. It breaks the build on Linux ARM64

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try with a `large` VM at CircleCI

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Try to build without concurrency

`make -j $CPU_COUNT` fails due to out of memory error

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Revert some not needed changes

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Use parallel builds on non-aarch64

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* iqtree: Use latest GCC (12/13) with `-std=c++14`

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Append `-std=c++14` to CXXFLAGS

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* update to v2.3.3

* revert to -std=c++14

* edit build.sh

* try with 1 job

* edit build.sh

---------

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
Co-authored-by: Joshua Zhuang <[email protected]>
Co-authored-by: mencian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build for aarch64-linux
3 participants