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

Enable aarch64 release #5271

Merged
merged 48 commits into from
Oct 14, 2024
Merged

Conversation

dudoslav
Copy link
Collaborator

@dudoslav dudoslav commented Sep 2, 2024

Produce release binaries for linux aarch64 platform.

Produced artifacts can be seen here: https://github.com/dudoslav/TileDB/actions/runs/11179687129


TYPE: IMPROVEMENT
DESC: Linux aarch64 release

- name: Install aarch64 cross compilation prerequisites
if: ${{ matrix.platform == 'linux-aarch64' }}
run: |
sudo apt-get install -y cmake gcc g++ ninja-build libtool autoconf pkg-config gcc-13-aarch64-linux-gnu g++-13-aarch64-linux-gnu curl zip unzip tar
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we also need the arm64 system libraries?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, but let's see what the workflow thinks

@teo-tsirpanis
Copy link
Member

We might need to create a CMake toolchain that sets CMAKE_SYSTEM_PROCESSOR and the compiler location, and pass it with -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE.

@dudoslav dudoslav changed the title DRAFT: Enable aarch64 release Enable aarch64 release Oct 4, 2024
Copy link
Member

@teo-tsirpanis teo-tsirpanis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@dudoslav
Copy link
Collaborator Author

@teo-tsirpanis I was able to download the release from my personal fork and compile the example cmake project using that release:

ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ cmake -DCMAKE_PREFIX_PATH=/home/ubuntu/Workspace/release -B build .
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:43 (find_package):
  Ignoring EXACT since no version is requested.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done (1.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/ubuntu/Workspace/cmake_project/build
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ ls
CMakeLists.txt	README.md  build  src
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ cmake --build build/
[ 50%] Building CXX object CMakeFiles/ExampleExe.dir/src/main.cc.o
[100%] Linking CXX executable ExampleExe
[100%] Built target ExampleExe
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ ls
CMakeLists.txt	README.md  build  src
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ ./build/
CMakeFiles/ ExampleExe
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ ./build/ExampleExe
You are using TileDB version 2.27.0
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$ uname -a
Linux ip-172-31-9-101 6.8.0-1012-aws #13-Ubuntu SMP Mon Jul 15 15:42:27 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@ip-172-31-9-101:~/Workspace/cmake_project$

@teo-tsirpanis teo-tsirpanis merged commit ae4c9a1 into TileDB-Inc:dev Oct 14, 2024
60 checks passed
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.

2 participants