[pm-h] Perl on Linux Mint

Michael R. Davis mrdvt92 at yahoo.com
Mon Oct 21 09:53:52 PDT 2019


Mike,
> I make it a point to never touch "The System Perl" since it is used by the operating system
I concur with this.
> cpan[5]> install Geo::Coordinates::DecimalDegrees> I would strongly recommend leveraging Perlbrew.

However, I personally do not recommend either of these processes this for enterprise systems.  In an enterprise, a different team will update the OS stack for patching much more frequently than the application team.  
I recommend using the OS provided Perl version and work around any missing capabilities.  Then I recommend that you build/find packages for all of the CPAN modules that you need and put them in a YUM/APT repository. Finally, I recommend that you also package your own application.
We use RPMs which are easy to create. I use the EPEL repository which has just about all of the Perl package we need.  Any others can normally be built with cpanspec -b.  Then for my application-level RPMs, I have a Makefile that can build my RPM with a simple `make rpm` command wrapper around tar and rpmbuild.  
In our enterprise, we cannot install on a production server directly from the internet so, `cpan install` would not work anyway and there is a chance that the code installed is not the version that went through QA and will most likely not be the same version when the server needs to be rebuilt in a year.  
Remember, any packages that you build are supported by your team. Any packages that the OS/Security team installs are support by them!  So, try to reuse as much code as possible from the supported OS teams repositories.

Michael R. Davis 

    On Sunday, October 20, 2019, 03:12:28 PM EDT, Robert Stone <drzigman at drzigman.com> wrote:  
 
 Greetings,
I would strongly recommend leveraging Perlbrew.
I make it a point to never touch "The System Perl" since it is used by the operating system.  It's actually surprising how many command lines tools are actually perl under the hood, I find it best to leave it alone.
I generally set up a perlbrew instance for my user account and do my dev that way.  Hope that helps!
Best Regards,Robert Stone
On Sun, Oct 20, 2019 at 9:07 AM Mike Flannigan <mikeflan at att.net> wrote:


I am on Linux Mint now and have the base Perl install:
perl 5, version 26, subversion 1 (v5.26.1) built for 
x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)

I want to install modules and am having trouble (see far below).

Maybe I can work out that trouble, but I want to ask
you'all how I should set up my system.  Just use what
I have (5.26.1) or install PerlBrew and perhaps some
other Perl version?

If I ever do get a module installed, can you tell me where
they will reside?  usr/bin has no folders at all.
Oddly, usr/lib does not have a perl folder in it either.
usr/share/perl has a "5.26" directory and "5.26.1" directory.


Mike


cpan[5]> install Geo::Coordinates::DecimalDegrees
Running install for module 'Geo::Coordinates::DecimalDegrees'
Fetching with LWP:
http://www.cpan.org/authors/id/W/WA/WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/W/WA/WALTMAN/CHECKSUMS
Checksum for 
/home/mike/.cpan/sources/authors/id/W/WA/WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz 
ok
Configuring W/WA/WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz with 
Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Test::Number::Delta 0 not found.
Generating a Unix-style Makefile
Writing Makefile for Geo::Coordinates::DecimalDegrees
Writing MYMETA.yml and MYMETA.json
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for W/WA/WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
----      Unsatisfied dependencies detected during      ----
---- WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz ----
     Test::Number::Delta [requires]
Running install for module 'Test::Number::Delta'
Fetching with LWP:
http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/D/DA/DAGOLDEN/CHECKSUMS
Checksum for 
/home/mike/.cpan/sources/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz 
ok
Configuring D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Number::Delta
Writing MYMETA.yml and MYMETA.json
   DAGOLDEN/Test-Number-Delta-1.06.tar.gz
   /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz
cp lib/Test/Number/Delta.pm blib/lib/Test/Number/Delta.pm
Manifying 1 pod document
   DAGOLDEN/Test-Number-Delta-1.06.tar.gz
   /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" 
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 
'blib/lib', 'blib/arch')" t/*.t
t/00-report-prereqs.t .............. #
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 7.24
#
# === Build Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.24
#
# === Test Requires ===
#
#     Module                Want     Have
#     --------------------- ---- --------
#     ExtUtils::MakeMaker    any     7.24
#     File::Spec             any     3.67
#     Test::Builder::Tester 1.02 1.302073
#     Test::More             any 1.302073
#
# === Test Recommends ===
#
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
#     Module        Want     Have
#     ------------- ---- --------
#     Carp           any     1.42
#     Exporter       any     5.72
#     Test::Builder  any 1.302073
#     strict         any     1.11
#     vars           any     1.03
#     warnings       any     1.37
#
t/00-report-prereqs.t .............. ok
t/01-module-basics.t ............... ok
t/02-delta.t ....................... ok
t/03-specify_epsilon.t ............. ok
t/04-specify_relative.t ............ ok
t/05-check_bad_param.t ............. ok
t/06-plan_passthrough.t ............ ok
t/07-noplan_passthrough.t .......... ok
t/08-param_and_plan_passthrough.t .. ok
t/09-bad_param_plan_order.t ........ ok
t/10-specify_negative_epsilon.t .... ok
t/11-specify_negative_relative.t ... ok
All tests successful.
Files=12, Tests=72,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.35 cusr  
0.05 csys =  0.43 CPU)
Result: PASS
   DAGOLDEN/Test-Number-Delta-1.06.tar.gz
   /usr/bin/make test -- OK
Running make install
Manifying 1 pod document
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man/man3: Permission denied at 
/usr/share/perl/5.26/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  at -e line 1.
Makefile:733: recipe for target 'pure_site_install' failed
make: *** [pure_site_install] Error 13
   DAGOLDEN/Test-Number-Delta-1.06.tar.gz
   /usr/bin/make install  -- NOT OK
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   Has already been unwrapped into directory 
/home/mike/.cpan/build/Geo-Coordinates-DecimalDegrees-0.09-0
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   Has already been prepared
Running make for W/WA/WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
cp DecimalDegrees.pm blib/lib/Geo/Coordinates/DecimalDegrees.pm
Manifying 1 pod document
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" 
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 
'blib/lib', 'blib/arch')" t/*.t
t/0-signature.t .. skipped: Set the environment variable TEST_SIGNATURE 
to enable this test.
t/1.t ............ ok
t/2.t ............ ok
t/pod.t .......... skipped: Test::Pod v0.95 required for testing POD
All tests successful.
Files=4, Tests=58,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.10 cusr  
0.00 csys =  0.12 CPU)
Result: PASS
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   /usr/bin/make test -- OK
Running make install
Manifying 1 pod document
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man/man3: Permission denied at 
/usr/share/perl/5.26/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  at -e line 1.
Makefile:708: recipe for target 'pure_site_install' failed
make: *** [pure_site_install] Error 13
   WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz
   /usr/bin/make install  -- NOT OK
Failed during this command:
  DAGOLDEN/Test-Number-Delta-1.06.tar.gz       : install NO
  WALTMAN/Geo-Coordinates-DecimalDegrees-0.09.tar.gz: install NO
_______________________________________________
Houston mailing list
Houston at pm.org
https://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

_______________________________________________
Houston mailing list
Houston at pm.org
https://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.pm.org/pipermail/houston/attachments/20191021/3cea86bf/attachment-0001.html>


More information about the Houston mailing list