[#112638] [Ruby master Bug#19470] Frequent small range-reads from and then writes to a large array are very slow — "giner (Stanislav German-Evtushenko) via ruby-core" <ruby-core@...>

Issue #19470 has been reported by giner (Stanislav German-Evtushenko).

8 messages 2023/03/01

[#112664] [Ruby master Bug#19473] can't be called from trap context (ThreadError) is too limiting — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #19473 has been reported by Eregon (Benoit Daloze).

28 messages 2023/03/02

[#112681] [Ruby master Misc#19475] Propose Matthew Valentine-House (@eightbitraptor) as a core committer — "k0kubun (Takashi Kokubun) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NDc1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGswa3VidW4gKFRha2FzaGkgS29rdWJ1

11 messages 2023/03/03

[#112744] [Ruby master Bug#19485] Unexpected behavior in squiggly heredocs — "jemmai (Jemma Issroff) via ruby-core" <ruby-core@...>

Issue #19485 has been reported by jemmai (Jemma Issroff).

9 messages 2023/03/08

[#112746] [Ruby master Bug#19518] Recent Source Releases Do Not Compile on CentOS 7 Due to configure Script Error Generated By autoconf >= 2.70 — "eviljoel (evil joel) via ruby-core" <ruby-core@...>

Issue #19518 has been reported by eviljoel (evil joel).

7 messages 2023/03/08

[#112770] [Ruby master Feature#19520] Support for `Module.new(name)` and `Class.new(superclass, name)`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19520 has been reported by ioquatix (Samuel Williams).

42 messages 2023/03/09

[#112773] [Ruby master Feature#19521] Support for `Module#name=` and `Class#name=`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19521 has been reported by ioquatix (Samuel Williams).

31 messages 2023/03/09

[#112818] [Ruby master Misc#19525] DevMeeting-2023-04-13 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19525 has been reported by mame (Yusuke Endoh).

8 messages 2023/03/10

[#112871] [Ruby master Bug#19529] [BUG] ObjectSpace::WeakMap can segfault after compaction — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19529 has been reported by byroot (Jean Boussier).

12 messages 2023/03/14

[#112926] [Ruby master Misc#19535] Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID` — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19535 has been reported by byroot (Jean Boussier).

8 messages 2023/03/17

[#112933] [Ruby master Feature#19538] Performance warnings — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19538 has been reported by byroot (Jean Boussier).

11 messages 2023/03/17

[#112944] [Ruby master Feature#19541] Proposal: Generate frame unwinding info for YJIT code — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NTQxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu

13 messages 2023/03/19

[#113033] [Ruby master Feature#19555] Allow passing default options to `Data.define` — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>

Issue #19555 has been reported by p8 (Petrik de Heus).

7 messages 2023/03/28

[#113045] [Ruby master Feature#19559] Introduce `Symbol#+@` and `Symbol#-@`, and eventually replace boolean arguments with symbols — "sawa (Tsuyoshi Sawada) via ruby-core" <ruby-core@...>

Issue #19559 has been reported by sawa (Tsuyoshi Sawada).

20 messages 2023/03/30

[#113059] [Ruby master Bug#19563] Ripper.tokenize(code).join != code when heredoc and multiline %w[] literal is on the same line — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

Issue #19563 has been reported by tompng (tomoya ishida).

6 messages 2023/03/31

[ruby-core:112963] [Ruby master Bug#19403] Unable to Build Native Gems on Mac with Ruby 3.1.0+

From: "nagachika (Tomoyuki Chikanaga) via ruby-core" <ruby-core@...>
Date: 2023-03-21 07:49:51 UTC
List: ruby-core #112963
Issue #19403 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.7: DONTNEED, 3.0: DONTNEED, 3.1: REQUIRED, 3.2: DONE to 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONE, 3.2: DONE

ruby_3_1 485e0e46a58ff1a28eecd63b804b3dbea4b95b98 merged revision(s) 3a7367ccc319499127ead147e5a08f769e44208e.

----------------------------------------
Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
https://bugs.ruby-lang.org/issues/19403#change-102490

* Author: jcouball@yahoo.com (James Couball)
* Status: Closed
* Priority: Normal
* ruby -v: 3.2.0
* Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONE, 3.2: DONE
----------------------------------------
# Unable to Build Native Gems on Mac with Ruby 3.1.0+

## Problem

In Ruby 3.1 and later installed by `rvm` or `asdf` on a Mac, `require 'mkmf'` aborts
the script and reports the following error (the reported path is different depending
on the Ruby install manager and the version of Ruby):

```text
mkmf.rb can't find header files for ruby at /Users/couballj/.asdf/installs/ruby/3.2.0/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
```

and `RbConfig::CONFIG["rubyhdrdir"]` is set to an incorrect path:

```text
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0"
```

## Expected Behavior

Running `require 'mkmf'` should not abort and for my system/user using `asdf` installed
Ruby 3.2.0 `RbConfig::CONFIG["rubyhdrdir"]` should be set to:

```text
"/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0"
```

## Details

In Ruby 3.1 and later I can no longer build native gems (like nokoguru or redcarpet)
on my Mac.

I have tried this by installing Ruby with both `rvm` and `asdf`, both which have
the same results.

I receive the following error when trying to install (and build) these gems. For
example, here is the error message when I try to run `gem install redcarpet`:

```text
mkmf.rb can't find header files for ruby at /Users/couballj/.asdf/installs/ruby/3.2.0/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
```

I found that this error could be triggered just by running a Ruby script that requires
`mkmf`. If `test.rb` contains this:

```ruby
require 'mkmf'
```

Running this script:

`ruby test.rb`

Results in this output:

```text
mkmf.rb can't find header files for ruby at /Users/couballj/.asdf/installs/ruby/3.2.0/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
```

Curiously, the reported directory does not exist. On my system, the path to `ruby.h`
is  `/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0/ruby.h`

I found where in the Ruby code this error is reported in [mkmf.rb line 233](https://github.com/ruby/ruby/blob/master/lib/mkmf.rb#L224-L233).

This code is trying to find `ruby.h` based on the value of `RbConfig::CONFIG["rubyhdrdir"]`.
On my system, this value is:

```ruby
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0"
```

This value is a concatenation of `ENV['SDKROOT']` (which on my system is `/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk`)
and the correct include directory path `/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0`.

When I run the same code with Ruby 2.7.7, `RbConfig::CONFIG["rubyhdrdir"]` is set to the correct path:

```ruby
"/Users/couballj/.asdf/installs/ruby/3.2.0/include/ruby-3.2.0"
```

## Possible Cause

I have found a possible cause in [commit fd97862](https://github.com/ruby/ruby/commit/fd978621ccbc9519afc05ad031ba2518e9a6f379#)
in line 127 of mkconfig.rb. This change prepends `ENV['SDKROOT']` to the include directory that
is used to build `RbConfig::CONFIG["rubyhdrdir"]`.

While there may have been good reason for that change, in my case this change causes
`require 'mkmf'` to fail in my use case.

## Work Around

I have been able to work around this issue by creating a symbolic link from
`/Users /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users` to `/Users`
with the following command:

```shell
sudo ln -s /Users /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users
```

This change will works for both `rvm` and `asdf` no matter what version of Ruby is
installed.




-- 
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/

In This Thread

Prev Next