all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* ripit/perl: use perl_cddb_get package?
@ 2019-11-09  1:31 Sam
  2019-11-09  9:11 ` Marc Chantreux
  0 siblings, 1 reply; 5+ messages in thread
From: Sam @ 2019-11-09  1:31 UTC (permalink / raw)
  To: help-guix

Hey,
so I wanted to use ripit to make backups of my audio cds, but when 
trying to use it at first, it said:

Perl module CDDB_get not found. Needed for
checking the CD-ID and retrieving the CDDB
entry from freeDB.org!
Please install CDDB_get from your closest
CPAN mirror before trying again.
Install by hand or e.g. type as root:
perl -MCPAN -e 'install CDDB_get'

So I obviously installed perl-cddb-get with guix, but the error message 
persisted, and I think installing it the way ripit asks is not the 
"guix-way".
As I never hacked with perl and am pretty new to guix, I am unsure if I 
did something wrong.

Is there anyone who got ripit to work or has pointers?

Thanks
Sam

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

* Re: ripit/perl: use perl_cddb_get package?
  2019-11-09  1:31 ripit/perl: use perl_cddb_get package? Sam
@ 2019-11-09  9:11 ` Marc Chantreux
  2019-11-09 10:47   ` Sam
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Chantreux @ 2019-11-09  9:11 UTC (permalink / raw)
  To: Sam; +Cc: help-guix

hello,

> So I obviously installed perl-cddb-get with guix, but the error message
> persisted, and I think installing it the way ripit asks is not the
> "guix-way".

are you using the good perl interpreter ? (the one provided by guix i
guess?)

        perl -E 'map say, grep -d, @INC'

should provide a direcory that contains CDDB_get.pm

> As I never hacked with perl and am pretty new to guix, I am unsure if I did
> something wrong.

i don't use guix as much as i would like but i'm pretty confortable with
perl :) so i can try to help

marc

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

* Re: ripit/perl: use perl_cddb_get package?
  2019-11-09  9:11 ` Marc Chantreux
@ 2019-11-09 10:47   ` Sam
  2019-11-09 11:24     ` Marc Chantreux
  0 siblings, 1 reply; 5+ messages in thread
From: Sam @ 2019-11-09 10:47 UTC (permalink / raw)
  To: Marc Chantreux; +Cc: help-guix

Hey marc, thanks for answering.

>        perl -E 'map say, grep -d, @INC'
> 
> should provide a direcory that contains CDDB_get.pm
This seems to be the problem, it returned:
$ perl -E 'map say, grep -d, @INC'
/gnu/store/ziinjmbnq004866mwjrczsk12wf35qb8-perl-5.30.0/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi
/gnu/store/ziinjmbnq004866mwjrczsk12wf35qb8-perl-5.30.0/lib/perl5/site_perl/5.30.0
/gnu/store/ziinjmbnq004866mwjrczsk12wf35qb8-perl-5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi
/gnu/store/ziinjmbnq004866mwjrczsk12wf35qb8-perl-5.30.0/lib/perl5/5.30.0

