all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* using guix for ruby development
@ 2018-02-15 12:46 Divan Santana
  2018-02-15 12:54 ` Divan Santana
  0 siblings, 1 reply; 6+ messages in thread
From: Divan Santana @ 2018-02-15 12:46 UTC (permalink / raw)
  To: help-guix

Hi all,

So I'm *trying* to use guix on Parabola Linux to provide the rubies and
replace some other functionality of like chruby for instance.

I'm a bit of a noob with guix and even ruby, so it's a bit of a
challenge.

I've read through these nice notes[1] by Pjotr. The answers I'm looking
for, may well be in there but I might have missed it.

  [1]:
    - https://gitlab.com/pjotrp/guix-notes/blob/master/RUBY.org
    - https://gitlab.com/pjotrp/guix-notes/blob/master/RUBYGEMS-Nokogiri.org

I've also used the linked in script[2] which helps.

[2]: https://gitlab.com/pjotrp/guix-notes/blob/master/scripts/ruby-guix-env

Anyway the issue:

  $ gem env
  RubyGems Environment:
    - RUBYGEMS VERSION: 2.6.14
    - RUBY VERSION: 2.4.3 (2017-12-14 patchlevel 205) [x86_64-linux]
    - INSTALLATION DIRECTORY: /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0
    - USER INSTALLATION DIRECTORY: /home/admin/.gem/ruby/2.4.0
    - RUBY EXECUTABLE: /gnu/store/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/bin/ruby
    - EXECUTABLE DIRECTORY: /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/bin
    - SPEC CACHE DIRECTORY: /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/specs
    - SYSTEM CONFIGURATION DIRECTORY: /gnu/store/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/etc
    - RUBYGEMS PLATFORMS:
      - ruby
      - x86_64-linux
    - GEM PATHS:
       - /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0
       - /home/admin/.guix-profile/lib/ruby/vendor_ruby
       - /home/admin/.guix-profile/lib/ruby/gems/2.4.0/
    - GEM CONFIGURATION:
       - :update_sources => true
       - :verbose => true
       - :backtrace => false
       - :bulk_threshold => 1000
       - "gem" => "--no-rdoc"
    - REMOTE SOURCES:
       - https://rubygems.org/
    - SHELL PATH:
       - /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/bin
       - /home/admin/src/ds-config/guile/scripts
       - /home/admin/src/ds-config/bin
       - /home/admin/.node_modules/node_modules/.bin
       - /home/admin/.guix-profile/bin
       - /home/admin/src/ds-config/guile/scripts
       - /home/admin/src/ds-config/bin
       - /home/admin/.node_modules/node_modules/.bin
       - /home/admin/.guix-profile/bin
       - /usr/local/sbin
       - /usr/local/bin
       - /usr/bin
       - /usr/lib/jvm/default/bin
       - /usr/bin/site_perl
       - /usr/bin/vendor_perl
       - /usr/bin/core_perl

So I'm in a ruby project. I type `bundle install` to install the gems.

It goes and fetches the missing gems and installs them in /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/

That's great. I fire up the project[3] with:

  [3]: https://gitlab.com/gitlab-com/gitlab-docs (using an older commit
  because ruby25 is not yet in guix repos.

  $ bundle exec nanoc live

  Captain! We’ve been hit!

  LoadError: liblzma.so.5: cannot open shared object file: No such file or directory - /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/nokogiri-1.7.2/lib/nokogiri/nokogiri.so

  $ ldd /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/nokogiri-1.7.2/lib/nokogiri/nokogiri.so
          linux-vdso.so.1 (0x00007ffff6b10000)
          libm.so.6 => /usr/lib/libm.so.6 (0x00007f469080f000)
          libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f469060b000)
          liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f46903e5000)
          libz.so.1 => /usr/lib/libz.so.1 (0x00007f46901ce000)
          libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f468ffb0000)
          libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f468fd78000)
          libc.so.6 => /usr/lib/libc.so.6 (0x00007f468f9c1000)
          /usr/lib64/ld-linux-x86-64.so.2 (0x00007f4690f97000)

Guessing the reason is because it seems to compile against the OS system
and not the "guix system". And that could cause problems?

Other gems also are like this.

  $ ldd /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/ffi-1.9.18/lib/ffi_c.so
          linux-vdso.so.1 (0x00007ffd1bdf1000)
          libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f6af531e000)
          libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f6af5100000)
          libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f6af4efc000)
          libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f6af4cc4000)
          libm.so.6 => /usr/lib/libm.so.6 (0x00007f6af4978000)
          libc.so.6 => /usr/lib/libc.so.6 (0x00007f6af45c1000)
          /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6af574c000)

I could install ruby-nokogiri via guix but that provides 1.8 and I need
1.7. :(

Is there a simple way of getting these gems installed to use guix system
libs so things don't break?
--
Divan

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-02-23 14:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-15 12:46 using guix for ruby development Divan Santana
2018-02-15 12:54 ` Divan Santana
2018-02-16 18:44   ` Marius Bakke
2018-02-23 13:33     ` Divan Santana
2018-02-18 15:15   ` Christopher Baines
2018-02-23 13:42     ` Divan Santana

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.