Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
You got the link /opt/local/bin/perl -> perl5.28 from the default variant of perl5 as you did not specify which variant you wanted. $ port info perl5 perl5 @5.28.3 (lang) Sub-ports:perl5.16, perl5.18, perl5.20, perl5.22, perl5.24, perl5.26, perl5.28, perl5.30, perl5.32, perl5.34 Variants: perl5_26, [+]perl5_28, perl5_30, perl5_32, perl5_34 Description: Wrapper port for Perl 5.x Homepage: https://www.perl.org/ Library Dependencies: perl5.28 Platforms:darwin, freebsd, linux License: (Artistic-1 or GPL) Maintainers: Email: mo...@macports.org, GitHub: mojca Policy: openmaintainer You need to install perl5 +perl5_34 if you want 5.34. > On Jan 20, 2022, at 8:12 PM, Gabriel Rosenkoetter wrote: > > Aha! > > I didn't have the perl5 port installed on this system at all, just the > several perl5.xx ports. So I did `sudo port install perl5`. > > And that's neat, but: > > [58] (gr@wedge:~)% which perl > /opt/local/bin/perl > [59] (gr@wedge:~)% ls -l `!!` > ls -l `which perl` > lrwxr-xr-x 1 root admin 8 Dec 6 2020 /opt/local/bin/perl -> perl5.28 > [60] (gr@wedge:~)% > > And `port select --summary` is still just Python stuff: > > [60] (gr@wedge:~)% port select --summary > Name Selected Options > === > pip pip37 pip3-apple none > pip2 none none > pip3 none pip3-apple none > python none python27 python27-apple python37 python38-apple python39 > none > python2 none python27 python27-apple none > python3 python37 python37 python38-apple python39 none > [61] (gr@wedge:~)% sudo port select --list perl > Warning: Unable to get active selected version: The specified group 'perl' > does not exist. > Error: The 'list' command failed: The specified group 'perl' does not exist. > [62] (gr@wedge:~)% sudo port select --list perl5 > Warning: Unable to get active selected version: The specified group 'perl5' > does not exist. > Error: The 'list' command failed: The specified group 'perl5' does not exist. > [63] (gr@wedge:~)% sudo port select --set perl perl5.34 > Selecting 'perl5.34' for 'perl' failed: The specified group 'perl' does not > exist. > [64] (gr@wedge:~)% sudo port select --set perl5 perl5.34 > Selecting 'perl5.34' for 'perl5' failed: The specified group 'perl5' does not > exist. > [65] (gr@wedge:~)% > > Does the Perl port not support version selection this way, or am I still not > remembering the right way to do this? > > For example, is the user expected to create their own perl (or perl5) group? > > Shouldn't installing the port at least plug some defaults in for those > entries? > > I'm eminently aware that Perl and Python behave differently wrt module > support, but shouldn't MacPorts at least try to provide a consistent > interface across them? > > I just did this for now: > > [69] (gr@wedge:~)% sudo ln -sf /opt/local/bin/perl5.34 /opt/local/bin/perl > Password: > [70] (gr@wedge:~)% which perl > /opt/local/bin/perl > [71] (gr@wedge:~)% perl --version > > This is perl 5, version 34, subversion 0 (v5.34.0) built for > darwin-thread-multi-2level > > Copyright 1987-2021, Larry Wall > > Perl may be copied only under the terms of either the Artistic License or the > GNU General Public License, which may be found in the Perl 5 source kit. > > Complete documentation for Perl, including FAQ lists, should be found on > this system using "man perl" or "perldoc perl". If you have access to the > Internet, point your browser at http://www.perl.org/, the Perl Home Page. > > [72] (gr@wedge:~)% > > But I expect that'll bite me in the ass when I upgrade the perl5 port…? > > On 2022-01-20 21:57 EST, Gabriel Rosenkoetter wrote: >> I just did a `sudo port install perl5.34`, anticipating that doing so would >> "activate" it (and the build output indicated that step was taken), >> presumably bumping the /opt/local/bin/perl sym link to the new version and… >> apparently that was the wrong thing to assume, since that sym link no longer >> exists on this system? >> [31] (gr@wedge:~)% which perl >> /usr/bin/perl >> [32] (gr@wedge:~)% echo $PATH >> /Users/gr/bin:/opt/local/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:/opt/local/sbin:/usr/libexec:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support:/usr/local/MacGPG2/bin >> [33] (gr@wedge:~)% port installed |egrep '^ *perl5' >> perl5.26 @5.26.3_4 >> perl5.26 @5.26.3_6 (active) >> perl5.28 @5.28.3_1 >> perl5.28 @5.28.3_4 (active) >> perl5.34 @5.34.0_2 (active) >> [34] (gr@wedge:~)% ls /opt/local/bin/perl* >> /opt/local/bin/perl5.26/opt/local/bin/perldoc-5.26 >> /opt/local/bin/perl5.26.3/opt/local/bin/perldoc-5.28 >> /opt/local/bin/perl5.28/opt/local/bin/perldoc-5.34 >> /opt/local/bin/perl5.28.3/opt/local/bin/perlivp-5.26 >> /opt/local/bin/perl5.34/opt/local/bin/perlivp-5.28
What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
I just did a `sudo port install perl5.34`, anticipating that doing so would "activate" it (and the build output indicated that step was taken), presumably bumping the /opt/local/bin/perl sym link to the new version and… apparently that was the wrong thing to assume, since that sym link no longer exists on this system? [31] (gr@wedge:~)% which perl /usr/bin/perl [32] (gr@wedge:~)% echo $PATH /Users/gr/bin:/opt/local/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:/opt/local/sbin:/usr/libexec:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support:/usr/local/MacGPG2/bin [33] (gr@wedge:~)% port installed |egrep '^ *perl5' perl5.26 @5.26.3_4 perl5.26 @5.26.3_6 (active) perl5.28 @5.28.3_1 perl5.28 @5.28.3_4 (active) perl5.34 @5.34.0_2 (active) [34] (gr@wedge:~)% ls /opt/local/bin/perl* /opt/local/bin/perl5.26 /opt/local/bin/perldoc-5.26 /opt/local/bin/perl5.26.3 /opt/local/bin/perldoc-5.28 /opt/local/bin/perl5.28 /opt/local/bin/perldoc-5.34 /opt/local/bin/perl5.28.3 /opt/local/bin/perlivp-5.26 /opt/local/bin/perl5.34 /opt/local/bin/perlivp-5.28 /opt/local/bin/perl5.34.0 /opt/local/bin/perlivp-5.34 /opt/local/bin/perlbug-5.26 /opt/local/bin/perlthanks-5.26 /opt/local/bin/perlbug-5.28 /opt/local/bin/perlthanks-5.28 /opt/local/bin/perlbug-5.34 /opt/local/bin/perlthanks-5.34 [35] (gr@wedge:~)% Should Perl show up in `port --select summary`? The only ports (that I have installed) that I see subscribing to that mechanism are Python: [36] (gr@wedge:~)% port select --summary Name Selected Options === pip pip37 pip3-apple none pip2 none none pip3 none pip3-apple none python none python27 python27-apple python37 python38-apple python39 none python2 none python27 python27-apple none python3 python37 python37 python38-apple python39 none [37] (gr@wedge:~)% I wouldn't expect any of this to change things (and it does not): [41] (gr@wedge:~)% sudo port activate perl5.34 ---> Computing dependencies for perl5.34 ---> Cleaning perl5.34 [42] (gr@wedge:~)% sudo port activate perl Error: port activate failed: Registry error: perl is not installed. [43] (gr@wedge:~)% sudo port install perl Error: Port perl not found [44] (gr@wedge:~)% What am I forgetting here? Has the Perl port never done that, and I've just "always" had an /opt/local/bin/perl sym link I maintained manually? (If so, why'd it get removed by installing a new version?) -- Gabriel Rosenkoetter (he/him) g...@eclipsed.net OpenPGP_signature Description: OpenPGP digital signature
gettext-tools-libs on macOS Sierra
Is anyone still using/building on Sierra? I've got a 2012 Mac mini that's frozen on Sierra (obsolete FireWire device/driver) with gettext @0.19.8.1_2+universal gettext-runtime @0.21_0+universal (active) gettext-tools-libs @0.21_0 (active) If I try to update anything that has a gexttext-tools-libs dependency in its tree (like gettext, glib2 and graphviz), it tries to build gettext-tools-libs @0.21_0+universal and croaks. Tried to clean both gettext and gettext-tools-libs but it still croaks. I then uninstalled gettext-tools-libs @0.21_0 but still get the same error(s). Not sure if this is something to file a bug report on in Trac or if it's operator error on my part? - Greg P.S. Build errors follow: -- ---> Computing dependencies for gettext ---> Dependencies to be installed: gettext-tools-libs [...] ---> Configuring gettext-tools-libs Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: re_search: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log re_compile_pattern: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log re_set_syntax: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log MIN: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log free: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log re_match: found in gettext-0.21-i386/gettext-tools/config.log, gettext-0.21-x86_64/gettext-tools/config.log ---> Building gettext-tools-libs Error: Failed to build gettext-tools-libs: command execution failed Error: See /opt/local/var/macports/logs/_private_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gettext/gettext-tools-libs/main.log for details. [...] ---> Computing dependencies for graphviz ---> Dependencies to be installed: gettext Error: Requested variants "" do not match those the build was started with: "+universal". Error: Please use the same variants again, or run 'port clean gettext' first to remove the existing partially completed build. Error: See /opt/local/var/macports/logs/_private_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gettext/gettext/main.log for details. Error: Unable to exec port: can't create directory "/private/opt/local/var/macports/build/_private_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_zvbi": permission denied Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. My-Mac-mini:/ root# egrep " Error |build error" /opt/local/var/macports/logs/_private_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gettext/gettext-tools-libs/main.log :info:build error CS0006: Metadata file `GNU.Gettext' could not be found :info:build make[3]: *** [msgunfmt.net.exe] Error 1 :info:build make[2]: *** [all] Error 2 :info:build make[1]: *** [all-recursive] Error 1 :info:build make: *** [all] Error 2 :debug:build Error code: NONE