passenger icon indicating copy to clipboard operation
passenger copied to clipboard

Precompiled agent and nginx engine for ARM64

Open anamba opened this issue 5 years ago • 20 comments

Question 1: What is the problem?

 --> Downloading a Phusion Passenger agent binary for your platform
     Could not download https://github.com/phusion/passenger/releases/download/release-6.0.5/agent-aarch64-linux.tar.gz: The requested URL returned error: 404 Not Found
     Trying next mirror...
     Could not download https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release/6.0.5/agent-aarch64-linux.tar.gz: The requested URL returned error: 404 
     Trying next mirror...
     Could not download https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release/6.0.5/agent-aarch64-linux.tar.gz: The requested URL returned error: 403 Forbidden
     ------------------------------------------
     Sorry, no precompiled agent binary is available for your platform.
 --> Installing Nginx 1.18.0 engine
     Could not download https://github.com/phusion/passenger/releases/download/release-6.0.5/nginx-1.18.0-aarch64-linux.tar.gz: The requested URL returned error: 404 Not Found
     Trying next mirror...
     Could not download https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release/6.0.5/nginx-1.18.0-aarch64-linux.tar.gz: The requested URL returned error: 404 
     Trying next mirror...
     Could not download https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release/6.0.5/nginx-1.18.0-aarch64-linux.tar.gz: The requested URL returned error: 403 Forbidden
     ------------------------------------------
     Sorry, no precompiled Nginx 1.18.0 engine is available for your platform.

ARM64 is an increasingly common platform these days, so I was surprised to find that there was no precompiled agent available. Could this be added? It takes quite a while to build both of these...

Question 2: Passenger version and integration mode: Open source 6.0.5 standalone

Question 3: OS or Linux distro, platform (including version): Ubuntu 20.04 ARM64

I think the rest of the questions are not applicable in this case.

anamba avatar Jun 26 '20 01:06 anamba

We would need an arm server added to our CI, but i'll keep this as an enhancement request.

CamJN avatar Jun 29 '20 14:06 CamJN

Could you include the arm packages from the next release process?

We are migrating our Java based applications from AWS t3a to t4g Instances for better performance and cost reduction. Each application has its own Active Admin service which is deployed in the same instance. Since there is no precompiled binaries available for arm, we had to hold the migration and keep those services to be still in t3a Instances.

krnaveen14 avatar Nov 16 '20 13:11 krnaveen14

If this is important to people, here's where you can submit a PR adding support for building arm binaries: https://github.com/phusion/passenger_binary_build_automation

CamJN avatar Nov 23 '20 21:11 CamJN

ok @CamJN, looks like one needs to

  • build passenger_binary_build_automation,
  • based on https://github.com/phusion/holy-build-box,
  • based in turn on CentOS
  • (would be feasible basing on the image https://hub.docker.com/r/arm64v8/centos/, if only holy-build-box was based on centos:7 or cents:8, but it is instead based on centos:6)
  • AND https://packagecloud.io/install/repositories/phusion/centos-6-scl-i386/script.rpm.sh which supports only i386

(probably this list will increase as far as one pushed the investigation).

I estimate that this will take well at least one week of work, if one doesn't care about maintainability of the scripts...)

nilleb avatar Dec 16 '20 21:12 nilleb

Yes, holy build box is based on centos 6 because glibc is forwards compatible but not backwards compatible. So we need to use a base image that's got the oldest glibc that our prebuilt binaries will be used with.

CamJN avatar Dec 16 '20 21:12 CamJN

@CamJN have you already answered the question why don't you statically link your executable?

nilleb avatar Dec 17 '20 14:12 nilleb

@nilleb see this Q/A for why statically linking glibc is a bad idea: https://stackoverflow.com/questions/57476533/why-is-statically-linking-glibc-discouraged

other libs are statically linked

CamJN avatar Dec 17 '20 19:12 CamJN

@CamJN so, would it be reasonable to use arm64v8/centos:8, given that you have no precompiled binaries consumers today?

nilleb avatar Dec 17 '20 21:12 nilleb

Seems like CentOS 7 might be a better choice since CentOS 8 is not long for this world: https://wiki.centos.org/About/Product

CamJN avatar Dec 18 '20 01:12 CamJN

Do you have any news?

yuri-zubov avatar Apr 02 '21 09:04 yuri-zubov

It would be nice to have on Raspberry Pi's, especially since they now all come with 64-bit OS, based on Debian 11

darkBuddha avatar Feb 14 '22 12:02 darkBuddha

@FooBarWidget @CamJN any new here? because it looks like you just need to add ARM based machine into you autobuild stack

taleh007 avatar May 31 '22 15:05 taleh007

I am using Raspberry Pi 4 and looking at this issue, it seems it is still not available?

shairyar avatar Jul 08 '22 16:07 shairyar

All you need is just to compile Passenger on Arm64 machine -- I did it and it works perfectly. Also if you wanna to use arm based docker images -- you need to modify way of installing passenger and nginx inside install script (install from source or precompiled debs)

taleh007 avatar Jul 11 '22 18:07 taleh007

For now, I ended up using Puma, I will check later how to compile Passenger on an Arm64 machine.

shairyar avatar Jul 12 '22 07:07 shairyar

I ran into this today when trying to test our production environment automation using Docker on an M1 Mac.

adamwolf avatar Nov 15 '22 21:11 adamwolf

To build passenger for development in docker I'm using this script:

version should match with your version from Gemfile

RUN gem install bundler passenger:6.0.14 --no-document && \
    passenger-config build-native-support && \
    passenger-config install-standalone-runtime --auto --engine nginx

vokshirg avatar Dec 26 '22 14:12 vokshirg

Docker and APT both have arm64 packages now, RPM and prebuilt non-packaged binaries are still being worked on.

CamJN avatar Dec 30 '22 20:12 CamJN

I'm seeing the following trying to setup the docker image we build the precompiled passenger agent and nginx binaries in:

#0 12610.9 linking miniruby
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: main.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: dmydln.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: miniinit.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: dmyext.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: array.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: ast.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: bignum.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: class.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: compar.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: compile.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: complex.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: cont.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: debug.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: debug_counter.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: dir.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: dln_find.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: encoding.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enum.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enumerator.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: error.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: eval.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: file.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: gc.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: hash.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: inits.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: io.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: io_buffer.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: iseq.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: load.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: marshal.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: math.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: memory_view.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: mjit.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: mjit_c.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: node.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: numeric.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: object.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: pack.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: parse.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: proc.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: process.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: ractor.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: random.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: range.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: rational.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: re.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regcomp.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regenc.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regerror.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regexec.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regparse.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: regsyntax.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: ruby.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: scheduler.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: shape.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: signal.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: sprintf.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: st.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: strftime.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: string.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: struct.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: symbol.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: thread.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: time.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: transcode.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: transient_heap.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: util.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: variable.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: version.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: vm.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: vm_backtrace.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: vm_dump.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: vm_sync.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: vm_trace.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enc/ascii.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enc/us_ascii.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enc/unicode.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enc/utf_8.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: enc/trans/newline.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: explicit_bzero.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: setproctitle.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: strlcat.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: strlcpy.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 /opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: warning: addr2line.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000
#0 12610.9 qemu-aarch64: ./miniruby: PT_GNU_PROPERTY too large
#0 12610.9 qemu-aarch64: ./miniruby: PT_GNU_PROPERTY too large
#0 12610.9 make: *** [uncommon.mk:878: .rbconfig.time] Error 255
#0 12610.9 make: *** Waiting for unfinished jobs....
#0 12610.9 make: *** [uncommon.mk:1216: builtin_binary.inc] Error 255
#0 12610.9 ++ return 2
#0 12610.9 
#0 12610.9 ==> /usr/local/rvm/log/1674003942_ruby-3.2.0/postconfigure.log <==
#0 12610.9 [2023-01-18 01:18:53] __rvm_post_configure_ruby
#0 12610.9 __rvm_post_configure_ruby () 
#0 12610.9 { 
#0 12610.9     __rvm_post_configure_ruby_fix_athlon_sse2;
#0 12610.9     __rvm_post_configure_ruby_update_setup
#0 12610.9 }
#0 12610.9 current path: /usr/local/rvm/src/ruby-3.2.0
#0 12610.9 PATH=/hbb/bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/bin
#0 12610.9 command(1): __rvm_post_configure_ruby
#0 12610.9 ++ __rvm_post_configure_ruby_fix_athlon_sse2
#0 12610.9 ++ [[ -f /proc/cpuinfo ]]
#0 12610.9 ++ [[ -f Makefile ]]
#0 12610.9 ++ __rvm_grep '^XCFLAGS = .*-msse2' Makefile
#0 12610.9 ++ GREP_OPTIONS=
#0 12610.9 ++ command grep '^XCFLAGS = .*-msse2' Makefile
#0 12610.9 ++ grep '^XCFLAGS = .*-msse2' Makefile
#0 12610.9 ++ return 1
#0 12610.9 ++ __rvm_post_configure_ruby_update_setup
#0 12610.9 ++ typeset option
#0 12610.9 ++ ((  0 == 1  ))
#0 12610.9 tail: cannot open '/usr/local/rvm/src/ruby-3.2.0/ext/*/mkmf.log' for reading: No such file or directory
#0 12610.9 + /usr/local/rvm/bin/rvm-exec ruby-3.2.0 gem install rake --no-document
#0 12615.7 Required ruby-3.2.0 is not installed.
#0 12615.7 To install do: 'rvm install "ruby-3.2.0"'
#0 12615.7 Error: RVM was unable to use 'ruby-3.2.0'

That PT_GNU_PROPERTY error seems to be this qemu error: https://github.com/qemu/qemu/blob/master/linux-user/elfload.c#L2880-L2885

If anyone has the expertise to help with this it would be appreciated. I'm running out of time to add things to the upcoming 6.0.17 release, so precompiled arm binaries might need to slip to the next release.

CamJN avatar Jan 18 '23 19:01 CamJN

Ugh looks like the arm rpm packages are at risk now too (also because of qemu) due to this: https://gitlab.com/qemu-project/qemu/-/issues/1147

CamJN avatar Jan 25 '23 00:01 CamJN