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 Linux aarch64 #86

Open
nabla-c0d3 opened this issue Nov 27, 2021 · 5 comments
Open

Add support for Linux aarch64 #86

nabla-c0d3 opened this issue Nov 27, 2021 · 5 comments

Comments

@nabla-c0d3
Copy link
Owner

No description provided.

@nabla-c0d3
Copy link
Owner Author

Trying to run a build with no changes to the code base returns an error: https://github.com/nabla-c0d3/nassl/runs/4338996771?check_suite_focus=true

  /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /project/deps/openssl-OpenSSL_1_0_2e/libcrypto.a(sha512-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
  /project/deps/openssl-OpenSSL_1_0_2e/libcrypto.a(sha512-armv8.o): in function `sha512_block_data_order':
  (.text+0x10c8): dangerous relocation: unsupported relocation
  collect2: error: ld returned 1 exit status
  error: command 'gcc' failed with exit status 1

@stitch
Copy link

stitch commented Dec 1, 2021

Hi, just wanted to say this is very much welcomed by the internet.nl team :) This is the last dependency that was missing arm64/aarch64 support. Thank you very much for maintaining!

@steev
Copy link

steev commented May 23, 2022

@nabla-c0d3 the reason is that the legacy openssl needs openssl/openssl@a135948 or something along these lines - I've been trying to apply the patch here in my build tree, but I'm failing horribly at it.

@GavinDarkglider
Copy link

GavinDarkglider commented Jun 12, 2022

@nabla-c0d3 @steev Apply these patches to openssl legacy and openssl modern, and it builds on arm64

I am not a perl or arm64 asm expert, so you might want to run some serious tests before working these into your build tree, I did test build though on my nintendo-switch in gentoo and it does build.

nassl-01-fix-arm64-openssl_modern_builds.txt
nassl-02-fix-arm64-openssl_legacy-builds.txt

The legacy patch is a back port, where the modern version is just a copy/paste diff of the needed files from openssl at commit openssl/openssl@a135948

@nabla-c0d3
Copy link
Owner Author

nabla-c0d3 commented Dec 26, 2024

The aarch54 build workflow now seems to work (https://github.com/nabla-c0d3/nassl/actions/runs/12505863682) and hence I merged #85 .

I don't have a way of testing the generated aarch64 Python wheels tho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants