gettext-tools-libs on macOS Sierra

2022-01-20 Thread Greg Earle

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?

2022-01-20 Thread Gabriel Rosenkoetter
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?

2022-01-20 Thread Gabriel Rosenkoetter

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?

2022-01-20 Thread Kastus Shchuka
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