Re: gettext-tools-libs on macOS Sierra
> On Jan 21, 2022, at 00:05, Greg Earle wrote: [...] > 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 I guess there shouldn't be any C# compiler at play in the first place... -- Peter > On Jan 21, 2022, at 00:05, Greg Earle wrote: > > 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
Re: gettext-tools-libs on macOS Sierra
On Jan 20, 2022, at 17:05, Greg Earle wrote: > Is anyone still using/building on Sierra? Sure. We still produce binaries for Mac OS X 10.6 and later. > it tries to build gettext-tools-libs @0.21_0+universal and croaks. I saw a build failure of one of the gettext subports, might've been gettext-tools-libs, with the universal variant, on the buildbot, but the log had already expired so I couldn't see what was wrong. > Not sure if this is something to file a bug report on in Trac or if it's > operator error on my part? We would need to see the contents of the main.log file to determine what's going on. The best way to provide such a log is by filing a ticket and attaching it there.
Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
On Jan 20, 2022, at 22:12, Gabriel Rosenkoetter wrote: > 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? As was already mentioned, the /opt/local/bin/perl symlink is controlled by the perl5 port, so install it with whatever variant you wish. Unlike most of the other ports like python, php, ruby, and others where you have a choice of version, the perl ports do not use the select mechanism. Modifying them to use the select mechanism (and more specifically modifying every port that currently depends on port:perl5 or path:bin/perl:perl5 to use a specific version of perl) would be a large undertaking, and I'm not sure the benefit would outweigh the drawbacks and the effort involved. https://trac.macports.org/ticket/29763
Re: gettext-tools-libs on macOS Sierra
On 21 Jan 2022, at 4:14, Ryan Schmidt wrote: On Jan 20, 2022, at 17:05, Greg Earle wrote: Not sure if this is something to file a bug report on in Trac or if it's operator error on my part? We would need to see the contents of the main.log file to determine what's going on. The best way to provide such a log is by filing a ticket and attaching it there. OK, thanks Ryan. I'll file a ticket then. It's endlessly repeatable so I still have the main.log file. -- Mac-mini:/ root# ls -l /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 -rw-r--r-- 1 root wheel 763847 Jan 20 14:58 /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 -- - Greg
Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
On 2022-01-21 00:21 EST, Kastus Shchuka wrote: 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. Yep, I understood that, and that's exactly what I would've expected: I just didn't realize that system didn't even have the "meta-port" installed at the beginning of this, and I'm rusty at best on port variants. :^> You need to install perl5 +perl5_34 if you want 5.34. That's *precisely* the syntax I was trying to remember. Thank you! But, I'm confused by the `port info perl5` output after doing that. Is the "[+]" just meant to imply "preferred version" rather than "active version"? That seems… at best confusing…? [5] (gr@wedge:~)% 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 [6] (gr@wedge:~)% sudo port install perl5 +perl5_34 ---> Computing dependencies for perl5 ---> Fetching archive for perl5 ---> Attempting to fetch perl5-5.28.3_0+perl5_34.darwin_20.noarch.tbz2 from https://packages.macports.org/perl5 ---> Attempting to fetch perl5-5.28.3_0+perl5_34.darwin_20.noarch.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/perl5 ---> Attempting to fetch perl5-5.28.3_0+perl5_34.darwin_20.noarch.tbz2 from https://mse.uk.packages.macports.org/perl5 ---> Fetching distfiles for perl5 ---> Verifying checksums for perl5 ---> Extracting perl5 ---> Configuring perl5 ---> Building perl5 ---> Staging perl5 into destroot ---> Installing perl5 @5.28.3_0+perl5_34 ---> Deactivating perl5 @5.28.3_0+perl5_28 ---> Cleaning perl5 ---> Activating perl5 @5.28.3_0+perl5_34 ---> Cleaning perl5 ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. [7] (gr@wedge:~)% 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 [8] (gr@wedge:~)% which perl /opt/local/bin/perl [9] (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. [10] (gr@wedge:~)% -- 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?
On 2022-01-21 05:21 EST, Ryan Schmidt wrote: As was already mentioned, the /opt/local/bin/perl symlink is controlled by the perl5 port, so install it with whatever variant you wish. I had to glance back and forth a couple times there. I… guess you're also "Kastus Shchuka"? :^> Yes, that was exactly the syntax I didn't remember and couldn't recall enough of to locate in the man page. Thank you! Unlike most of the other ports like python, php, ruby, and others where you have a choice of version, the perl ports do not use the select mechanism. Modifying them to use the select mechanism (and more specifically modifying every port that currently depends on port:perl5 or path:bin/perl:perl5 to use a specific version of perl) would be a large undertaking, and I'm not sure the benefit would outweigh the drawbacks and the effort involved. https://trac.macports.org/ticket/29763 Oh, for sure! I'm… also not sure it's even actually a good idea, since, in my experience, Perl is much more flexible about newer versions of `perl` functioning with "out-dated" versions of libraries *and* vice versa than, say, PHP is. (I think maybe Python plays better with date-of-release mismatches?) Ahem: Perl is more flexible, so having more than one version (including whatever Apple deigns to stomp all over `/usr/bin/perl` with in any given release) around only *really* matters in corner cases, even if you take the (questionable: I've made this choice under NetBSD and concluded it was probably a mistake) decision to tell all installed versions about the others' LIBPATHs (while having each version's CPAN module control only its own). By "flexible", I mean it'll *try*, and well-designed modules will keep traversing the library path till they find a version that'll work for them, but that takes some gymnastics few modules implement in the real world. But also that trac ticket's been around for 11 years, and has a lot of interest, including recently, and I'm currently unemployed. So… hm. I only skimmed the ticket just now (and will read it in more detail, because I'm interested), but do you know of prior embarkations down this road? It is, demonstrably (the responses to that ticket), a UI/UX wart. (Feel free to reply to this one privately, or to move the discussion over to macports-dev, if you think either's more appropriate.) -- 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?
On 2022-01-21 20:43 EST, Gabriel Rosenkoetter wrote: On 2022-01-21 05:21 EST, Ryan Schmidt wrote: As was already mentioned, the /opt/local/bin/perl symlink is controlled by the perl5 port, so install it with whatever variant you wish. I had to glance back and forth a couple times there. I… guess you're also "Kastus Shchuka"? :^> Oops! I can't explain why, but I parsed Ryan's first sentence there as "As I already mentioned" rather than what he actually wrote. Apologies, both. Thanks again, both! -- 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?
> On Jan 21, 2022, at 5:42 PM, Gabriel Rosenkoetter wrote: > > On 2022-01-21 00:21 EST, Kastus Shchuka wrote: >> 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. > > Yep, I understood that, and that's exactly what I would've expected: I just > didn't realize that system didn't even have the "meta-port" installed at the > beginning of this, and I'm rusty at best on port variants. :^> > >> You need to install perl5 +perl5_34 if you want 5.34. > > That's *precisely* the syntax I was trying to remember. Thank you! > > But, I'm confused by the `port info perl5` output after doing that. Is the > "[+]" just meant to imply "preferred version" rather than "active version"? > That seems… at best confusing…? > "port info" gives you information about existing variants of the port, not what you have installed. "[+]" means deafault variant which is used if you do not specify any variants. If you want to see what you actually installed, the syntax is "port installed and perl5" This is for example what I have: $ port installed and perl5 The following ports are currently installed: perl5 @5.26.1_0+perl5_28 perl5 @5.28.3_0+perl5_28 perl5 @5.28.3_0+perl5_30 (active) If you want to see just the active port, you may trim down the output like this: $ port installed and active and perl5 The following ports are currently installed: perl5 @5.28.3_0+perl5_30 (active) Hope this helps to reduce confusion. -Kastus
Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
On 2022-01-21 23:48 EST, Kastus Shchuka wrote: If you want to see just the active port, you may trim down the output like this: $ port installed and active and perl5 The following ports are currently installed: perl5 @5.28.3_0+perl5_30 (active) Hope this helps to reduce confusion. Thank you! It does! I think the [+] label, in the output of `port info ` is a confusing UI/UX choice, especially in the context of the + as an argument to `port install +_version` to request activation of a specific Port version. I think displaying the default/anticipated version makes a lot of sense, I'm just saying the way that's expressed (and that the currently "active" version isn't expressed at all in *that* output) is confusing. That is: I think using + both to say "install this version" and "regardless of what's active, our default would've been this" is a confusing conflation of symbols. Maybe `port info …` should use another symbol (*?) there, and should display the active version by bracketing the version name? That is, manually editing the output I posted earlier, maybe this format would be more clear: [7] (gr@wedge:~)% 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] … * version standard, [bracketed] version active I didn't edit the first line there because I haven't (yet) looked at the code, so I don't understand where it's coming from. I'm confused about why that'd read "perl5 @5.28.3 (lang)" rather than "perl5 @5.34.0 (lang)" on the system in question. I guess that's an expression (by way of a DB query) of what a future `port install` would presume was available, but I don't think it's an accurate expression of what the installed software should expect to find out of `env perl`. Do I continue to miss something here? (I'm amply aware of the mechanisms available to write and suggest this alternate display through a pull request. I'm sending email instead to ask whether other people agree with my UX confusion and plausible change.) -- 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?
I am afraid there is still confusion about port info action. According to the man page, it merely "Displays meta-information available for portname". This information comes from port definition, not from port installation. You may run "port info" on any port, regardless whether it is installed or not, and see that output. Port may be defined with multiple variants, and some of them may be pre-selected as defaults for the port, and will be used when port is installed without any explicit variants. Port info has nothing to do with a port that you installed. If you want to see what variants a port was installed with, you have to use "installed" or "active" pseudo-portname: `` The pseudo-portnames are: o all: all the ports in each ports tree listed in sources.conf o current: the port in the current working directory o active: set of installed and active ports o inactive: set of installed but inactive ports o installed: set of all installed ports '' Please note a clash of terms as there is port action "installed" and port pseudo-portname "installed". That is why "port installed" is a valid syntax ("installed" is an action here), while "port active" is not. You have to use action "echo" with "active", like "port echo active". $ port active and perl5 Error: Unrecognized action "port active" $ port echo active and perl5 perl5 @5.28.3_0+perl5_30 $ man port $ port echo installed and perl5 perl5 @5.26.1_0+perl5_28 perl5 @5.28.3_0+perl5_28 perl5 @5.28.3_0+perl5_30 > On Jan 21, 2022, at 9:32 PM, Gabriel Rosenkoetter wrote: > > On 2022-01-21 23:48 EST, Kastus Shchuka wrote: >> If you want to see just the active port, you may trim down the output like >> this: >> $ port installed and active and perl5 >> The following ports are currently installed: >> perl5 @5.28.3_0+perl5_30 (active) >> Hope this helps to reduce confusion. > > Thank you! > > It does! > > I think the [+] label, in the output of `port info ` is a confusing > UI/UX choice, especially in the context of the + as an argument to `port > install +_version` to request activation of a specific Port > version. > > I think displaying the default/anticipated version makes a lot of sense, I'm > just saying the way that's expressed (and that the currently "active" version > isn't expressed at all in *that* output) is confusing. > "port info" does not know if port is installed or not, and it does not care about it. It queries port definition, not an installed port. > That is: I think using + both to say "install this version" and "regardless > of what's active, our default would've been this" is a confusing conflation > of symbols. > > Maybe `port info …` should use another symbol (*?) there, and should display > the active version by bracketing the version name? > > That is, manually editing the output I posted earlier, maybe this format > would be more clear: > > [7] (gr@wedge:~)% 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] > … > * version standard, [bracketed] version active > > I didn't edit the first line there because I haven't (yet) looked at the > code, so I don't understand where it's coming from. I'm confused about why > that'd read "perl5 @5.28.3 (lang)" rather than "perl5 @5.34.0 (lang)" on the > system in question. > 5.28.3 is the version of the wrapper port perl5 which merely creates symlinks to a particular version of perl installed via perl5.30 or perl5.34 port. As any port it has to have some version, but it has nothing to do with real perl port installed. > I guess that's an expression (by way of a DB query) of what a future `port > install` would presume was available, but I don't think it's an accurate > expression of what the installed software should expect to find out of `env > perl`. > > Do I continue to miss something here? > I am afraid, yes. The difference between meta-information about a port and installed port. > (I'm amply aware of the mechanisms available to write and suggest this > alternate display through a pull request. I'm sending email instead to ask > whether other people agree with my UX confusion and plausible change.) > > -- > Gabriel Rosenkoetter (he/him) > g...@eclipsed.net
Re: What have I forgotten about specifying which Perl should be /opt/local/bin/perl?
On 2022-01-22 01:28 EST, Kastus Shchuka wrote: Please note a clash of terms as there is port action "installed" and port pseudo-portname "installed". That is why "port installed" is a valid syntax ("installed" is an action here), while "port active" is not. You have to use action "echo" with "active", like "port echo active". $ port active and perl5 Error: Unrecognized action "port active" $ port echo active and perl5 perl5 @5.28.3_0+perl5_30 $ man port $ port echo installed and perl5 perl5 @5.26.1_0+perl5_28 perl5 @5.28.3_0+perl5_28 perl5 @5.28.3_0+perl5_30 You see how this is at best confusing and at worst user-antagonistic, right? -- Gabriel Rosenkoetter (he/him) g...@eclipsed.net OpenPGP_signature Description: OpenPGP digital signature