rails-dev-box icon indicating copy to clipboard operation
rails-dev-box copied to clipboard

add missing dependencies

Open lazaronixon opened this issue 2 years ago • 1 comments

When running bundle install in a fresh image I'm having:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/tmp/bundler20230515-13058-ydlnsbpsych-5.1.0/gems/psych-5.1.0/ext/psych
/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20230515-13058-fagdm6.rb
extconf.rb
checking for yaml.h... no
yaml.h not found
*** 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}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/$(RUBY_BASE_NAME)3.0
	--with-libyaml-source-dir
	--without-libyaml-source-dir
	--with-yaml-0.1-config
	--without-yaml-0.1-config
	--with-pkg-config
	--without-pkg-config
	--with-libyaml-dir
	--without-libyaml-dir
	--with-libyaml-include
	--without-libyaml-include=${libyaml-dir}/include
	--with-libyaml-lib
	--without-libyaml-lib=${libyaml-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can be found
here:

/tmp/bundler20230515-13058-ydlnsbpsych-5.1.0/extensions/x86_64-linux/3.0.0/psych-5.1.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/tmp/bundler20230515-13058-ydlnsbpsych-5.1.0/gems/psych-5.1.0 for inspection.
Results logged to
/tmp/bundler20230515-13058-ydlnsbpsych-5.1.0/extensions/x86_64-linux/3.0.0/psych-5.1.0/gem_make.out

  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:95:in `run'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:47:in `block in build'
  /usr/lib/ruby/3.0.0/tempfile.rb:317:in `open'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:26:in `build'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:164:in `build_extension'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:198:in `block in build_extensions'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:195:in `each'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:195:in `build_extensions'
  /usr/lib/ruby/vendor_ruby/rubygems/installer.rb:851:in `build_extensions'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/rubygems_gem_installer.rb:72:in
`build_extensions'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/source/rubygems.rb:207:in `install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/gem_installer.rb:54:in
`install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:62:in `apply_func'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:57:in `block in
process_queue'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:54:in `loop'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:54:in `process_queue'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:91:in `block (2 levels) in
create_threads'

An error occurred while installing psych (5.1.0), and Bundler cannot continue.

In Gemfile:
  sdoc was resolved to 2.6.1, which depends on
    rdoc was resolved to 6.5.0, which depends on
      psych
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/tmp/bundler20230515-13058-8no6joreadline-ext-0.1.5/gems/readline-ext-0.1.5/ext/readline
/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20230515-13058-e0ceh0.rb
extconf.rb
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no
*** 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}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/$(RUBY_BASE_NAME)3.0
	--with-curses-dir
	--without-curses-dir
	--with-curses-include
	--without-curses-include=${curses-dir}/include
	--with-curses-lib
	--without-curses-lib=${curses-dir}/lib
	--with-ncurses-dir
	--without-ncurses-dir
	--with-ncurses-include
	--without-ncurses-include=${ncurses-dir}/include
	--with-ncurses-lib
	--without-ncurses-lib=${ncurses-dir}/lib
	--with-termcap-dir
	--without-termcap-dir
	--with-termcap-include
	--without-termcap-include=${termcap-dir}/include
	--with-termcap-lib
	--without-termcap-lib=${termcap-dir}/lib
	--with-readline-dir
	--without-readline-dir
	--with-readline-include
	--without-readline-include=${readline-dir}/include
	--with-readline-lib
	--without-readline-lib=${readline-dir}/lib
	--enable-libedit
	--disable-libedit
	--with-ncurseslib
	--without-ncurseslib
	--with-editline-dir
	--without-editline-dir
	--with-editline-include
	--without-editline-include=${editline-dir}/include
	--with-editline-lib
	--without-editline-lib=${editline-dir}/lib
extconf.rb:62:in `<main>': Neither readline nor libedit was found (RuntimeError)

To see why this extension failed to compile, please check the mkmf.log which can be found
here:

/tmp/bundler20230515-13058-8no6joreadline-ext-0.1.5/extensions/x86_64-linux/3.0.0/readline-ext-0.1.5/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/tmp/bundler20230515-13058-8no6joreadline-ext-0.1.5/gems/readline-ext-0.1.5 for inspection.
Results logged to
/tmp/bundler20230515-13058-8no6joreadline-ext-0.1.5/extensions/x86_64-linux/3.0.0/readline-ext-0.1.5/gem_make.out

  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:95:in `run'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:47:in `block in build'
  /usr/lib/ruby/3.0.0/tempfile.rb:317:in `open'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:26:in `build'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:164:in `build_extension'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:198:in `block in build_extensions'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:195:in `each'
  /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:195:in `build_extensions'
  /usr/lib/ruby/vendor_ruby/rubygems/installer.rb:851:in `build_extensions'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/rubygems_gem_installer.rb:72:in
`build_extensions'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/source/rubygems.rb:207:in `install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/gem_installer.rb:54:in
`install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:62:in `apply_func'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:57:in `block in
process_queue'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:54:in `loop'
  /var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:54:in `process_queue'
/var/lib/gems/3.0.0/gems/bundler-2.3.22/lib/bundler/worker.rb:91:in `block (2 levels) in
create_threads'

An error occurred while installing readline-ext (0.1.5), and Bundler cannot
continue.

In Gemfile:
  readline-ext

lazaronixon avatar May 15 '23 18:05 lazaronixon

Could you elaborate a bit on this patch in the PR description please? Like, explain what error did you get, doing what, why are these dependencies needed now and not before, something like that.

fxn avatar May 15 '23 19:05 fxn