ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
@ 2024-05-24 15:15 schneems (Richard Schneeman) via ruby-core
  2024-05-24 17:02 ` [ruby-core:118005] " k0kubun (Takashi Kokubun) via ruby-core
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: schneems (Richard Schneeman) via ruby-core @ 2024-05-24 15:15 UTC (permalink / raw)
  To: ruby-core; +Cc: schneems (Richard Schneeman)

Issue #20506 has been reported by schneems (Richard Schneeman).

----------------------------------------
Bug #20506: Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
https://bugs.ruby-lang.org/issues/20506

* Author: schneems (Richard Schneeman)
* Status: Open
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:118005] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
@ 2024-05-24 17:02 ` k0kubun (Takashi Kokubun) via ruby-core
  2024-05-24 18:46 ` [ruby-core:118006] " eileencodes (Eileen Uchitelle) via ruby-core
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2024-05-24 17:02 UTC (permalink / raw)
  To: ruby-core; +Cc: k0kubun (Takashi Kokubun)

Issue #20506 has been updated by k0kubun (Takashi Kokubun).

Status changed from Open to Assigned
Assignee set to yjit

----------------------------------------
Bug #20506: Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
https://bugs.ruby-lang.org/issues/20506#change-108427

* Author: schneems (Richard Schneeman)
* Status: Assigned
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:118006] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
  2024-05-24 17:02 ` [ruby-core:118005] " k0kubun (Takashi Kokubun) via ruby-core
@ 2024-05-24 18:46 ` eileencodes (Eileen Uchitelle) via ruby-core
  2024-05-25 18:23 ` [ruby-core:118018] " alanwu (Alan Wu) via ruby-core
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: eileencodes (Eileen Uchitelle) via ruby-core @ 2024-05-24 18:46 UTC (permalink / raw)
  To: ruby-core; +Cc: eileencodes (Eileen Uchitelle)

Issue #20506 has been updated by eileencodes (Eileen Uchitelle).


The macos one is https://bugs.ruby-lang.org/issues/20495. Until https://github.com/ruby/ruby/pull/10699 is merged, you can run `git checkout coroutine/arm64/Context.S` and then `make` again. I added the git checkout to my build script in the mean time.

----------------------------------------
Bug #20506: Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
https://bugs.ruby-lang.org/issues/20506#change-108428

* Author: schneems (Richard Schneeman)
* Status: Assigned
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:118018] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
  2024-05-24 17:02 ` [ruby-core:118005] " k0kubun (Takashi Kokubun) via ruby-core
  2024-05-24 18:46 ` [ruby-core:118006] " eileencodes (Eileen Uchitelle) via ruby-core
@ 2024-05-25 18:23 ` alanwu (Alan Wu) via ruby-core
  2024-05-27  3:50 ` [ruby-core:118026] " schneems (Richard Schneeman) via ruby-core
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2024-05-25 18:23 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #20506 has been updated by alanwu (Alan Wu).


This seems to happen with Rust 1.78.0, so as a temporary solution please try any other >=1.58.0 versions.
__builtin_copysignq seems to be an x86 specific intrinsic but rust 1.78.0 is putting it in the ARM archive for some reason. 

----------------------------------------
Bug #20506: Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
https://bugs.ruby-lang.org/issues/20506#change-108438

* Author: schneems (Richard Schneeman)
* Status: Assigned
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:118026] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (2 preceding siblings ...)
  2024-05-25 18:23 ` [ruby-core:118018] " alanwu (Alan Wu) via ruby-core
@ 2024-05-27  3:50 ` schneems (Richard Schneeman) via ruby-core
  2024-06-10 17:39 ` [ruby-core:118276] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0 alanwu (Alan Wu) via ruby-core
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: schneems (Richard Schneeman) via ruby-core @ 2024-05-27  3:50 UTC (permalink / raw)
  To: ruby-core; +Cc: schneems (Richard Schneeman)

Issue #20506 has been updated by schneems (Richard Schneeman).


Thanks for the fast responses. I was able to get it working on Ubuntu by downgrading rust in my dockerfile (nothing special about 1.75, I randomly picked a version):

```
RUN rustup install 1.75 && rustup default 1.75
```

It also looks like other Ruby versions fail to compile with the latest Rust version: It fails with Ruby 3.3.1 on Ubuntu 24.04 with the latest rust (1.78) in addition to Ruby 3.4.0-preview1.


----------------------------------------
Bug #20506: Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04)
https://bugs.ruby-lang.org/issues/20506#change-108445

* Author: schneems (Richard Schneeman)
* Status: Assigned
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:118276] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (3 preceding siblings ...)
  2024-05-27  3:50 ` [ruby-core:118026] " schneems (Richard Schneeman) via ruby-core
@ 2024-06-10 17:39 ` alanwu (Alan Wu) via ruby-core
  2024-11-03 10:36 ` [ruby-core:119692] " Earlopain (A S) via ruby-core
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2024-06-10 17:39 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #20506 has been updated by alanwu (Alan Wu).

Subject changed from Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) to YJIT build error on aarch64 with Rust 1.78.0
Status changed from Assigned to Third Party's Issue

This is a Rust regression and I've filed an issue [upstream].
I've worked with upstream to [hopefully have a fix ship][2] with 1.81.0,
but that will still leave a couple versions unusable.

If you install using `rustup`, avoid these versions by using e.g.

```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
    sh -s -- --default-toolchain=1.77.0 --profile=minimal -y --no-modify-path
```

in your Dockerfile. Another option is to install `rustc` through
your Linux distribution's package manager, e.g. `apt-get install rustc`.
That should also avoid this issue.

[upstream]: https://github.com/rust-lang/rust/issues/125619
[2]: https://github.com/rust-lang/rust/pull/125999

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-108770

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:119692] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (4 preceding siblings ...)
  2024-06-10 17:39 ` [ruby-core:118276] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0 alanwu (Alan Wu) via ruby-core
@ 2024-11-03 10:36 ` Earlopain (A S) via ruby-core
  2024-11-03 15:05 ` [ruby-core:119693] " alanwu (Alan Wu) via ruby-core
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Earlopain (A S) via ruby-core @ 2024-11-03 10:36 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (A S)

Issue #20506 has been updated by Earlopain (A S).


Small update, I believe https://github.com/rust-lang/rust/pull/131221 will fix this, which is slated for Rust 1.83. Not so sure about that since the actual fix seems to have been applied in llvm https://github.com/llvm/llvm-project/pull/93890 but I can confirm that this still happens with Rust 1.82

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110352

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:119693] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (5 preceding siblings ...)
  2024-11-03 10:36 ` [ruby-core:119692] " Earlopain (A S) via ruby-core
@ 2024-11-03 15:05 ` alanwu (Alan Wu) via ruby-core
  2024-11-03 15:49 ` [ruby-core:119694] " Earlopain (A S) via ruby-core
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2024-11-03 15:05 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #20506 has been updated by alanwu (Alan Wu).


@Earlopain Are you using musl through e.g. Alpine Linux? The workaround rust PR is <https://github.com/rust-lang/rust/pull/125999>, it shipped in 1.81.0 and we've seen it [work](https://github.com/Shopify/ruby/issues/559#issuecomment-2417210594).

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110353

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:119694] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (6 preceding siblings ...)
  2024-11-03 15:05 ` [ruby-core:119693] " alanwu (Alan Wu) via ruby-core
@ 2024-11-03 15:49 ` Earlopain (A S) via ruby-core
  2024-11-03 23:28 ` [ruby-core:119696] " alanwu (Alan Wu) via ruby-core
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Earlopain (A S) via ruby-core @ 2024-11-03 15:49 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (A S)

Issue #20506 has been updated by Earlopain (A S).


Yes, guilty as charged. I apologize, I only saw the failure for one variant and assumed the same for others.

Can you say if what I wrote above is correct for musl? I guess I'll see when the next version releases regardless.

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110354

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:119696] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (7 preceding siblings ...)
  2024-11-03 15:49 ` [ruby-core:119694] " Earlopain (A S) via ruby-core
@ 2024-11-03 23:28 ` alanwu (Alan Wu) via ruby-core
  2024-11-04 12:12 ` [ruby-core:119700] " Earlopain (A S) via ruby-core
  2024-11-29  8:38 ` [ruby-core:120053] " Earlopain (Earlopain _) via ruby-core
  10 siblings, 0 replies; 12+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2024-11-03 23:28 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #20506 has been updated by alanwu (Alan Wu).


I tested 1.82.0 from rustup and [rust-lang/rust#125619](https://github.com/rust-lang/rust/issues/125619)
does reproduce when targeting aarch64-unknown-linux-musl. I was under the
impression that we've worked around the issue for all targets -- thanks for
the report.

I've started the process to get the compiler-rt fix backported to the LLVM
shipped with rustup. That should fix it for aarch64-unknown-linux-musl, but
there's no telling whether the fix will make it in time for the next release.

For others building with musl, please refer to [[ruby-core:118276]](https://bugs.ruby-lang.org/issues/20506#change-110354)
for workarounds.


----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110356

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:119700] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (8 preceding siblings ...)
  2024-11-03 23:28 ` [ruby-core:119696] " alanwu (Alan Wu) via ruby-core
@ 2024-11-04 12:12 ` Earlopain (A S) via ruby-core
  2024-11-29  8:38 ` [ruby-core:120053] " Earlopain (Earlopain _) via ruby-core
  10 siblings, 0 replies; 12+ messages in thread
From: Earlopain (A S) via ruby-core @ 2024-11-04 12:12 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (A S)

Issue #20506 has been updated by Earlopain (A S).


