From mboxrd@z Thu Jan 1 00:00:00 1970 From: Divan Santana Subject: using guix for ruby development Date: Thu, 15 Feb 2018 14:46:05 +0200 Message-ID: <87a7wato8i.fsf@santanas.co.za> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39677) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emJP6-00077U-7W for help-guix@gnu.org; Thu, 15 Feb 2018 08:16:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emJP3-0001W8-Hz for help-guix@gnu.org; Thu, 15 Feb 2018 08:16:48 -0500 Received: from outmail149081.authsmtp.net ([62.13.149.81]:25972) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1emJP3-0001Vp-6B for help-guix@gnu.org; Thu, 15 Feb 2018 08:16:45 -0500 Received: from mail-c247.authsmtp.com (mail-c247.authsmtp.com [62.13.128.247]) by punt21.authsmtp.com. (8.15.2/8.15.2) with ESMTP id w1FCkUXa075626 for ; Thu, 15 Feb 2018 12:46:30 GMT (envelope-from divan@santanas.co.za) Received: from mail.santanas.co.za ([156.0.193.126]) (authenticated bits=0) by mail.authsmtp.com (8.15.2/8.15.2) with ESMTPSA id w1FCkRNP003326 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 15 Feb 2018 12:46:29 GMT (envelope-from divan@santanas.co.za) Received: from authenticated-user (mail.santanas.co.za [156.0.193.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.santanas.co.za (Postfix) with ESMTPSA id D6D3120689 for ; Thu, 15 Feb 2018 14:46:23 +0200 (SAST) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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-e= nv 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/sx7ih0vgp7q8zj7k58xjvnp3yg= hig0ll-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/sx7ih0vgp7q8zj7k58xjvnp3yghi= g0ll-ruby-2.4.3/2.4.0/bin - SPEC CACHE DIRECTORY: /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghi= g0ll-ruby-2.4.3/specs - SYSTEM CONFIGURATION DIRECTORY: /gnu/store/sx7ih0vgp7q8zj7k58xjvnp3= yghig0ll-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 =3D> true - :verbose =3D> true - :backtrace =3D> false - :bulk_threshold =3D> 1000 - "gem" =3D> "--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/.ge= m/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=E2=80=99ve been hit! LoadError: liblzma.so.5: cannot open shared object file: No such file o= r 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 =3D> /usr/lib/libm.so.6 (0x00007f469080f000) libdl.so.2 =3D> /usr/lib/libdl.so.2 (0x00007f469060b000) liblzma.so.5 =3D> /usr/lib/liblzma.so.5 (0x00007f46903e5000) libz.so.1 =3D> /usr/lib/libz.so.1 (0x00007f46901ce000) libpthread.so.0 =3D> /usr/lib/libpthread.so.0 (0x00007f468ffb00= 00) libcrypt.so.1 =3D> /usr/lib/libcrypt.so.1 (0x00007f468fd78000) libc.so.6 =3D> /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 =3D> /usr/lib/libffi.so.6 (0x00007f6af531e000) libpthread.so.0 =3D> /usr/lib/libpthread.so.0 (0x00007f6af51000= 00) libdl.so.2 =3D> /usr/lib/libdl.so.2 (0x00007f6af4efc000) libcrypt.so.1 =3D> /usr/lib/libcrypt.so.1 (0x00007f6af4cc4000) libm.so.6 =3D> /usr/lib/libm.so.6 (0x00007f6af4978000) libc.so.6 =3D> /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