Cannot install Ruby debugger gems on remote host.
Just updated to Ruby 3.3.1 (was on 2.5.?) so RubyMine is now trying to install the debugger gems. It asks, I say “Yes” is pops up two dialog about installing two gems, and them nothing. I gathered host log files and i see this in the idea.log:
Failed to Install Gems. Following gems were not installed:
/home/tim/.cache/JetBrains/RemoteDev/dist/fec48c70f3057_RubyMine-232.9921.7/plugins/ruby/rb/gems/ruby-debug-ide-3.0.0.beta.12.1.gem: Error installing ruby-debug-ide-3.0.0.beta.12.1.gem:
ERROR: Failed to build gem native extension. current directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto /usr/share/rvm/rubies/ruby-3.3.1/bin/ruby extconf.rb checking for vm_core.h... no checking for vm_core.h... no ************************************************************************** No source for ruby-3.3.1-p55 (revision c56cd86388092faec079981f779f140717020d58) provided with debase-ruby_core_source gem. Falling back to ruby-3.3.0-p0. ************************************************************************** checking for vm_core.h... yes checking for iseq.h... yes checking for method.h... yes checking for version.h... yes creating Makefile Build Environment: ============================================================================================ CC: gcc gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ============================================================================================ CXX: g++ g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ============================================================================================ current directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto make DESTDIR\= sitearchdir\=./.gem.20240523-2005918-ul671g sitelibdir\=./.gem.20240523-2005918-ul671g clean current directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto make DESTDIR\= sitearchdir\=./.gem.20240523-2005918-ul671g sitelibdir\=./.gem.20240523-2005918-ul671g compiling context.c In file included from context.c:3: ./debase_internals.h:13:10: fatal error: gc.h: No such file or directory 13 | #include <gc.h> | ^~~~~~ compilation terminated. make: *** [Makefile:248: context.o] Error 1 make failed, exit code 2 Gem files will remain installed in /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7 for inspection. Results logged to /usr/share/rvm/gems/ruby-3.3.1/extensions/x86_64-linux/3.3.0debase-3.0.0.beta.7/gem_make.out
gem_make.out looks like this:
current directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto
/usr/share/rvm/rubies/ruby-3.3.1/bin/ruby extconf.rb
checking for vm_core.h... no
checking for vm_core.h... no
**************************************************************************
No source for ruby-3.3.1-p55 (revision c56cd86388092faec079981f779f140717020d58) provided with
debase-ruby_core_source gem. Falling back to ruby-3.3.0-p0.
**************************************************************************
checking for vm_core.h... yes
checking for iseq.h... yes
checking for method.h... yes
checking for version.h... yes
creating Makefile
Build Environment:
============================================================================================
CC: gcc
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
============================================================================================
CXX: g++
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
============================================================================================current directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto
make DESTDIR\= sitearchdir\=./.gem.20240523-2005918-ul671g sitelibdir\=./.gem.20240523-2005918-ul671g cleancurrent directory: /usr/share/rvm/gems/ruby-3.3.1/gems/debase-3.0.0.beta.7/exto
make DESTDIR\= sitearchdir\=./.gem.20240523-2005918-ul671g sitelibdir\=./.gem.20240523-2005918-ul671g
compiling context.c
In file included from context.c:3:
./debase_internals.h:13:10: fatal error: gc.h: No such file or directory
13 | #include <gc.h>
| ^~~~~~
compilation terminated.
make: *** [Makefile:248: context.o] Error 1make failed, exit code 2
~
I am sure there is something i have not installed. that will include the gc.h header, just not sure what.
I have install ruby-debug-ide from the command line on the remote host, this is the output from “gem list --local”
responders (3.1.1)
rexml (3.2.6)
rinda (default: 0.2.0)
rss (0.3.0)
ruby-debug-ide (0.7.3)
ruby-filemagic (0.7.3)
ruby2_keywords (default: 0.0.5)
ruby2ruby (2.5.0)
ruby_parser (3.21.0)
rubygems-bundler (1.4.5)
请先登录再写评论。
More Information, I downloaded the Linux version (Also 2024.1.2) to the remote and used XWindows to run it, it ran and installed the debugger without incident. I then went back tot he remote version and everything works. So this seams to be specific to the remote development doing debugger install.
Hello Tim,
Could you please specify how you installed debug gems when you connected to the remote server using XWindows. Did you do it via RubyMine as well?
Yes, when I bought up the remote UI via SSH, I went to debug the development version of the project. I dialog came up indicating that the debug gems needed to be installed. I said yes, and a few more dialog came up about installing individual gems, but they quickly went away and nothing happened. that's when I looked for the log files above.
When i got it working i installed and used RubyMine on the remote server and access it via an XWindows based connection/UI on my windows system. This time it also promoted for the install of the debug gems, but this time it worked and the dev version of the project started up.
Now if i go back to the Remote/SSH version and not the XWindows version, it comes up fine, no prompt for the debug gems, as it looks like the install under the XWindows connection worked. I don't know if that helps.
Oh, on the XWindows version, i just ran development version of the code, and it again came up and prompted for the debug gem, just like with the Remote/SSH version, its just this time via XWindows, it worked.
That's interesting. Just to be sure, do I understand it right that it worked when you started to debug in RubyMine locally with a local rvm interpreter (because RubyMine is installed to the remote server), but it failed when you started it using Remote development via SSH and connecting to the same remote host?
Yes, Initially when i use the Remote SSH connection the install of the debugger gems would fail as above. Then when i logged into the remote host and ran Rubymine locally on that host from the command line using XWindows back to my Windows machine for display, everything worked as expected, it prompted and installed the debugger gems. Then when i went back to the running Rubymine against the same host using the Remote Development SSH connection to the same host, it then no longer tried to install the gems and the debugger worked.
Since you're working with the Remote development, it's worth checking the latest version as well (2024.1.2 or 2024.2 EAP)