But
$ find /gnu/store/*perl* -iname "CDDB_get.pm"
/gnu/store/7n8rdqbx25801ypj38bywacbicmsc2ns-perl-cddb-get-2.28/lib/perl5/site_perl/5.28.0/CDDB_get.pm
/gnu/store/mg8qgzi0v2his2xld1zkb8x7p5lf3v6m-perl-cddb-get-2.28/lib/perl5/site_perl/5.30.0/CDDB_get.pm

I then copied the perl script and manually pointed to the dir (use lib 
'/gnu/store/mg8qgzi0v2his2xld1zkb8x7p5lf3v6m-perl-cddb-get-2.28/lib/perl5/site_perl/5.30.0/';) 
and the error got replaced by a different one, but with the same cause 
(this time it was about "LWP::Simple", I tried the same trick, but 
apparently this module is not part of perl-http-daemon).
So it seems like the problem is that this perl script package can't see 
the installed perl modules?
I am unsure if this is a bug, thinking about opening an issue because at 
least without cddb_get, the package won't work.

Any input is appreciated.

Thanks,
Sam

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

* Re: ripit/perl: use perl_cddb_get package?
  2019-11-09 10:47   ` Sam
@ 2019-11-09 11:24     ` Marc Chantreux
  2019-12-18 14:22       ` Sam
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Chantreux @ 2019-11-09 11:24 UTC (permalink / raw)
  To: Sam; +Cc: Marc Chantreux, help-guix

> This seems to be the problem, it returned:
> $ perl -E 'map say, grep -d, @INC'
> $ find /gnu/store/*perl* -iname "CDDB_get.pm"
> /gnu/store/7n8rdqbx25801ypj38bywacbicmsc2ns-perl-cddb-get-2.28/lib/perl5/site_perl/5.28.0/CDDB_get.pm
> /gnu/store/mg8qgzi0v2his2xld1zkb8x7p5lf3v6m-perl-cddb-get-2.28/lib/perl5/site_perl/5.30.0/CDDB_get.pm

> So it seems like the problem is that this perl script package can't see the
> installed perl modules?

yes: every module have its own store so perl don't see them
ok. i don't know enough of guix to help on it but from the perl
perspective, a module is available is in @INC which contains:

* a built-in list of standard directories
* the list of directories provided by the $PERL5LIB env variable
  (the awesome local::lib module is very helpful to manage $PERL*
  variables: don't miss it)
* the list of directories hardcoded in the script using `use lib`
  instruction

if guix wants to compete with (or encapsulate) cpan tooling, it needs to
have a way to embrace the 2 most common strategies to install the
things

* installing everything in a directory dedicated for the software
  (this clear separation with the base system and other programs
  makes it easy to install, remove, maintain without breaking anything
  on the host... like containers does)

* installing as much as possible in the standard directories using
  system packages.

it would be very good to reach the point when the combo
perlbrew+cpanm+local::lib (or carton) could be replaced by a guix
counterpart. this is probably the momentum i'm waiting for to replace
my perl toolchain with guix.

for the projects providing cpanfiles, a strategy could be to provide
both a perl version and the installed modules from the perl cpanm
commands in the same store?

also: having a plan9 experience, i would like to arg that the better way
to do that is having a single dir to bind everything we need in it.
that's basically what docker does poorly but i have no experience in
handmade linux namespaces

> Any input is appreciated.

i can help as "someone who knows the perl ecosystem practices" but
i don't know enough about guix.

regards
marc

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

* Re: ripit/perl: use perl_cddb_get package?
  2019-11-09 11:24     ` Marc Chantreux
@ 2019-12-18 14:22       ` Sam
  0 siblings, 0 replies; 5+ messages in thread
From: Sam @ 2019-12-18 14:22 UTC (permalink / raw)
  To: Marc Chantreux; +Cc: help-guix

Thank you for your time, but I am afraid I have wasted it.
The perl module dirs are set in a env variable in bash's files, and for that reason my fish couldn't find them. (Also the syntax isn't compatible so I you to copy them out, which is quite annoying).
So in a way it's fixed now ^^"
Thanks anyway!

Am 9. November 2019 12:24:58 MEZ schrieb Marc Chantreux <eiro@phear.org>:
>> This seems to be the problem, it returned:
>> $ perl -E 'map say, grep -d, @INC'
>> $ find /gnu/store/*perl* -iname "CDDB_get.pm"
>> /gnu/store/7n8rdqbx25801ypj38bywacbicmsc2ns-perl-cddb-get-2.28/lib/perl5/site_perl/5.28.0/CDDB_get.pm
>> /gnu/store/mg8qgzi0v2his2xld1zkb8x7p5lf3v6m-perl-cddb-get-2.28/lib/perl5/site_perl/5.30.0/CDDB_get.pm
>
>> So it seems like the problem is that this perl script package can't see the
>> installed perl modules?
>
>yes: every module have its own store so perl don't see them
>ok. i don't know enough of guix to help on it but from the perl
>perspective, a module is available is in @INC which contains:
>
>* a built-in list of standard directories
>* the list of directories provided by the $PERL5LIB env variable
>  (the awesome local::lib module is very helpful to manage $PERL*
>  variables: don't miss it)
>* the list of directories hardcoded in the script using `use lib`
>  instruction
>
>if guix wants to compete with (or encapsulate) cpan tooling, it needs to
>have a way to embrace the 2 most common strategies to install the
>things
>
>* installing everything in a directory dedicated for the software
>  (this clear separation with the base system and other programs
>  makes it easy to install, remove, maintain without breaking anything
>  on the host... like containers does)
>
>* installing as much as possible in the standard directories using
>  system packages.
>
>it would be very good to reach the point when the combo
>perlbrew+cpanm+local::lib (or carton) could be replaced by a guix
>counterpart. this is probably the momentum i'm waiting for to replace
>my perl toolchain with guix.
>
>for the projects providing cpanfiles, a strategy could be to provide
>both a perl version and the installed modules from the perl cpanm
>commands in the same store?
>
>also: having a plan9 experience, i would like to arg that the better way
>to do that is having a single dir to bind everything we need in it.
>that's basically what docker does poorly but i have no experience in
>handmade linux namespaces
>
>> Any input is appreciated.
>
>i can help as "someone who knows the perl ecosystem practices" but
>i don't know enough about guix.
>
>regards
>marc
>
>

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

end of thread, other threads:[~2019-12-18 14:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-09  1:31 ripit/perl: use perl_cddb_get package? Sam
2019-11-09  9:11 ` Marc Chantreux
2019-11-09 10:47   ` Sam
2019-11-09 11:24     ` Marc Chantreux
2019-12-18 14:22       ` Sam

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.