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
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
Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
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 /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 Er
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