Hmm, I've been trying to reproduce this with a Ubuntu 22.04 container and apt-installed bundler, but it passes for me. In fact, even with bundler 2.3.5 installed, the script still installs 2.3.7 for me.
On Tue, Jan 10, 2023, at 11:12, David Li wrote: > Ah, I always end up using ARROW_TMPDIR and editing the extracted files > there if I need to work around an environment issue. > > I spun up a fresh Ubuntu 22.04 container and ran the GLib step there - > it passes for me. (I didn't install bundler myself, but the script > installed bundler 2.3.7 for me.) > > It appears conda-forge's bundler package is rather out of date so I > suppose we don't want to add the dependency there. > > On Tue, Jan 10, 2023, at 10:39, Antoine Pitrou wrote: >> If I remove the release version so as to check the current working copy, >> I now get the following error: >> >> Testing GLib >> Fetching gem metadata from https://rubygems.org/....... >> Resolving dependencies... >> Fetching bigdecimal 3.1.3 >> Installing bigdecimal 3.1.3 with native extensions >> Gem::Ext::BuildError: ERROR: Failed to build gem native extension. >> >> current directory: >> /home/antoine/arrow/adbc/glib/vendor/bundle/ruby/2.5.0/gems/bigdecimal-3.1.3/ext/bigdecimal >> /tmp/arrow-adbc-HEAD.92Pa1/mambaforge/envs/conda-source/bin/ruby -r >> ./siteconf20230110-85191-2u4xn8.rb extconf.rb >> checking RUBY_BIGDECIMAL_VERSION... 3.1.3 >> checking for __builtin_clz()... yes >> checking for __builtin_clzl()... yes >> checking for __builtin_clzll()... yes >> checking for float.h... yes >> checking for math.h... yes >> checking for stdbool.h... yes >> checking for stdlib.h... yes >> checking for x86intrin.h... yes >> checking for _lzcnt_u32() in x86intrin.h... no >> checking for _lzcnt_u64() in x86intrin.h... no >> checking for intrin.h... no >> checking for __lzcnt() in intrin.h... no >> checking for __lzcnt64() in intrin.h... no >> checking for _BitScanReverse() in intrin.h... no >> checking for _BitScanReverse64() in intrin.h... no >> checking for labs() in stdlib.h... yes >> checking for llabs() in stdlib.h... yes >> checking for finite() in math.h... yes >> checking for isfinite() in math.h... no >> checking for ruby/atomic.h... no >> checking for ruby/internal/has/builtin.h... no >> checking for ruby/internal/static_assert.h... no >> checking for rb_rational_num() in ruby.h... no >> checking for rb_rational_den() in ruby.h... no >> checking for rb_complex_real() in ruby.h... no >> checking for rb_complex_imag() in ruby.h... no >> checking for rb_opts_exception_p() in ruby.h... no >> checking for rb_category_warn() in ruby.h... no >> checking for RB_WARN_CATEGORY_DEPRECATED in ruby.h... no >> creating Makefile >> >> current directory: >> /home/antoine/arrow/adbc/glib/vendor/bundle/ruby/2.5.0/gems/bigdecimal-3.1.3/ext/bigdecimal >> make "DESTDIR=" clean >> >> current directory: >> /home/antoine/arrow/adbc/glib/vendor/bundle/ruby/2.5.0/gems/bigdecimal-3.1.3/ext/bigdecimal >> make "DESTDIR=" >> compiling bigdecimal.c >> In file included from bigdecimal.h:14, >> from bigdecimal.c:11: >> missing.h:127:1: error: static declaration of 'rb_rational_num' follows >> non-static declaration >> 127 | rb_rational_num(VALUE rat) >> | ^~~~~~~~~~~~~~~ >> In file included from >> /tmp/arrow-adbc-HEAD.92Pa1/mambaforge/envs/conda-source/include/ruby-2.5.0/ruby/ruby.h:2040, >> from bigdecimal.h:13, >> from bigdecimal.c:11: >> /tmp/arrow-adbc-HEAD.92Pa1/mambaforge/envs/conda-source/include/ruby-2.5.0/ruby/intern.h:171:7: >> >> note: previous declaration of 'rb_rational_num' with >> type 'VALUE(VALUE)' {aka 'long unsigned int(long unsigned int)'} >> 171 | VALUE rb_rational_num(VALUE rat); >> | ^~~~~~~~~~~~~~~ >> In file included from bigdecimal.h:14, >> from bigdecimal.c:11: >> missing.h:139:1: error: static declaration of 'rb_rational_den' follows >> non-static declaration >> 139 | rb_rational_den(VALUE rat) >> | ^~~~~~~~~~~~~~~ >> In file included from >> /tmp/arrow-adbc-HEAD.92Pa1/mambaforge/envs/conda-source/include/ruby-2.5.0/ruby/ruby.h:2040, >> from bigdecimal.h:13, >> from bigdecimal.c:11: >> /tmp/arrow-adbc-HEAD.92Pa1/mambaforge/envs/conda-source/include/ruby-2.5.0/ruby/intern.h:172:7: >> >> note: previous declaration of 'rb_rational_den' with >> type 'VALUE(VALUE)' {aka 'long unsigned int(long unsigned int)'} >> 172 | VALUE rb_rational_den(VALUE rat); >> | ^~~~~~~~~~~~~~~ >> make: *** [Makefile:244 : bigdecimal.o] Erreur 1 >> >> make failed, exit code 2 >> >> Gem files will remain installed in >> /home/antoine/arrow/adbc/glib/vendor/bundle/ruby/2.5.0/gems/bigdecimal-3.1.3 >> for inspection. >> Results logged to >> /home/antoine/arrow/adbc/glib/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/bigdecimal-3.1.3/gem_make.out >> >> An error occurred while installing bigdecimal (3.1.3), and Bundler >> cannot continue. >> Make sure that `gem install bigdecimal -v '3.1.3' --source >> 'https://rubygems.org/'` succeeds before bundling. >> >> In Gemfile: >> red-arrow was resolved to 10.0.1, which depends on >> bigdecimal >> Failed to verify release candidate. See /tmp/arrow-adbc-HEAD.92Pa1 for >> details. >> >> >> >> Le 10/01/2023 à 16:33, Antoine Pitrou a écrit : >>> >>> It's probably "rb-bundler". However, the release script downloads the >>> given version, so updating the current working copy doesn't change anything. >>> >>> Regards >>> >>> Antoine. >>> >>> >>> Le 10/01/2023 à 16:23, David Li a écrit : >>>> Hmm, bundler isn't listed in the conda spec indeed. Would you be OK with >>>> adding it to `ci/conda_env_glib.txt` and trying again? Or else, it will >>>> try to install bundler for you if the executable is not found, but it will >>>> ask for sudo since we forgot to add --user-install ([1] fixes this, thanks >>>> to Benson). >>>> >>>> [1]: https://github.com/apache/arrow-adbc/pull/327 >>>> >>>> On Tue, Jan 10, 2023, at 09:47, Antoine Pitrou wrote: >>>>> Ok, for some reason, piping the output gives a bit more detail: >>>>> >>>>> Bundle complete! 3 Gemfile dependencies, 12 gems now installed. >>>>> Bundled gems are installed into `./vendor/bundle` >>>>> Traceback (most recent call last): >>>>> 10: from >>>>> /tmp/arrow-adbc-0.1.0.HemSY/mambaforge/envs/conda-source/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in >>>>> `require' >>>>> 9: from >>>>> /tmp/arrow-adbc-0.1.0.HemSY/mambaforge/envs/conda-source/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in >>>>> `require' >>>>> 8: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/setup.rb:20:in >>>>> `<top (required)>' >>>>> 7: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/ui/shell.rb:88:in >>>>> `silence' >>>>> 6: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/ui/shell.rb:136:in >>>>> `with_level' >>>>> 5: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/setup.rb:20:in >>>>> `block in <top (required)>' >>>>> 4: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler.rb:151:in >>>>> `setup' >>>>> 3: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/runtime.rb:18:in >>>>> `setup' >>>>> 2: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/definition.rb:238:in >>>>> `specs_for' >>>>> 1: from >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/definition.rb:190:in >>>>> `specs' >>>>> /usr/share/rubygems-integration/all/gems/bundler-2.3.5/lib/bundler/definition.rb:481:in >>>>> `materialize': Could not find gobject-introspection-4.0.6, >>>>> red-arrow-10.0.1, test-unit-3.5.7, glib2-4.0.6, bigdecimal-3.1.3, >>>>> extpp-0.1.1, gio2-4.0.6, native-package-installer-1.1.5, >>>>> pkg-config-1.5.1, power_assert-2.0.3, fiddle-1.1.1 in any of the >>>>> sources (Bundler::GemNotFound) >>>>> Failed to verify release candidate. See /tmp/arrow-adbc-0.1.0.HemSY for >>>>> details. >>>>> >>>>> >>>>> So indeed the system bundler is used even when Conda is enabled. >>>>> >>>>> Regards >>>>> >>>>> Antoine. >>>>> >>>>> >>>>> Le 10/01/2023 à 15:41, Antoine Pitrou a écrit : >>>>>> >>>>>> Le 10/01/2023 à 09:23, Sutou Kouhei a écrit : >>>>>>> Hi, >>>>>>> >>>>>>> What is your distribution? Ubuntu 22.04? >>>>>> >>>>>> Yes. >>>>>> >>>>>>> It's strange that you use Bundler 2.3.5 with USE_CONDA=1. >>>>>> >>>>>> Well, it seems bundler isn't installed in the Conda environment, so >>>>>> perhaps the system bundler is used? >>>>>> >>>>>> $ pwd >>>>>> /tmp/arrow-adbc-0.1.0.utShr >>>>>> $ find -name "bundler" >>>>>> $ >>>>>>