Skip to content

extconf.rb fails with ruby 3.2.0preview3 and onwards #30

@mtasaka

Description

@mtasaka

For ruby-shadow 2.5.1, $ ruby extconf.rb with ruby 3.2.0preview3 and onwards fails like:

[mockbuild@6df3d7ad097f49839ba1c83ed9e69826 ruby-shadow-2.5.1]$ ruby extconf.rb
checking for ruby/io.h... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib64
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/$(RUBY_BASE_NAME)
	--with-ruby-dir
	--without-ruby-dir
	--with-ruby-include
	--without-ruby-include=${ruby-dir}/include
	--with-ruby-lib
	--without-ruby-lib=${ruby-dir}/lib64
extconf.rb:68:in `<main>': You are missing some of the required functions from either shadow.h on Linux/Solaris, or pwd.h on FreeBSD/MirBSD/NetBSD/OpenBSD/OS X. (RuntimeError)

Note that with ruby3.2.0preview3 p CONFIG['host_os'] returns "$(target_os)". This is due to ruby/ruby@ed9d761 . In mkmf.rb, CONFIG is defined as RbConfig::MAKEFILE_CONFIG and RbConfig::MAKEFILE_CONFIG is almost same as RbConfig::CONFIG except that RbConfig::MAKEFILE_CONFIG uses reference for other variables.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions