ruby "config.h" header in wrong location

Originator:joe
Number:rdar://46465917 Date Originated:2018-12-04
Status: Resolved:
Product:macOS Product Version:10.14.1
Classification:Serious Bug Reproducible:Always
 
Summary:  According to `uname -a`, the architecture target of macOS 10.14.1 is "darwin18".  This is the architecture value that ruby uses when generating Makefiles for native extensions.  However, this causes those Makefiles to refer to:

 /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin18/ruby/config.h

Which is a path which does not exist on the system.  Instead, the ruby config.h file is located at:

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin17/ruby/config.h

Note the "universal-darwin17" in the path, which suggests this is for an older version of macOS.

Steps to Reproduce:

From the Terminal, run the command `sudo gem install redcarpet`

Expected Results:

The installation to complete successfully.

Actual Results:

The installation fails with the error:

make: *** No rule to make target `/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin18/ruby/config.h', needed by `autolink.o'.  Stop.

Version/Build:

macOS 10.14.1, builtin ruby ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

Configuration:

See attached sysdiagnose.

Comments

Duplicate Radar

https://openradar.appspot.com/46487252


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!