Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

3.4.4 build fails on macOS 15.5 Intel #2539

Discussion options

I successfully installed 3.4.4 on 15.5 on an Intel MacBook Pro, but it's failing to work on a different machine (27" iMac Intel). (So, I'm 1 for 2).

I've installed several rubies on several machines in the past. This is the first build problem I've had.

I ran brew upgrade rbenv beforehand which updated an innumerable number of things.

I've found a few references, but for older rubies and OSs, and not quite the same error. Don't feel I know enough to go poking around and editing things.

The Console

% rbenv install 3.4.4
ruby-build: using openssl@3 from homebrew
==> Downloading ruby-3.4.4.tar.gz...
-> curl -q -fL -o ruby-3.4.4.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.gz
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 22.1M 100 22.1M 0 0 41.9M 0 --:--:-- --:--:-- --:--:-- 41.9M
==> Installing ruby-3.4.4...
ruby-build: using libyaml from homebrew
ruby-build: using gmp from homebrew
-> ./configure "--prefix=$HOME/.rbenv/versions/3.4.4" --with-openssl-dir=/usr/local/opt/openssl@3 --enable-shared --with-libyaml-dir=/usr/local/opt/libyaml --with-gmp-dir=/usr/local/opt/gmp --with-ext=openssl,psych,+
-> make -j 20
BUILD FAILED (macOS 15.5 on x86_64 using ruby-build 20250529.1)
You can inspect the build directory at /var/folders/s2/3_91jf8x1qjc_j8kytyrv3wr0000gn/T/ruby-build.20250528163838.55143.eNhJSI
See the full build log at /var/folders/s2/3_91jf8x1qjc_j8kytyrv3wr0000gn/T/ruby-build.20250528163838.55143.log
% 

Sometimes running things twice works, not in this case.

The Log

In file included from debug.c:27:
./vm_callinfo.h:183:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
In file included from debug.c:27:
./vm_callinfo.h:221:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 if (debug) rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
compiling iseq.c
2 errors generated.
make: *** [debug.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from imemo.c:6:
./vm_callinfo.h:183:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
In file included from imemo.c:6:
./vm_callinfo.h:221:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 if (debug) rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
2 errors generated.
make: *** [imemo.o] Error 1
In file included from compile.c:43:
./vm_callinfo.h:183:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
In file included from compile.c:43:
./vm_callinfo.h:221:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 if (debug) rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
In file included from iseq.c:41:
./vm_callinfo.h:183:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
In file included from iseq.c:41:
./vm_callinfo.h:221:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
 if (debug) rp(ci);
 ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
 ^
2 errors generated.
2 errors generated.
make: *** [iseq.o] Error 1
make: *** [compile.o] Error 1
external command failed with status 2

Looking for any ideas on how to fix or kickstart a build a different way.

What other info would you need?

Thanks for your time.

You must be logged in to vote

Thanks for the tips.

As a work-related "production" machine for a certain set of projects this computer has only ever had one ruby version and one rails version installed. So, I would think the environment would be fairly unmolested. But, it also means I installed stuff 4-5 years ago and left it.

However, brew doctor (which I forgot about), did complain about CLT being old (even though I have the latest OS and full XCode installed). That gave me the rabbit hole to go down, and see there was an old brew installed CLT version in addition to the full XCode. Deleting that old brew version, and letting XCode take over was the ticket. After I deleted the brew CLT, all went well.

For future folk...

Replies: 1 comment 2 replies

Comment options

The fact that you are able to install it on one machine but not the 27" Intel iMac means there is something broken with your development environment. There are many factors that can affect Ruby installation on a Mac, but a broken, outdated, or misconfigured development environment is one of the most common ones. I have a 27" Intel iMac as well, and I have no issues installing Ruby 3.4.4.

Based on my experience helping hundreds of thousands of people install Ruby on macOS over the past 13 years, the only solution that is guaranteed to work in every case is to completely clean up your dev setup, and reinstall everything from scratch. I built a product that can do this cleanup (including a backup) in less than 60 seconds, and then it can automate the reinstallation of everything needed for Ruby.

Here are a few things you can try before doing the cleanup:

  • Run brew doctor and fix as many issues as it complains about
  • Comment out everything from your shell startup files (such as ~/.zshrc, ~/.zprofile, ~/.bash_profile etc) except the bare minimum needed to use rbenv. Another common issue that affects Ruby installation is when people add ENV vars such as LDFLAGS that can override the default installation settings and can cause the installation to fail.
  • Make sure the command line tools are up to date
You must be logged in to vote
2 replies
Comment options

Thanks for the tips.

As a work-related "production" machine for a certain set of projects this computer has only ever had one ruby version and one rails version installed. So, I would think the environment would be fairly unmolested. But, it also means I installed stuff 4-5 years ago and left it.

However, brew doctor (which I forgot about), did complain about CLT being old (even though I have the latest OS and full XCode installed). That gave me the rabbit hole to go down, and see there was an old brew installed CLT version in addition to the full XCode. Deleting that old brew version, and letting XCode take over was the ticket. After I deleted the brew CLT, all went well.

For future folks, I used this article, and others linked to it as a way to muddled through getting cleaned up.

https://mac.install.guide/commandlinetools/2

Answer selected by mislav
Comment options

Awesome; thanks for the update @marwaygreg and @monfresh for the tips!

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

AltStyle によって変換されたページ (->オリジナル) /