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" >>>>> $ >>>>>