[DRE-maint] Bug#867599: gem2deb fails to install pure ruby part when a gem has both pure ruby and native libs

Pirate Praveen praveen at onenetbeyond.org
Sun Jul 9 19:52:39 UTC 2017


On Sun, 9 Jul 2017 11:30:24 -0300 Antonio Terceiro <terceiro at debian.org>
wrote:
> Thinking about it, we kind of already support this: when you use
> --gem-install, this typo of thing should Just Work™.
> 
> > For now, I suggest that you
> > 
> > - drop your ruby-grpc
> > - send a patch to the existing grpc source to produce a ruby-grcp binary
> >   from it
> 

I have created this patch and submitted it (please review)
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867541#12 But it still
needs a fix for this bug to work (see below for problem with
--gem-install).

Note: I saw your comment about --gem-install only after submitting the
patch.

> I suggest that you use --gem-install when sending your patch to grpc, it
> should do the right thing.
> 

But it somehow fails to consider
https://anonscm.debian.org/cgit/pkg-ruby-extras/ruby-grpc.git/tree/debian/patches/no-embed-libs.patch
and fails (which works if I remove --gem-install option)

Building native extensions.  This could take a while...
current directory:
/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2/src/ruby/ext/grpc
/usr/bin/ruby2.3 -r ./siteconf20170710-20691-1hxb754.rb extconf.rb
Building internal gRPC into
/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2/src/ruby/ext/grpc/libs/opt
make[2]: Entering directory
'/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2'
make[2]: *** No rule to make target
'/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2/src/ruby/ext/grpc/libs/opt/libgrpc.a'.
 Stop.
make[2]: Leaving directory
'/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2'
*** 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)2.3
ERROR:  Error installing /tmp/d20170710-20670-8tpnrd/grpc-1.3.2.gem:
	ERROR: Failed to build gem native extension.

    Building has failed. See above output for more information on the
failure.
extconf failed, exit code 1

Gem files will remain installed in
/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/gems/grpc-1.3.2
for inspection.
Results logged to
/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0/extensions/x86_64-linux/2.3.0/grpc-1.3.2/gem_make.out
/usr/lib/ruby/vendor_ruby/gem2deb.rb:56:in `run': /usr/bin/ruby2.3 -S
gem install --config-file /dev/null --verbose --local --verbose
--no-rdoc --no-ri --ignore-dependencies --install-dir
debian/ruby-grpc/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0
/tmp/d20170710-20670-8tpnrd/grpc-1.3.2.gem (Gem2Deb::CommandFailed)
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:189:in `gem'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:103:in `block
in install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:51:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:51:in
`install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:84:in `block in install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `install'
	from /usr/bin/dh_ruby:94:in `<main>'
dh_auto_install: dh_ruby --install
/home/pravi/forge/debian/gitlab/grpc-1.3.2/debian/tmp returned exit code 1
debian/rules:30: recipe for target 'override_dh_auto_install' failed
make[1]: *** [override_dh_auto_install] Error 1
make[1]: Leaving directory '/home/pravi/forge/debian/gitlab/grpc-1.3.2'
debian/rules:40: recipe for target 'binary' failed

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20170710/4a6eb241/attachment-0001.sig>


More information about the Pkg-ruby-extras-maintainers mailing list