Solved devel/rubygem-* and sysutils/rubygem-* ports build issues

Hi,

I'm trying to build puppet7 related ports. By default, I believe they're configured to use ruby (as new method). When building the dependent ports
Code:
[04:18:06] Failed ports:
devel/rubygem-locale:extract
devel/rubygem-ffi:extract
devel/rubygem-thor:extract
devel/rubygem-fast_gettext1:extract
sysutils/rubygem-hiera:extract
devel/rubygem-concurrent-ruby:extract
devel/rubygem-hocon:extract
devel/rubygem-deep_merge:extract
devel/rubygem-json_pure:extract
sysutils/rubygem-puppetserver-ca:extract
devel/rubygem-scanf:extract
devel/rubygem-semantic_puppet:extract

In poudriere interactive mode for devel/rubygem-ffi:

Code:
cd /usr/ports/devel/rubygem-ffi
root@12_2-RELEASE-amd64-default-def_opts:/usr/ports/devel/rubygem-ffi # make
===>  License BSD3CLAUSE accepted by the user
===>   rubygem-ffi-1.14.2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by rubygem-ffi-1.14.2 for building
===>  Extracting for rubygem-ffi-1.14.2
=> SHA256 Checksum OK for rubygem/ffi-1.14.2.gem.
===>   rubygem-ffi-1.14.2 depends on file: /usr/local/bin/ruby30 - not found
===>   Installing existing package /packages/All/ruby-3.0.0.p1_1,1.txz
[12_2-RELEASE-amd64-default-def_opts] Installing ruby-3.0.0.p1_1,1...
[12_2-RELEASE-amd64-default-def_opts] `-- Installing libedit-3.1.20210216,1...
[12_2-RELEASE-amd64-default-def_opts] `-- Extracting libedit-3.1.20210216,1: 100%
[12_2-RELEASE-amd64-default-def_opts] `-- Installing libunwind-20201110...
[12_2-RELEASE-amd64-default-def_opts] `-- Extracting libunwind-20201110: 100%
[12_2-RELEASE-amd64-default-def_opts] `-- Installing libyaml-0.2.5...
[12_2-RELEASE-amd64-default-def_opts] `-- Extracting libyaml-0.2.5: 100%
[12_2-RELEASE-amd64-default-def_opts] Extracting ruby-3.0.0.p1_1,1: 100%
=====
Message from ruby-3.0.0.p1_1,1:

--
Some of the standard commands are provided as separate ports for ease
of upgrading:

        devel/ruby-gems:                gem - RubyGems package manager
        devel/rubygem-irb:              irb - Interactive Ruby
        devel/rubygem-rake:             rake - Ruby Make
        devel/rubygem-rdoc:             rdoc - Ruby Documentation System
        sysutils/rubygem-bundler:       bundler - Tool that manages gem dependencies for ruby applications

And some of the standard libraries are provided as separate ports
since they require extra dependencies:

        databases/rubygem-dbm:  DBM module
        databases/rubygem-gdbm: GDBM module

Install them as occasion demands.
===>   rubygem-ffi-1.14.2 depends on file: /usr/local/bin/ruby30 - found
===>   Returning to build of rubygem-ffi-1.14.2
===>   rubygem-ffi-1.14.2 depends on file: /usr/local/bin/gem30 - not found
===>   Installing existing package /packages/All/ruby30-gems-3.0.8.txz
[12_2-RELEASE-amd64-default-def_opts] Installing ruby30-gems-3.0.8...
[12_2-RELEASE-amd64-default-def_opts] Extracting ruby30-gems-3.0.8: 100%
===>   rubygem-ffi-1.14.2 depends on file: /usr/local/bin/gem30 - found
===>   Returning to build of rubygem-ffi-1.14.2
ERROR:  While executing gem ... (Gem::Package::FormatError)
    package is corrupt, exception while verifying: wrong number of arguments (given 2, expected 1) (ArgumentError) in /distfiles/rubygem/ffi-1.14.2.gem
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/rubygem-ffi

Other */rubygem-* ports also reported similar error:

Code:
===>  License BSD2CLAUSE accepted by the user
===>   rubygem-scanf-1.0.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by rubygem-scanf-1.0.0 for building
===>  Extracting for rubygem-scanf-1.0.0
=> SHA256 Checksum OK for rubygem/scanf-1.0.0.gem.
===>   rubygem-scanf-1.0.0 depends on file: /usr/local/bin/ruby30 - found
===>   rubygem-scanf-1.0.0 depends on file: /usr/local/bin/gem30 - found
ERROR:  While executing gem ... (Gem::Package::FormatError)
    package is corrupt, exception while verifying: wrong number of arguments (given 2, expected 1) (ArgumentError) in /distfiles/rubygem/scanf-1.0.0.gem
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/rubygem-scanf

Has anyone seen this error before or was able to build puppet 7 (server and DB) ports successfully?

Thanks.
 
I guess that would have to wait until puppet is compatible with ruby 3.x.
Yeah, I don't think Puppet is ready for it yet. Found some issues that refer to several problems with it. Besides Puppet itself you'll also need support for Puppetserver. Puppetserver uses JRuby, and I'm not sure about JRuby support for the new 3.0 API.

 
Yeah, I don't think Puppet is ready for it yet. Found some issues that refer to several problems with it. Besides Puppet itself you'll also need support for Puppetserver. Puppetserver uses JRuby, and I'm not sure about JRuby support for the new 3.0 API.

Thank you for sharing the info.
 
Back
Top