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

Updated for arm support #430

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Updated for arm support #430

wants to merge 9 commits into from

Conversation

hmimthiaz
Copy link

  • Updated the project to work with x86 and arm support
  • Checked existing layers and moved non working to layers-build-failed, layers-test-failed
  • Updated publish and publish-docker-images, need to test it.
  • Crosschecked if x86 is working fine. Could not test fully as on my m1 mac is is awfully slow.

Updated the project to work with x86 and arm supported
Checked exsiting layers and moved non working to layers-build-failed, layers-test-failed
@hmimthiaz
Copy link
Author

hmimthiaz commented Apr 8, 2023

Moved failed layers back
Fixed failing and arm support for

  • gmp
  • amap
  • oci8
  • relay
  • newrelic
  • spx
  • tideways

Need to work on arm support for

  • blackfire
  • sqlsrv

I think we can drop support for cassandra as it does not have libraries for php 8 and arm

Now make file will work automated for both arch x86 and arm.
Checked all layers made sure all of them have 80,81,82 support.
Sqlsrv does not have arm support
Not very sure about Blackfire, leaving arm support for the contributor to handle it.
@hmimthiaz
Copy link
Author

Added cpu support in config

  • Now make file will work automated for both arch x86 and arm.
  • Checked all layers made sure all of them have 80,81,82 support.
  • Sqlsrv does not have arm support
  • Not very sure about Blackfire, leaving arm support for the contributor to handle it.

When all layers are executed for specific cpu type, added check if cpu type is availble layer.
Found this bug while executing all layers for arm build and blackfire was failing.
# Docs: https://relay.so/docs/1.x/installation#manual-installation

# Added openssl11-libs
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure this is a good idea. We don't want openssl stuff of a different version to in the main image?

Copy link
Author

Choose a reason for hiding this comment

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

The copy-dependencies script was failing due to missing library. Was not sure how to fix it.

[ext 5/7] RUN php /bref/lib-copy/copy-dependencies.php /tmp/relay.so /tmp/extension-libs:
#14 0.507
#14 0.507 Fatal error: Uncaught RuntimeException: This library is a dependency for /tmp/relay.so but cannot be found by 'ldd':
#14 0.507 libssl.so.1.1 => not found

bash-4.2# ldd /tmp/relay.so
ldd: warning: you do not have execution permission for `/tmp/relay.so'
linux-vdso.so.1 (0x0000ffff96b83000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000ffff96a57000)
libssl.so.1.1 => not found
libcrypto.so.1.1 => not found
libzstd.so.1 => /opt/lib/libzstd.so.1 (0x0000ffff96956000)
liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x0000ffff96925000)
libanl.so.1 => /usr/lib64/libanl.so.1 (0x0000ffff96904000)
libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff9677e000)
/lib/ld-linux-aarch64.so.1 (0x0000ffff96b55000)

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm. The version of openssl you get from yum will be super old, too. We were previously bundling openssl 1.1 upstream. We upgraded to 3.0 LTS, since 1.x is going EOL later this year. I wonder who uses this extension, and if we could drop it?

Copy link
Contributor

Choose a reason for hiding this comment

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

or we could raise an issue upstream with them?

Copy link
Author

Choose a reason for hiding this comment

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

Removing is also a good option. If someone needs it they can always do a PR. My main focus was to make the whole bunch arm compatible and I don't use any of the extension except for GD and imagick.

cassandra and sqlsrv doesn't have arm support

Copy link
Contributor

Choose a reason for hiding this comment

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

I assume this is also broken on x64_84 as well as arm64?

Copy link
Contributor

Choose a reason for hiding this comment

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

Probably we should make a separate PR to remove/fix any broken extensions we discover?

Copy link
Author

@hmimthiaz hmimthiaz Apr 25, 2023

Choose a reason for hiding this comment

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

I assume this is also broken on x64_84 as well as arm64?

Yes it is breaking in both.

Probably we should make a separate PR to remove/fix any broken extensions we discover?

Waiting for @mnapoli, he can review once he is back from his break. Sometimes to CI fails to build but locally it passes. May be due to delay in network / libraries mirror failure etc.

Copy link
Contributor

Choose a reason for hiding this comment

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

👌

@hmimthiaz
Copy link
Author

@mnapoli any update on this?

@robchett
Copy link
Contributor

robchett commented Oct 5, 2023

@mnapoli is there anything we can help with to move this forward?

@gazzoy
Copy link

gazzoy commented Dec 18, 2023

+1

@gazzoy
Copy link

gazzoy commented Feb 2, 2024

@mnapoli @GrahamCampbell any plans to supporting this?

@mnapoli
Copy link
Member

mnapoli commented Feb 2, 2024

@gazzoy no plans to support ARM for AL2 as it's been made obsolete by AL2023.

So now the most sensible course of action is: AL2023 support with ARM, and then have extensions support AL2023 with ARM.

However I want to point to #526 for a more general discussion.

@gazzoy
Copy link

gazzoy commented Feb 2, 2024

@gazzoy no plans to support ARM for AL2 as it's been made obsolete by AL2023.

So now the most sensible course of action is: AL2023 support with ARM, and then have extensions support AL2023 with ARM.

However I want to point to #526 for a more general discussion.

Thanks for your reply. Really makes sense. Will wait for a community-driven layer or something, then.

I really appericiate the hard work you have been made, btw.

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.

5 participants