Open afittro opened 1 year ago
@afittro You might try this suggestion from a similar issues on the charlock_holmes
repo: https://github.com/brianmario/charlock_holmes/issues/156#issuecomment-789790455
bundle pristine charlock_holmes
oh, good idea. I actually never thought of using pristine within bundler.
But alas, after doing that the error remains. Thank you for the suggestion and for helping me grow :)
So is it accurate to say this is a problem within charlock_holmes and not bullet_train? If so, should we close this issue with a note to refer to the relevant open issue on that charlock_holmes repo?
@afittro I just noticed that you mentioned that you have icu4c
isntalled via brew
and libicu-dev
installed via apt
. I don't know that this is the case, but it could be that those two different installation methods end up putting things in two different spots and that something somewhere (maybe the charlock_holmes
build process?) expects them all to be in the same spot. You might try installing both via one method or the other and then bundle pristine
.
@afittro, did you ever this this straightened out?
No. I had the problem initially without the apt-installed libicu-dev. I just had the brew install of icu4c. I only added the apt install as an attempt to resolve the issue.
having the same issue on mac m1 (Sonoma) and ruby 3.2.4
@shaunakv1 You might try doing this:
BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
It was suggested in a thread on the charlock_holmes
repo:
https://github.com/brianmario/charlock_holmes/issues/172#issuecomment-2200579820
This is still failing for me:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/share/rvm/gems/ruby-3.3.4/gems/charlock_holmes-0.7.9/ext/charlock_holmes
/usr/share/rvm/rubies/ruby-3.3.4/bin/ruby extconf.rb --with-cxxflags\=-std\=c++17
checking for pkg-config for icu-i18n... [" ", "", "-licui18n -licuuc -licudata"]
checking for pkg-config for icu-io... [" ", "", "-licuio -licui18n -licuuc -licudata"]
checking for pkg-config for icu-uc... [" ", "", "-licuuc -licudata"]
checking for -licui18n... yes
checking for unicode/ucnv.h... yes
checking for -lz... yes
checking for -licuuc... yes
checking for -licudata... yes
checking for icu that requires explicit C++ version flag... yes
checking for icu that compiles with c++20 standard... no
checking for icu that compiles with c++17 standard... no
checking for icu that compiles with c++11 standard... no
checking for icu that compiles with c++0x standard... no
Cannot compile icu with your compiler: recent versions require C++17 support.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include=${opt-dir}/include
--without-opt-include
--with-opt-lib=${opt-dir}/lib
--without-opt-lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/share/rvm/rubies/ruby-3.3.4/bin/$(RUBY_BASE_NAME)
--with-icu-dir
--without-icu-dir
--with-icu-include=${icu-dir}/include
--without-icu-include
--with-icu-lib=${icu-dir}/lib
--without-icu-lib
--with-icu-i18n-dir
--without-icu-i18n-dir
--with-icu-i18n-include=${icu-i18n-dir}/include
--without-icu-i18n-include
--with-icu-i18n-lib=${icu-i18n-dir}/lib
--without-icu-i18n-lib
--with-icu-i18n-config
--without-icu-i18n-config
--with-pkg-config
--without-pkg-config
--with-icu-io-dir
--without-icu-io-dir
--with-icu-io-include=${icu-io-dir}/include
--without-icu-io-include
--with-icu-io-lib=${icu-io-dir}/lib
--without-icu-io-lib
--with-icu-io-config
--without-icu-io-config
--with-icu-uc-dir
--without-icu-uc-dir
--with-icu-uc-include=${icu-uc-dir}/include
--without-icu-uc-include
--with-icu-uc-lib=${icu-uc-dir}/lib
--without-icu-uc-lib
--with-icu-uc-config
--without-icu-uc-config
--with-icui18n-dir
--without-icui18n-dir
--with-icui18n-include=${icui18n-dir}/include
--without-icui18n-include
--with-icui18n-lib=${icui18n-dir}/lib
--without-icui18n-lib
--with-icui18nlib
--without-icui18nlib
--with-unicode-dir
--without-unicode-dir
--with-unicode-include=${unicode-dir}/include
--without-unicode-include
--with-unicode-lib=${unicode-dir}/lib
--without-unicode-lib
--with-z-dir
--without-z-dir
--with-z-include=${z-dir}/include
--without-z-include
--with-z-lib=${z-dir}/lib
--without-z-lib
--with-zlib
--without-zlib
--with-icuuc-dir
--without-icuuc-dir
--with-icuuc-include=${icuuc-dir}/include
--without-icuuc-include
--with-icuuc-lib=${icuuc-dir}/lib
--without-icuuc-lib
--with-icuuclib
--without-icuuclib
--with-icudata-dir
--without-icudata-dir
--with-icudata-include=${icudata-dir}/include
--without-icudata-include
--with-icudata-lib=${icudata-dir}/lib
--without-icudata-lib
--with-icudatalib
--without-icudatalib
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/share/rvm/gems/ruby-3.3.4/extensions/x86_64-linux/3.3.0/charlock_holmes-0.7.9/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /usr/share/rvm/gems/ruby-3.3.4/gems/charlock_holmes-0.7.9 for inspection.
Results logged to /usr/share/rvm/gems/ruby-3.3.4/extensions/x86_64-linux/3.3.0/charlock_holmes-0.7.9/gem_make.out
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:125:in `run'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/ext_conf_builder.rb:28:in `build'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:193:in `build_extension'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:227:in `block in build_extensions'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `each'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `build_extensions'
/usr/share/rvm/rubies/ruby-3.3.4/lib/ruby/3.3.0/rubygems/installer.rb:852:in `build_extensions'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/rubygems_gem_installer.rb:72:in `build_extensions'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/rubygems_gem_installer.rb:28:in `install'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/source/rubygems.rb:200:in `install'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/installer/gem_installer.rb:54:in `install'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:156:in `do_install'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:147:in `block in worker_pool'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/worker.rb:62:in `apply_func'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/worker.rb:57:in `block in process_queue'
<internal:kernel>:187:in `loop'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/worker.rb:54:in `process_queue'
/usr/share/rvm/gems/ruby-3.3.4/gems/bundler-2.4.10/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'
An error occurred while installing charlock_holmes (0.7.9), and Bundler cannot continue.
In Gemfile:
bullet_train-incoming_webhooks was resolved to 1.7.21, which depends on
bullet_train-api was resolved to 1.7.21, which depends on
bullet_train was resolved to 1.7.21, which depends on
extended_email_reply_parser was resolved to 0.5.1, which depends on
charlock_holmes
Similar to #103. When I run bin/setup on my machine I get the following error:
LoadError: libicudata.so.73: cannot open shared object file: No such file or directory - /home/<me>/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/charlock_holmes-0.7.7/lib/charlock_holmes/charlock_holmes.so
Here is my system info from inxi:
System: Kernel: 5.15.0-76-generic x86_64 bits: 64 compiler: gcc v: 11.3.0 Desktop: Cinnamon 5.8.4 Distro: Linux Mint 21.2 Victoria base: Ubuntu 22.04 jammy
I have icu4c installed via brew:
icu4c: stable 73.2
I have libicu-dev installed via apt.
What else could I try, since upgrading to the latest Ubuntu isn't really an option if I wish to stay on Mint?