unable to build from source (since 9.4)
i've unable to build gitlab-ce from source (since 9.4.3 actually)
$ bundle install -j7 --verbose --deployment --without development test aws kerberos
...
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
can't modify frozen String
Gem files will remain installed in /home/users/glen/rpm/BUILD/x86_64-linux/gitlab-ce-10.0.1/vendor/bundle/ruby/2.3.0/gems/rainbow-2.2.2 for inspection.
Results logged to /home/users/glen/rpm/BUILD/x86_64-linux/gitlab-ce-10.0.1/vendor/bundle/ruby/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.2/gem_make.out
/usr/share/ruby/2.3/rubygems/ext/rake_builder.rb:13:in `build'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:164:in `block (2 levels) in build_extension'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:163:in `chdir'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:163:in `block in build_extension'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:162:in `synchronize'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:162:in `build_extension'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:201:in `block in build_extensions'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:198:in `each'
/usr/share/ruby/2.3/rubygems/ext/builder.rb:198:in `build_extensions'
/usr/share/ruby/2.3/rubygems/installer.rb:748:in `build_extensions'
/usr/share/ruby/2.3/rubygems/installer.rb:297:in `install'
/usr/share/ruby/vendor_ruby/bundler/source/rubygems.rb:117:in `block in install'
/usr/share/ruby/vendor_ruby/bundler/rubygems_integration.rb:130:in `preserve_paths'
/usr/share/ruby/vendor_ruby/bundler/source/rubygems.rb:110:in `install'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:104:in `block in install_gem_from_spec'
/usr/share/ruby/vendor_ruby/bundler/rubygems_integration.rb:162:in `with_build_args'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:103:in `install_gem_from_spec'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:282:in `block in install_in_parallel'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:42:in `block (2 levels) in prepare_workers'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:35:in `fork'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:35:in `block in prepare_workers'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:31:in `times'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:31:in `each'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:31:in `map'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:31:in `prepare_workers'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/worker.rb:20:in `initialize'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers/unix_worker.rb:20:in `initialize'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers.rb:14:in `new'
/usr/share/ruby/vendor_ruby/bundler/parallel_workers.rb:14:in `worker_pool'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:280:in `install_in_parallel'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:88:in `run'
/usr/share/ruby/vendor_ruby/bundler/installer.rb:18:in `install'
/usr/share/ruby/vendor_ruby/bundler/cli/install.rb:79:in `run'
/usr/share/ruby/vendor_ruby/bundler/cli.rb:145:in `install'
/usr/share/ruby/vendor_ruby/thor/command.rb:27:in `run'
/usr/share/ruby/vendor_ruby/thor/invocation.rb:126:in `invoke_command'
/usr/share/ruby/vendor_ruby/thor.rb:359:in `dispatch'
/usr/share/ruby/vendor_ruby/thor/base.rb:440:in `start'
/usr/share/ruby/vendor_ruby/bundler/cli.rb:9:in `start'
/usr/bin/bundle:20:in `block in <main>'
/usr/share/ruby/vendor_ruby/bundler/friendly_errors.rb:5:in `with_friendly_errors'
/usr/bin/bundle:18:in `<main>'
...
An error occurred while installing rainbow (2.2.2), and Bundler cannot continue.
Make sure that `gem install rainbow -v '2.2.2'` succeeds before bundling.
$ cat /home/users/glen/rpm/BUILD/x86_64-linux/gitlab-ce-10.0.1/vendor/bundle/ruby/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.2/gem_make.out
can't modify frozen String
however, running the above command succeeeds:
$ gem install rainbow -v '2.2.2'
Building native extensions. This could take a while...
Successfully installed rainbow-2.2.2
Parsing documentation for rainbow-2.2.2
Done installing documentation for rainbow after 0 seconds
1 gem installed
Some system information:
$ bundle --version
Bundler version 1.7.15
$ gem --version
2.5.2
$ ruby --version
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]
the whole build process is inside rpmbuild .spec file, if that gives any more context: https://github.com/pld-linux/gitlab-ce/blob/4fb1cc7fded06353cafbe94caa0645e79c7be90b/gitlab-ce.spec#L135