Thanks for the reply, I appreciate that! It's not urgent or anything, I was just a bit uncertain if musl may be some other issue entirely. I'll follow https://github.com/llvm/llvm-project/pull/93890 and be on the lookout for something on the rust side of things after that.

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110360

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [ruby-core:120053] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0
  2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
                   ` (9 preceding siblings ...)
  2024-11-04 12:12 ` [ruby-core:119700] " Earlopain (A S) via ruby-core
@ 2024-11-29  8:38 ` Earlopain (Earlopain _) via ruby-core
  10 siblings, 0 replies; 12+ messages in thread
From: Earlopain (Earlopain _) via ruby-core @ 2024-11-29  8:38 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (Earlopain _)

Issue #20506 has been updated by Earlopain (Earlopain _).


I tested with the recent 1.84 beta and it seems resolved with that version.

----------------------------------------
Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
https://bugs.ruby-lang.org/issues/20506#change-110788

* Author: schneems (Richard Schneeman)
* Status: Third Party's Issue
* Assignee: yjit
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d

The relevant errors seem to be in linking yjit:

```
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
linking miniruby
/usr/bin/ld: yjit/target/release/libyjit.o: in function `__multc3':
/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:33:(.text.__multc3+0x30c): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:34:(.text.__multc3+0x394): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:42:(.text.__multc3+0x7f4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:43:(.text.__multc3+0x864): undefined reference to `__builtin_copysignq'
/usr/bin/ld: /cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:47:(.text.__multc3+0x8c4): undefined reference to `__builtin_copysignq'
/usr/bin/ld: yjit/target/release/libyjit.o:/cargo/registry/src/index.crates.io-6f17d22bba15001f/compiler_builtins-0.1.108/./lib/builtins/multc3.c:38: more undefined references to `__builtin_copysignq' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:298: miniruby] Error 1
/tmp/lib/build_script.rb:118:in `pipe': Command failed debugflags="-g" ./configure --disable-install-doc --prefix /tmp/d20240524-1-bdq0bj/prefix --enable-load-relative --enable-shared --enable-yjit && make -j16 && make install (RuntimeError)
	from /tmp/lib/build_script.rb:158:in `block in build'
	from /tmp/lib/build_script.rb:152:in `chdir'
	from /tmp/lib/build_script.rb:152:in `build'
	from /tmp/lib/build_script.rb:65:in `block in run_build_script'
	from /usr/lib/ruby/3.2.0/tmpdir.rb:94:in `mktmpdir'
	from /tmp/lib/build_script.rb:61:in `run_build_script'
	from /tmp/build.rb:8:in `<main>'
```

Here's the GHA link: https://github.com/heroku/docker-heroku-ruby-builder/actions/runs/9225538149/job/25383247191. This is the Dockerfile for Ubuntu 24.04 https://github.com/heroku/docker-heroku-ruby-builder/blob/73bdda974811717baccc05ea3e23f607817fbc8a/dockerfiles/Dockerfile.heroku-24.

I'm able to reproduce the failure locally:

```
$ git clone https://github.com/heroku/docker-heroku-ruby-builder
$ cd docker-heroku-ruby-builder
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64
$ bin/activate_docker heroku-24
$ bin/build_ruby heroku-24 3.4.0-preview1
# Fails
```

Full output https://gist.github.com/schneems/cfa21847228d48e6bbe27463deae6745. 

I'm also seeing failures when using `ruby-install` on my mac (ARM), the error message is different so I'm not sure if it's the same problem or unrelated: https://gist.github.com/schneems/12af87e967126c7bfa319645b00015b3



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-11-29  8:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-24 15:15 [ruby-core:118003] [Ruby master Bug#20506] Failure compiling Ruby 3.4.0-preview1 on aarch64 on a mac and linux (Ubuntu 24.04) schneems (Richard Schneeman) via ruby-core
2024-05-24 17:02 ` [ruby-core:118005] " k0kubun (Takashi Kokubun) via ruby-core
2024-05-24 18:46 ` [ruby-core:118006] " eileencodes (Eileen Uchitelle) via ruby-core
2024-05-25 18:23 ` [ruby-core:118018] " alanwu (Alan Wu) via ruby-core
2024-05-27  3:50 ` [ruby-core:118026] " schneems (Richard Schneeman) via ruby-core
2024-06-10 17:39 ` [ruby-core:118276] [Ruby master Bug#20506] YJIT build error on aarch64 with Rust 1.78.0 alanwu (Alan Wu) via ruby-core
2024-11-03 10:36 ` [ruby-core:119692] " Earlopain (A S) via ruby-core
2024-11-03 15:05 ` [ruby-core:119693] " alanwu (Alan Wu) via ruby-core
2024-11-03 15:49 ` [ruby-core:119694] " Earlopain (A S) via ruby-core
2024-11-03 23:28 ` [ruby-core:119696] " alanwu (Alan Wu) via ruby-core
2024-11-04 12:12 ` [ruby-core:119700] " Earlopain (A S) via ruby-core
2024-11-29  8:38 ` [ruby-core:120053] " Earlopain (Earlopain _) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).