Re: ripit/perl: use perl_cddb_get package?
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 : >> 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 > >
Re: ripit/perl: use perl_cddb_get package?
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
ripit/perl: use perl_cddb_get package?
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
Boost with C++14
Hi all, When compiling my own code with gcc 8.2.0 I get "undefined reference to `boost::system::detail::generic_category_instance'" unless I use -std=c++11. Word on the net is that I need to use boost libraries compiled for C++14. 'guix edit boost' shows boost and boost-cxx14 packages. I see that other packages use the latter with (inputs `((boost ,boost-cxx14))). How do I link the C++14 variant with my code? Thanks.