Thanks for this advice.
Something else for me to consider.


Mike


On 10/21/19 11:53 AM, Michael R. Davis wrote:
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 <[email protected]> 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 <[email protected] <mailto:[email protected]>> 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
    [email protected] <mailto:[email protected]>
    https://mail.pm.org/mailman/listinfo/houston
    Website: http://houston.pm.org/

_______________________________________________
Houston mailing list
[email protected] <mailto:[email protected]>
https://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

_______________________________________________
Houston mailing list
[email protected]
https://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

Reply via email to