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

Reply via email to