nvi port on Ventura
I got an MBP modern enough to run Ventura. (My workhorse MBA cannot go above High Sierra). For my personal needs I prefer nvi over vim that comes with macOS. This is my daily driver on MBA. I can build nvi on High Sierra just fine, also binary package for High Sierra is available from buildbots. When I tried to install nvi on Ventura, first I noticed absence of binary package. Next, my attempt to build port failed miserably. I also found ticket #64197 on trac. My first instinct was to try clang of the same version as on High Sierra (clang-9.0), but that did not make any change. Build was still failing. Then I checked nvi on homebrew and found out that it builds there on all macOS versions and they have binaries available. Homebrew formula adds this flag to configure: # Xcode 12 needs the "-Wno-implicit-function-declaration" to compile successfully # The usual trick of setting $CFLAGS in the environment doesn't work for this # configure file though, but specifying an explicit CC setting does system "./configure", "--prefix=#{prefix}", "--program-prefix=n", "--disable-dependency-tracking", "CC=" + ENV.cc + " -Wno-implicit-function-declaration" This got me over the error "implicit declaration of function 'conv_enc'", but the build was still breaking on the linking step. What I found next was that configure script populates libtool with correct setting of allow_undefined_flag on High Sierra, but not on Ventura. Apparently, the logic in configure works for MACOSX_DEPLOYMENT_TARGET 10.* but not on any higher versions of macOS. I guess homebrew works around it by running autoreconfigure, but I was unsuccessful in that as it complained about missing configure.ac file. So my crude fix was a patch for configure script (with appropriate adjustments to the portfile). With this patch I was able to build nvi, and it is quite usable (in my limited testing) I commented on my findings in https://trac.macports.org/ticket/64197. Thanks, Kastus
ports.tar owner/group
Hi. After running port sync I see files extracted from ports.tar owned by a non-existent group with numerical id 505: $ ls -l /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ total 474776 -rw-r--r-- 1 root admin 20472245 Apr 30 17:46 PortIndex -rw-r--r-- 1 root admin512 Apr 30 18:29 PortIndex.rmd160 drwxr-xr-x 30 root 505 960 Jan 30 18:30 base -rw-r--r-- 1 root admin 114272256 Jan 30 18:51 base.tar -rw-r--r-- 1 root admin512 Jan 30 18:51 base.tar.rmd160 drwxr-xr-x 65 root 505 2080 Apr 30 19:21 ports -rw-r--r-- 1 root admin 108322816 Apr 30 18:29 ports.tar -rw-r--r-- 1 root admin512 Apr 30 18:29 ports.tar.rmd160 All files in ports.tar are owned by buildbot:buildbot or numerically 500/505. drwxr-xr-x 0 buildbot buildbot0 Mar 29 17:36 ports/ -rw-r--r-- 0 buildbot buildbot 234 Nov 16 2020 ports/.gitattributes drwxr-xr-x 0 buildbot buildbot0 Nov 26 10:09 ports/.github/ -rw-r--r-- 0 buildbot buildbot 84 Nov 16 2020 ports/.gitignore -rw-r--r-- 0 buildbot buildbot 1476 Mar 29 17:36 ports/.mailmap -rw-r--r-- 0 buildbot buildbot 1996 Feb 8 23:57 ports/LICENSE drwxr-xr-x 0 500505 0 Mar 29 17:36 ports/ -rw-r--r-- 0 500505 234 Nov 16 2020 ports/.gitattributes drwxr-xr-x 0 500505 0 Nov 26 10:09 ports/.github/ -rw-r--r-- 0 50050584 Nov 16 2020 ports/.gitignore -rw-r--r-- 0 500505 1476 Mar 29 17:36 ports/.mailmap -rw-r--r-- 0 500505 1996 Feb 8 23:57 ports/LICENSE As I don't have local user with id 500 and neither I have group with id 505, I end up with files owned by unknown group. I think it is a side effect of extracting ports.tar by user root which can preserve original numeric ids. I wonder if extracted tarball should be forced to root:admin ownership after extraction. Or do I need to create local user buildbot:buildbot (500:505) to continue using binary packages? Thanks, Kastus
p5-net-ssleay dependency on openssl
My "port upgrade outdated" choked today on p5.30-net-ssleay: $ sudo port upgrade outdated ---> Computing dependencies for openssl Error: Can't install openssl because conflicting ports are active: libressl Error: Problem while installing openssl Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Debug shows this: DEBUG: p5.30-net-ssleay 1.920.0_1 exists in the ports tree DEBUG: p5.30-net-ssleay 1.920.0_0 is the latest installed DEBUG: p5.30-net-ssleay 1.920.0_0 is active DEBUG: Merging existing requested variants '' into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-net-ssleay DEBUG: OS darwin/17.7.0 (macOS 10.13.6) arch i386 DEBUG: Re-registering default for configure.universal_args DEBUG: Sourcing PortGroup perl5 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/perl5-1.0.tcl DEBUG: Re-registering default for livecheck.version DEBUG: adding the default universal variant DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Running callback portstartupitem::add_notes DEBUG: Finished running callback portstartupitem::add_notes DEBUG: Fetching p5.30-net-ssleay-1.920.0_1.darwin_17.x86_64.tbz2 archive size DEBUG: openssl is *not* installed by MacPorts DEBUG: Searching for dependency: openssl DEBUG: Didn't find receipt, going to depspec regex for: openssl DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/openssl DEBUG: OS darwin/17.7.0 (macOS 10.13.6) arch i386 DEBUG: Sourcing PortGroup compiler_wrapper 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/compiler_wrapper-1.0.tcl DEBUG: Sourcing PortGroup openssl 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/openssl-1.0.tcl DEBUG: openssl: Set OpenSSL Branch dependency 3 DEBUG: openssl: configure_proc set : Configure '' DEBUG: adding the default universal variant DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Running callback portstartupitem::add_notes DEBUG: Finished running callback portstartupitem::add_notes DEBUG: Running callback compwrap::configure_envs DEBUG: Finished running callback compwrap::configure_envs DEBUG: Running callback openssl::set_openssl_dependency DEBUG: openssl: Set OpenSSL Branch dependency 3 DEBUG: Finished running callback openssl::set_openssl_dependency DEBUG: Running callback openssl::check_for_cmake DEBUG: Finished running callback openssl::check_for_cmake DEBUG: Running callback openssl::configure_build DEBUG: Finished running callback openssl::configure_build DEBUG: Fetching openssl-3_10.darwin_17.x86_64.tbz2 archive size DEBUG: epoch: in tree: 0 installed: 0 DEBUG: openssl3 3.1.0_3 exists in the ports tree DEBUG: openssl3 3.1.0_3 is the latest installed DEBUG: openssl3 3.1.0_3 is active DEBUG: Merging existing requested variants '' into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/openssl3 DEBUG: OS darwin/17.7.0 (macOS 10.13.6) arch i386 DEBUG: Sourcing PortGroup compiler_blacklist_versions 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl DEBUG: Sourcing PortGroup muniversal 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Sourcing PortGroup legacysupport 1.1 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/legacysupport-1.1.tcl DEBUG: legacysupport: Will append MACPORTS_LEGACY_SUPPORT_DISABLED=1 to extract.env DEBUG: legacysupport: Will append MACPORTS_LEGACY_SUPPORT_DISABLED=1 to configure.env DEBUG: legacysupport:
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 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?
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
is macports getting rusty?
Dear macports users, Recently, more and more ports began to depend on rust and cargo. Maybe rust is a wonderful language that will solve all problems of the world. I just wonder, if it is so good, why it takes forever and a day (literally) to compile? I've never seen anything taking that long to build. I've been using graphviz port for over 10 years, I guess. I had to delete it today. graphviz depends on gd2. gd2 depends on libheif. libheif depends on rav1e. Now rav1e started depending on cargo-c, nasm, clang-13, cargo. An attempt to upgrade rav1e launched a build of cargo-c which I had to kill as I did not have luxary to wait for tens of hours for it to finish. I either have to keep outdated ports or stop using them and delete. Unfortunately, the usable surface of macports started shrinking for me (or should I call it "rusting"?). Another example is py-cryptography, which now requires rust to build. Until binary package was made available, it took me over a day to upgrade py-cryptography. I also now have a broken ImageMagic because its dependency chain pulls in rust. And the list goes on and on. I doubt people who rushed rust into macports are going to reconsider their decisions. I am just sharing my experience with this "rusting" Thank you for reading. -Kastus
Re: port cannot fetch because of expired cert, but cert is OK according to Safari, curl (question related to Mojave / Catalina)
> On Nov 6, 2021, at 7:53 PM, André-John Mas wrote: > > Does it make a difference if you test via sudo or your own user login? > Well, it won't work as regular user. Regular user does not have write permissions to /opt/local tree. On the other hand, it's plain dumb why it works for me. As you can see below, org.macports.fetch does not use HTTPS, it downloads over HTTP. Certificates are just irrelevant for that. I am not sure what part of macports.conf controls protocol for fetch, I have not modified that file since 2017. (I guess I should have done it). I looked at the diff between my macports.conf and macports.conf.default from May 2021, and I don't see anything with regards to http/https. I must be missing something there. Thanks, Kastus > André-John > > Sent from my phone. Envoyé depuis mon téléphone. > >> On 06 Nov 2021, at 22:08, Kastus Shchuka wrote: >> >> Something does not add up here. >> >> High Sierra is older than Mojave, right? I can fetch sources of nsd on High >> Sierra without any problems: >> >> $ sudo port -d fetch nsd >> DEBUG: Copying /Users/pike/Library/Preferences/com.apple.dt.Xcode.plist to >> /opt/local/var/macports/home/Library/Preferences >> DEBUG: Changing to port directory: >> /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/nsd >> DEBUG: OS darwin/17.7.0 (macOS 10.13.6) arch i386 >> DEBUG: adding the default universal variant >> DEBUG: Reading variant descriptions from >> /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf >> DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies >> DEBUG: Finished running callback >> portconfigure::add_automatic_compiler_dependencies >> DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies >> DEBUG: Finished running callback >> portbuild::add_automatic_buildsystem_dependencies >> DEBUG: Running callback portstartupitem::add_notes >> DEBUG: Finished running callback portstartupitem::add_notes >> DEBUG: Attempting ln -sf >> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nsd/nsd/work >> >> /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/nsd/work >> DEBUG: dropping privileges: euid changed to 504, egid changed to 20. >> DEBUG: Starting logging for nsd @4.2.1_2 >> DEBUG: macOS 10.13.6 (darwin/17.7.0) arch i386 >> DEBUG: MacPorts 2.7.1 >> DEBUG: Xcode 9.4.1 >> DEBUG: SDK 10.13 >> DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.13 >> DEBUG: Executing org.macports.main (nsd) >> DEBUG: dropping privileges: euid changed to 504, egid changed to 20. >> DEBUG: fetch phase started at Sat Nov 6 19:00:42 PDT 2021 >> ---> Fetching distfiles for nsd >> DEBUG: elevating privileges for fetch: euid changed to 0, egid changed to 0. >> DEBUG: dropping privileges: euid changed to 504, egid changed to 20. >> DEBUG: Executing org.macports.fetch (nsd) >> ---> nsd-4.2.1.tar.gz does not exist in >> /opt/local/var/macports/distfiles/nsd >> ---> Attempting to fetch nsd-4.2.1.tar.gz from >> http://distfiles.macports.org/nsd >> % Total% Received % Xferd Average Speed TimeTime Time Current >>Dload Upload Total SpentLeft Speed >> 100 1118k 100 1118k0 0 3557k 0 --:--:-- --:--:-- --:--:-- >> 3563k >> $ ls -l /opt/local/var/macports/distfiles/nsd >> total 2240 >> -rw-r--r-- 1 macports wheel 1145713 Nov 6 19:00 nsd-4.2.1.tar.gz >> >> I have MacPorts installed from a package, I did not build it, so it is >> pretty much standard. Neither I did anything to the system certificate chain. >> >>> On Nov 6, 2021, at 5:43 AM, Ryan Schmidt wrote: >>> >>> >>> >>>> On Nov 6, 2021, at 05:39, Gerben Wierda wrote: >>>> >>>> I was looking at updating nsd (for which I am maintaining and it is high >>>> time) >>>> >>>> But fetching failed on macOS Mojave (where I have my MacPorts setup). >>>> >>>> :debug:fetch Executing org.macports.fetch (nsd) >>>> :info:fetch ---> nsd-4.3.8.tar.gz does not exist in >>>> /opt/local/var/macports/distfiles/nsd >>>> :notice:fetch ---> Attempting to fetch nsd-4.3.8.tar.gz from >>>> https://www.nlnetlabs.nl/downloads/nsd/ >>>> :debug:fetch Fetching distfile failed: SSL certificate problem: >>>> certificate has
Re: port cannot fetch because of expired cert, but cert is OK according to Safari, curl (question related to Mojave / Catalina)
Something does not add up here. High Sierra is older than Mojave, right? I can fetch sources of nsd on High Sierra without any problems: $ sudo port -d fetch nsd DEBUG: Copying /Users/pike/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/nsd DEBUG: OS darwin/17.7.0 (macOS 10.13.6) arch i386 DEBUG: adding the default universal variant DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies DEBUG: Running callback portstartupitem::add_notes DEBUG: Finished running callback portstartupitem::add_notes DEBUG: Attempting ln -sf /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nsd/nsd/work /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/nsd/work DEBUG: dropping privileges: euid changed to 504, egid changed to 20. DEBUG: Starting logging for nsd @4.2.1_2 DEBUG: macOS 10.13.6 (darwin/17.7.0) arch i386 DEBUG: MacPorts 2.7.1 DEBUG: Xcode 9.4.1 DEBUG: SDK 10.13 DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.13 DEBUG: Executing org.macports.main (nsd) DEBUG: dropping privileges: euid changed to 504, egid changed to 20. DEBUG: fetch phase started at Sat Nov 6 19:00:42 PDT 2021 ---> Fetching distfiles for nsd DEBUG: elevating privileges for fetch: euid changed to 0, egid changed to 0. DEBUG: dropping privileges: euid changed to 504, egid changed to 20. DEBUG: Executing org.macports.fetch (nsd) ---> nsd-4.2.1.tar.gz does not exist in /opt/local/var/macports/distfiles/nsd ---> Attempting to fetch nsd-4.2.1.tar.gz from http://distfiles.macports.org/nsd % Total% Received % Xferd Average Speed TimeTime Time Current Dload Upload Total SpentLeft Speed 100 1118k 100 1118k0 0 3557k 0 --:--:-- --:--:-- --:--:-- 3563k $ ls -l /opt/local/var/macports/distfiles/nsd total 2240 -rw-r--r-- 1 macports wheel 1145713 Nov 6 19:00 nsd-4.2.1.tar.gz I have MacPorts installed from a package, I did not build it, so it is pretty much standard. Neither I did anything to the system certificate chain. > On Nov 6, 2021, at 5:43 AM, Ryan Schmidt wrote: > > > > On Nov 6, 2021, at 05:39, Gerben Wierda wrote: > >> I was looking at updating nsd (for which I am maintaining and it is high >> time) >> >> But fetching failed on macOS Mojave (where I have my MacPorts setup). >> >> :debug:fetch Executing org.macports.fetch (nsd) >> :info:fetch ---> nsd-4.3.8.tar.gz does not exist in >> /opt/local/var/macports/distfiles/nsd >> :notice:fetch ---> Attempting to fetch nsd-4.3.8.tar.gz from >> https://www.nlnetlabs.nl/downloads/nsd/ >> :debug:fetch Fetching distfile failed: SSL certificate problem: certificate >> has expired >> >> Now, my main MacPorts dev/use machine is macOS Mojave so I suspect that is >> the Mojave-doesn’t-get-root-cert-updates problem. So, I tried to do a port >> fetch on Catalina, and there it works and the distribution is downloaded. >> >> It is strange, though, because Safari on both Catalina (other machine) and >> Mojave say the cert is fine. Still, it is most likely that this is a problem >> that comes from still using Mojave. >> >> Updating that machine will not happen until late December, so if I am to >> maintain anything MacPorts, I need a fix to get this working again. >> >> I have tried using curl on the Mojave machine, and that one works. >> >> So, Safari works, curl works, but port does not work. >> >> I tried copying /etc/ssl/cert.pem over to the Mojave machine, but that >> doesn’t work either. > > This is the "Let's Encrypt's old root certificate expired" problem described > here: > > https://trac.macports.org/wiki/ProblemHotlist#letsencrypt > > When you said "curl works but port does not work" that's not quite right. > /opt/local/bin/curl and /opt/local/lib/libcurl.dylib work. /usr/bin/curl and > /usr/lib/libcurl.dylib (the latter of which MacPorts uses by default) do not > work for Let's Encrypt-protected sites anymore. > > I, on High Sierra, have the same issue, and I have no solution for you. This > issue affects High Sierra and Mojave. I recommend upgrading to Catalina or > later; I plan to eventually. > > Well, you could rebuild MacPorts from source, instructing it to use a newer > copy of libcurl with a newer copy of openssl or libressl that has a newer > certificate bundle. For example, install a
Re: Why don't p5-* ports mark their dependencies?
> On Jun 12, 2021, at 9:54 AM, Rainer Müller wrote: > > On 12/06/2021 18.32, Bill Cole wrote: >> On 2021-06-12 at 12:11:47 UTC-0400 (Sat, 12 Jun 2021 09:11:47 -0700) >> Kastus Shchuka >> is rumored to have said: >> >>> I wish it could be so easy to remove perl5.28. Apparently, I have to >>> keep it because of git: >> >> port uninstall git >> port install git -perl5_28 +perl5_30 > > sudo port upgrade --enforce-variants git -perl5_28 +perl5_30 > Thank you, that worked and allowed me to uninstall all p5.28 modules. What puzzles me still, why port info shows that git depends on perl 5.28 modules: $ port info git git @2.32.0 (devel) Variants: [+]credential_osxkeychain, [+]diff_highlight, [+]doc, gitweb, [+]pcre, perl5_26, [+]perl5_28, perl5_30, python, svn, universal Description: Git is a fast, scalable, distributed open source version control system focusing on speed and efficiency. Homepage: https://git-scm.com/ Extract Dependencies: xz Library Dependencies: perl5.28, curl, zlib, openssl, expat, libiconv, pcre2 Runtime Dependencies: p5.28-authen-sasl, p5.28-error, p5.28-net-smtp-ssl, p5.28-term-readkey, p5.28-cgi, rsync Platforms:darwin License: GPL-2 and LGPL-2.1+ Maintainers: Email: ciserl...@macports.org, GitHub: ci42 Policy: openmaintainer $ port installed and git The following ports are currently installed: git @2.31.1_2+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30 git @2.32.0_0+credential_osxkeychain+diff_highlight+doc+pcre+perl5_30 (active) git works, as far as I can test. Thanks, Kastus
Re: Why don't p5-* ports mark their dependencies?
I wish it could be so easy to remove perl5.28. Apparently, I have to keep it because of git: $ port info git git @2.31.1_2 (devel) Variants: [+]credential_osxkeychain, [+]diff_highlight, [+]doc, gitweb, [+]pcre, perl5_26, [+]perl5_28, perl5_30, python, svn, universal Description: Git is a fast, scalable, distributed open source version control system focusing on speed and efficiency. Homepage: https://git-scm.com/ Extract Dependencies: xz Library Dependencies: perl5.28, curl, zlib, openssl, expat, libiconv, pcre2 Runtime Dependencies: p5.28-authen-sasl, p5.28-error, p5.28-net-smtp-ssl, p5.28-term-readkey, p5.28-cgi, rsync Platforms:darwin License: GPL-2 and LGPL-2.1+ Maintainers: Email: ciserl...@macports.org, GitHub: ci42 Policy: openmaintainer Are Library and Runtime dependencies of git on perl5.28 intentional or an oversight? Thanks, Kastus > On Jun 12, 2021, at 8:34 AM, Bill Cole > wrote: > > On 2021-06-09 at 15:51:09 UTC-0400 (Wed, 9 Jun 2021 15:51:09 -0400) > Daniel J. Luke > is rumored to have said: > >> On Jun 6, 2021, at 1:41 PM, Bill Cole >> wrote: >>> I *think* I've even worked out the right way to use that construct to make >>> Perl upgrades simpler, so I use the p5-* ports: >> >> I gave up on trying to use this in any useful way a while ago - if you've >> got some way that it works, please share. > > According to my shell history, this is what I did to clear out all the old > perl5.2[68] and > > port deactivate perl5 > port install perl5 +perl5_30 > port deactivate perl5.26 > port deactivate perl5.28 > port installed|grep '^ p5\.2.*-' |awk '{print $1}'|while read x; do y=`echo > $x|sed 's/\.2.-/-/'`; port -v -f deactivate $x ; port -v install $y; done > > Adjust to suit whatever versions you're trying to remove/replace. > > -- > Bill Cole > b...@scconsult.com or billc...@apache.org > (AKA @grumpybozo and many *@billmail.scconsult.com addresses) > Not Currently Available For Hire
Re: state of libressl in macports
Thanks Ryan! I have filed https://trac.macports.org/ticket/62858 for rust. > On May 10, 2021, at 4:30 PM, Ryan Schmidt wrote: > > You've summed up the situation nicely. > > > On May 9, 2021, at 21:18, Kastus Shchuka wrote: > >> Macports has ports of both openssl and libressl but they are mutually >> exclusive as they install overlapping files. Binary precompiled packages are >> built with openssl, so folks using libressl have to build ports depending >> on libssl from source. Not convinient, but still manageable. > > Correct, our current situation with openssl and libressl is not optimal, not > really what I would like to have. See https://trac.macports.org/ticket/54744. > Nobody has volunteered to fix the situation. Anyone is welcome to do so. It > would involve coming up with a proposal, discussing it on the macports-dev > mailing list and reaching consensus about what should be done, and then doing > it. > > >> Openssl keeps adding new features which are not immediately available in >> libressl. That affects programs using libssl. Quite often ports require >> libressl-specific patches just to be able to be built with libressl. Some >> ports declare explicit dependency on openssl, and if I have libressl >> installed, I am stuck in this situation, as openssl cannot be installed >> alongside with libressl. >> >> The most recent example: >> >> port sync && port outdated showed py38-cryptography and py39-cryptography as >> outdated >> >> py38-cryptography 2.9.2_0 < 3.4.7_1 >> py39-cryptography 2.9.2_0 < 3.4.7_1 >> >> Binary packages are built with openssl, so rev-upgrade attempts to rebuild >> them. It worked with version 2.9.2, but 3.4.7 pulls in rust and cargo. >> Pre-built rust has to be rev-upgraded because of libssl, and fails to build >> as it requires openssl, and I have libressl installed, and it conflicts with >> openssl. This is where I hit the wall. >> >> I am not using py-cryptography directly, I need py38/39-cryptography as a >> dependency of ansible. It looks like if I want to continue using ansible on >> this system and have it managed by macports, I have to give up on libressl >> and install openssl. Or install ansible outside of macports. I guess there >> are more ports in such situation. > > Often, when someone adds a port to MacPorts that requires openssl or an > openssl-compatible library like libressl, they write the dependency as > "port:openssl". This prevents libressl from being used. Currently there are a > small number of ports in this situation: > > $ port echo depends:'port:openssl($|\s)' > calendar-contacts-server > libaes_siv > netdata > netdata-dashboard > ntpsec > ophcrack > rizin > squid4 > sslscan > rust > msodbcsql17 > > Often, this occurs simply because the contributor was not aware of the issue, > and switching the dependency to "path:lib/libssl.dylib:openssl" is all that's > needed to allow libressl to be used if desired. Rarely, there are specific > reasons why libressl is not compatible with a project; in that case, the > Portfile should contain a comment line near the "port:openssl" dependency > that explains why. > > In the case of rust, it declares both a library dependency on > path:lib/libssl.dylib:openssl and a build dependency on port:openssl, which > seems like nonsense to me: > > $ port -v deps rust > Full Name: rust @1.52.1_0 > Build Dependencies: bin:git:git, path:bin/cmake:cmake, port:cctools, > port:python39, port:openssl, port:pkgconfig, port:ninja, port:gmake, > port:ccache > Library Dependencies: port:libffi, path:lib/libssl.dylib:openssl > > It seems like removing the port:openssl build dependency would be the correct > thing to do, but I haven't tried to figure out why it's the way it is. > > I recommend filing bug reports for any of these ports that do not already > indicate in their comments a specific reason for incompatibility with > libressl. > > >> Is macports as a project going to drop support for libressl? (Several linux >> distros, e.g. gentoo and void, did it recently). >> It would be nice to have libressl in macports, but if the project does not >> have resources to support it, would it be better just to state that >> explicitly? It would prevent unnecessary expectations. > > I don't think anyone's expressed any interest in dropping libressl support > before. I wasn't aware that any Linux distros had dropped support for it, but > I don't know anything else about what Linux distros are doing either. Do you > know why they dropped libressl?
state of libressl in macports
Macports has ports of both openssl and libressl but they are mutually exclusive as they install overlapping files. Binary precompiled packages are built with openssl, so folks using libressl have to build ports depending on libssl from source. Not convinient, but still manageable. Openssl keeps adding new features which are not immediately available in libressl. That affects programs using libssl. Quite often ports require libressl-specific patches just to be able to be built with libressl. Some ports declare explicit dependency on openssl, and if I have libressl installed, I am stuck in this situation, as openssl cannot be installed alongside with libressl. The most recent example: port sync && port outdated showed py38-cryptography and py39-cryptography as outdated py38-cryptography 2.9.2_0 < 3.4.7_1 py39-cryptography 2.9.2_0 < 3.4.7_1 Binary packages are built with openssl, so rev-upgrade attempts to rebuild them. It worked with version 2.9.2, but 3.4.7 pulls in rust and cargo. Pre-built rust has to be rev-upgraded because of libssl, and fails to build as it requires openssl, and I have libressl installed, and it conflicts with openssl. This is where I hit the wall. I am not using py-cryptography directly, I need py38/39-cryptography as a dependency of ansible. It looks like if I want to continue using ansible on this system and have it managed by macports, I have to give up on libressl and install openssl. Or install ansible outside of macports. I guess there are more ports in such situation. Is macports as a project going to drop support for libressl? (Several linux distros, e.g. gentoo and void, did it recently). It would be nice to have libressl in macports, but if the project does not have resources to support it, would it be better just to state that explicitly? It would prevent unnecessary expectations. Thanks, Kastus
ghostscript 9.52_0+x11 fails to build
A ticket was already open in trac (#61306) when I encountered this problem. As ghostscript port has no maintainer, and the ticket is unassigned, I am not sure who it should be assigned to in order to get proper attention. Problem seems weird as the port was bumped to 9.52 quite some time ago, back in July, and I do have this upgraded version successfully installed on a few other systems, although I don’t recall if it used binary package there or built it. Thanks, Kastus
Re: Scheduled downtime for rsync.macports.org on October 2
> On Oct 5, 2020, at 2:49 PM, Ryan Schmidt wrote: > > > I experienced the problems as well. There was apparently nothing wrong with > the server but there were Internet routing problems which have since been > resolved. > Thanks Ryan! It works for me now, too.
Re: Scheduled downtime for rsync.macports.org on October 2
Not sure if it is related to the mentioned maintenance, but I am getting timeout from https://packages.macports.org when trying to upgrade libnetpbm today, Oct. 4: ---> Fetching archive for libnetpbm ---> Attempting to fetch libnetpbm-10.92.00_0.darwin_17.x86_64.tbz2 from https://packages.macports.org/libnetpbm ---> Attempting to fetch libnetpbm-10.92.00_0.darwin_17.x86_64.tbz2.rmd160 from https://packages.macports.org/libnetpbm Error: Failed to archivefetch libnetpbm: Failed to fetch signature for archive: The requested URL returned error: 504 Gateway Time-out I wanted to ask on the list before filing trac ticket. Thanks, Kastus > On Oct 1, 2020, at 6:14 PM, Ryan Schmidt wrote: > > Our partners at the Friedrich-Alexander University who run rsync.macports.org > plan to do maintenance on the server on October 2, 2020. The server is > expected to be offline for about 60 minutes sometime between 11:00 and 14:00 > UTC. > > Running `sudo port selfupdate` or `sudo port sync` during the maintenance > window will fail if your MacPorts is configured to use rsync.macports.org > (which is the default) or nue.de.rsync.macports.org. Try again later. > > Installing or upgrading ports during the maintenance window should work. The > FAU server also backs our CDN at distfiles.macports.org and > packages.macports.org but MacPorts should either be able to get the files > cached by our CDN or will failover to another one of our mirrors. In the > unlikely event that you encounter a problem with distfiles.macports.org or > packages.macports.org during the maintenance window you can add either or > both hostnames to the host_blacklist setting in > /opt/local/etc/macports/macports.conf. Remember to undo those changes after > the maintenance window is over so that you can continue to benefit from our > CDN. >
Re: rsync upgrade to 3.2.1_1 and libressl
My original error was this: $ port outdated The following installed ports are outdated: rsync 3.1.3_0 < 3.2.1_1 yubico-piv-tool1.7.0_1 < 2.0.0_0 $ sudo port upgrade outdated and not yubico-piv-tool ---> Computing dependencies for openssl Error: Can't install openssl because conflicting ports are active: libressl Error: Problem while installing openssl Error: Follow https://guide.macports.org/#project.tickets to report a bug. Just for kicks, I replaced line 31 in rsync port file port:openssl with port:libressl and was able to build rsync 3.2.1_1 successfully after that. $ otool -L /opt/local/bin/rsync /opt/local/bin/rsync: /opt/local/lib/libpopt.0.dylib (compatibility version 1.0.0, current version 1.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0) /opt/local/lib/liblz4.1.dylib (compatibility version 1.0.0, current version 1.9.2) /opt/local/lib/libzstd.1.dylib (compatibility version 1.0.0, current version 1.4.5) /opt/local/lib/libxxhash.0.dylib (compatibility version 0.0.0, current version 0.7.4) /opt/local/lib/libcrypto.44.dylib (compatibility version 45.0.0, current version 45.1.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) $ port provides /opt/local/lib/libcrypto.44.dylib /opt/local/lib/libcrypto.44.dylib is provided by: libressl $ /opt/local/bin/rsync --version rsync version 3.2.1 protocol version 31 Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others. Web site: https://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, no atimes, batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv, symtimes, no prealloc, file-flags, crtimes Checksum list: xxh64 (xxhash) md5 md4 none Compress list: zstd lz4 zlibx zlib none rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. So rsync 3.2.1 can be built with libressl. I wonder what is the proper way to make rsync port automatically use libressl if it is installed already. Thanks, Kastus > On Jun 28, 2020, at 2:54 PM, Kastus Shchuka wrote: > > In version 3.2.0 (June 19 2020) rsync introduced new binary rsync-ssl. Port > file of rsync now has a new dependency, openssl. Macports does not allow to > have both libressl and openssl ports installed at the same time. Does it mean > that I cannot upgrade rsync beyond version 3.1.3 if I am using libressl? > > Thanks, > > Kastus
rsync upgrade to 3.2.1_1 and libressl
In version 3.2.0 (June 19 2020) rsync introduced new binary rsync-ssl. Port file of rsync now has a new dependency, openssl. Macports does not allow to have both libressl and openssl ports installed at the same time. Does it mean that I cannot upgrade rsync beyond version 3.1.3 if I am using libressl? Thanks, Kastus
Re: gnutls dependencies
> On Oct 1, 2019, at 3:42 PM, Mojca Miklavec > wrote: > > On Tue, 1 Oct 2019 at 06:42, Kastus Shchuka wrote: >> >> Hi, >> >> gnutls was recently upgraded to 3.6.10_0. When I try to upgrade gnutls, it >> pulls in a tall list of dependencies: >> >> ---> Computing dependencies for gnutls >> The following dependencies will be installed: >> clang-8.0 >> ... >> >> Version 3.6.9_0 did not need them and worked just fine. > > Which macOS version are you using? 10.13.6 > What does the "port rdeps gnutls" > say about the chain that leads to clang-8.0? $ port rdeps gnutls The following ports are dependencies of gnutls @3.6.10_0+doc: xz libiconv gperf gettext ncurses gtk-doc pkgconfig glib2 autoconf automake libtool xattr unzip libxml2 icu zlib libffi pcre bzip2 libedit libxslt perl5.26 db48 gdbm readline docbook-xml xmlcatmgr docbook-xml-4.1.2 docbook-xml-4.2 docbook-xml-4.3 docbook-xml-4.4 docbook-xml-4.5 docbook-xml-5.0 docbook-xsl-nons itstool gawk py27-libxml2 python27 expat openssl sqlite3 python_select python2_select python37 python3_select py37-anytree py37-setuptools py37-six py37-lxml py37-pygments pygments_select py37-mock clang-8.0 cmake libcxx curl libidn2 libunistring perl5 perl5.28 texinfo help2man p5.28-locale-gettext libpsl curl-ca-bundle libarchive lzo2 lz4 zstd libuv libomp llvm-8.0 xar llvm_select clang_select ld64 ld64-xcode gmp libtasn1 p11-kit nettle > I don't see clang on the list for 10.13, but I'm pretty sure it's > needed on older systems after upgrade to MacPorts 2.6.0. > > It's a lot more likely that the dependency was pulled in after you > updated MacPorts base rather than the port itself. Marius understood my problem much better than I described it and moved gtk_doc build dependency into doc variant (https://github.com/macports/macports-ports/commit/144c3cec1e062304e769b896d242b3816ec2b5f9). I am very gratefull for the quick fix. I think previously I was just getting binary build of gnutls, that’s why I did not need build dependencies. After upgrade to MacPorts 2.6.0, there was no binary package available, and building port from source pulled in build dependencies. All is good now. > > Mojca Thanks, Kastus
Re: gnutls dependencies
Thank you very much Marius for the change! That’s exactly what I needed. -Kastus > On Oct 1, 2019, at 4:22 PM, Marius Schamschula wrote: > > Kastus, Joshua, > > I never noticed this issue, as I always build the docs. > > Fixed in > https://github.com/macports/macports-ports/commit/144c3cec1e062304e769b896d242b3816ec2b5f9 > > Marius > -- > Marius Schamschula > > > > >> On Oct 1, 2019, at 5:11 PM, Joshua Root wrote: >> >> Kastus Shchuka wrote: >>> gnutls was recently upgraded to 3.6.10_0. When I try to upgrade gnutls, it >>> pulls in a tall list of dependencies: >>> >>> ---> Computing dependencies for gnutls >>> The following dependencies will be installed: >>> clang-8.0 >>> clang_select >>> docbook-xml >>> docbook-xml-4.1.2 >>> docbook-xml-4.2 >>> docbook-xml-4.3 >>> docbook-xml-4.4 >>> docbook-xml-5.0 >>> gawk >>> gtk-doc >>> itstool >>> ld64 >>> ld64-xcode >>> libomp >>> llvm-8.0 >>> llvm_select >>> py27-libxml2 >>> py37-anytree >>> py37-lxml >>> py37-pygments >>> py37-six >>> pygments_select >>> xar >>> Continue? [Y/n]: n >>> >>> Version 3.6.9_0 did not need them and worked just fine. I suspect that all >>> of them are only needed for doc variant of gnutls. I tried to install >>> gnutls without doc variant, but it still wants to install the same tall >>> list. Is there a way to skip them? Or dependencies are always calculated >>> regardless of selected variants? On another system I installed gnutls -doc, >>> and then removed docbook-xml and the rest of the list, and port command did >>> not complained. >> >> Some of those dependencies will be needed regardless of variants >> (clang-8.0 and the other toolchain ones.) Dependencies are calculated >> taking variants into account, but in this case the doc variant of gnutls >> does not add or remove any dependencies. It does seem strange that >> gtk-doc would be needed regardless of whether docs are built. You could >> ask the maintainer about it. >> >> It's normal to be able to uninstall build-time dependencies after >> installing, because as their name implies they are only needed when >> actually building the port. They aren't needed when installing from a >> binary archive either. >> >> - Josh > > > > Marius > -- > Marius Schamschula > > > >
gnutls dependencies
Hi, gnutls was recently upgraded to 3.6.10_0. When I try to upgrade gnutls, it pulls in a tall list of dependencies: ---> Computing dependencies for gnutls The following dependencies will be installed: clang-8.0 clang_select docbook-xml docbook-xml-4.1.2 docbook-xml-4.2 docbook-xml-4.3 docbook-xml-4.4 docbook-xml-5.0 gawk gtk-doc itstool ld64 ld64-xcode libomp llvm-8.0 llvm_select py27-libxml2 py37-anytree py37-lxml py37-pygments py37-six pygments_select xar Continue? [Y/n]: n Version 3.6.9_0 did not need them and worked just fine. I suspect that all of them are only needed for doc variant of gnutls. I tried to install gnutls without doc variant, but it still wants to install the same tall list. Is there a way to skip them? Or dependencies are always calculated regardless of selected variants? On another system I installed gnutls -doc, and then removed docbook-xml and the rest of the list, and port command did not complained. Thanks, Kastus
boost upgrade from 1.70.0_0 to 1.71.0_0 does not trigger ledger rebuilt
I ran “port upgrade outdated” today and it installed a new version of boost: ---> Computing dependencies for boost ---> Fetching archive for boost ---> Attempting to fetch boost-1.71.0_0+no_single+no_static+python27.darwin_17.x86_64.tbz2 from https://packages.macports.org/boost ---> Attempting to fetch boost-1.71.0_0+no_single+no_static+python27.darwin_17.x86_64.tbz2.rmd160 from https://packages.macports.org/boost ---> Installing boost @1.71.0_0+no_single+no_static+python27 ---> Cleaning boost ---> Computing dependencies for boost ---> Deactivating boost @1.70.0_0+no_single+no_static+python27 ---> Cleaning boost ---> Activating boost @1.71.0_0+no_single+no_static+python27 ---> Cleaning boost After that ledger fails to start: $ /opt/local/bin/ledger -f ledger/journal dyld: lazy symbol binding failed: Symbol not found: __ZN5boost16re_detail_10700027cpp_regex_traits_char_layerIcE4initEv Referenced from: /opt/local/lib/libledger.3.dylib Expected in: /opt/local/lib/libboost_regex-mt.dylib dyld: Symbol not found: __ZN5boost16re_detail_10700027cpp_regex_traits_char_layerIcE4initEv Referenced from: /opt/local/lib/libledger.3.dylib Expected in: /opt/local/lib/libboost_regex-mt.dylib Abort Ledger is not reported as outdated. Running port rev-upgrade does not find any problems with it either: $ sudo port upgrade ledger ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. $ sudo port rev-upgrade ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. If I uninstall and install again ledger, I am getting the same error. I had to build ledger from source: $ sudo port install -s ledger ---> Computing dependencies for ledger ---> Fetching distfiles for ledger ---> Attempting to fetch ledger-3.1.3.tar.gz from https://distfiles.macports.org/ledger ---> Verifying checksums for ledger ---> Extracting ledger ---> Configuring ledger ---> Building ledger ---> Staging ledger into destroot ---> Installing ledger @3.1.3_0 ---> Activating ledger @3.1.3_0 ---> Cleaning ledger ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. Now ledger runs properly. Is it a bug in ledger port file that ledger does not detect upgrade of boost? Should I better report it in trac? Or is there a different way of going through boost upgrade? Thanks, Kastus
Re: ledger fails to build after boost upgrade to 1.70.0
Thank you, Chris! Much appreciated. > On Aug 14, 2019, at 3:16 AM, Christopher Jones > wrote: > > > Actually, fix was trivial. > > https://github.com/macports/macports-ports/commit/087140b0f4e960a304d3d56708aa77989b441b16 > >> On 14 Aug 2019, at 11:02 am, Christopher Jones >> wrote: >> >> Hi, >> >> Looks like ledger does not yet support the updated boost. >> >> please look for an open ticket at >> >> https://trac.macports.org/wiki/Tickets >> >> and if there is none for this issue, open one. >> >> cheers Chris >> >>> On 14 Aug 2019, at 6:40 am, Kastus Shchuka wrote: >>> >>> Hi, >>> >>> After doing “port upgrade outdated” boost was upgraded to 1.70.0_0, and it >>> triggered rebuild of ledger @3.1.1_4. >>> >>> The error in >>> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_finance_ledger/ledger/main.log >>> is this: >>> >>> :info:configure -- Found PythonInterp: /opt/local/bin/python2.7 (found >>> version "2.7.16") >>> :info:configure -- Found PythonLibs: /opt/local/lib/libpython2.7.dylib >>> (found version "2.7.10") >>> :info:configure CMake Error at >>> /opt/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 >>> (message): >>> :info:configure Could NOT find Boost (missing: python) (found suitable >>> version "1.70.0", >>> :info:configure minimum required is "1.49.0”) >>> >>> This is the version of boost that I have after upgrade: >>> >>> boost @1.70.0_0+no_single+no_static+python27 (active) >>> >>> Am I missing something obvious here? >>> >>> Thanks, >>> >>> Kastus >>> >>> >> >
ledger fails to build after boost upgrade to 1.70.0
Hi, After doing “port upgrade outdated” boost was upgraded to 1.70.0_0, and it triggered rebuild of ledger @3.1.1_4. The error in /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_finance_ledger/ledger/main.log is this: :info:configure -- Found PythonInterp: /opt/local/bin/python2.7 (found version "2.7.16") :info:configure -- Found PythonLibs: /opt/local/lib/libpython2.7.dylib (found version "2.7.10") :info:configure CMake Error at /opt/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message): :info:configure Could NOT find Boost (missing: python) (found suitable version "1.70.0", :info:configure minimum required is "1.49.0”) This is the version of boost that I have after upgrade: boost @1.70.0_0+no_single+no_static+python27 (active) Am I missing something obvious here? Thanks, Kastus
Re: Is there and "rdist" for Mac?
It does not take much to run “port info gitless”… $ port info gitless gitless @0.8.6 (devel, python) Variants: universal Description: Gitless is a version control system built on top of Git, with simpler commands and syntax. Gitless can be used on any Git repository and be mixed with regular git commands. Homepage: http://gitless.com/ Library Dependencies: python27, py27-pygit2, py27-clint, py27-sh Runtime Dependencies: git Platforms:darwin License: GPL-2 Maintainers: Email: rai...@macports.org, GitHub: raimue Policy: openmaintainer > On Mar 18, 2018, at 3:28 PM, ↪︎nudgewrote: > > On Sun, 18 Mar 2018, at 23:08, db wrote: >> On 17 Mar 2018, at 20:48, ↪︎nudge wrote: >> Another option worth considering >> http://gitless.com/ >> >> Good to know. Unfortunately, although gitless is already in MP, the >> developer doesn't mention it, but alas, HB >> (https://github.com/sdg-mit/gitless#installing-via-homebrew-macos-only). > > Unless I'm mistaken that text was added by a third party via a github pull > request in November 2016 and anyone wishing to add MP can do likewise.
Re: ssh-agent no longer being started
> On Nov 5, 2017, at 2:44 PM, René J.V. Bertinwrote: > > Hi, > > I've grown accustomed to be able to call `ssh-add -A` periodically to import > all certificates stored in my keychain into a running ssh-agent instance that > I didn't have to start. After a forced reboot last Friday (the system had > been up for 94 days) I find that ssh-agent no longer starts. > > Would anyone have an idea how this is normally started and how I could best > fix this? I played with > /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist but that doesn't > actually start ssh-agent. > The way launchd works, it does not start ssh-agent process at the user login time, it creates a socket and when some other process connects to that socket, only then ssh-agent is brought to life. It is similar to inetd/xinetd. > I do have a SSH_AUTH_SOCK var in the launchctl env, but it points to a socket > that's used only by launchd itself and by gpg-agent . I see that gpg-agent is > started from > ${prefix}/etc/LaunchAgents/org.macports.gpg-agent/org.macports.gpg-agent.plist, > which also sets SSH_AUTH_SOCK . When I remove that Sockets key from that > launchd plist, ssh-agent functionality is restored. > The Listeners key in ssh-agent plist creates a randomly named socket and exports in SSH_AUTH_SOCK to the user’s shell. It should not be shared with gpg-agent to the best of my knowledge. So if SSH_AUTH_SOCK is pointing to an existing file (ls -l $SSH_AUTH_SOCK shows a socket file) can you run "ssh-add -l” ? I also found this link helpful when I was debugging ssh-agent: https://blog.affien.com/archives/2015/09/07/use-macports-ssh-agent/ HTH, Kastus
Re: unbound fails to rebuild
> On Apr 20, 2017, at 11:13 PM, Kastus Shchuka <macpo...@tprfct.net> wrote: > > >> On Apr 20, 2017, at 11:01 PM, Kastus Shchuka <macpo...@tprfct.net> wrote: >> >> I have a strange problem rebuilding unbound after upgrade of libressl to >> 2.5.3. >> >> Rebuild succeeded on one Yosemite system and fails on another with this >> error: >> >> libtool: link: /usr/bin/clang -dynamiclib -o .libs/libunbound.2.dylib >> .libs/context.o .libs/libunbound.o .libs/libworker.o >> .libs/ub_event_pluggable.o .libs/dns.o .libs/infra.o .libs/rrset.o >> .libs/dname.o .libs/msgencode.o .libs/as112.o .libs/msgparse.o >> .libs/msgreply.o .libs/packed_rrset.o .libs/iterator.o .libs/iter_delegpt.o >> .libs/iter_donotq.o .libs/iter_fwd.o .libs/iter_hints.o .libs/iter_priv.o >> .libs/iter_resptype.o .libs/iter_scrub.o .libs/iter_utils.o >> .libs/localzone.o .libs/mesh.o .libs/modstack.o .libs/view.o >> .libs/outbound_list.o .libs/alloc.o .libs/config_file.o .libs/configlexer.o >> .libs/configparser.o .libs/fptr_wlist.o .libs/locks.o .libs/log.o >> .libs/mini_event.o .libs/module.o .libs/net_help.o .libs/random.o >> .libs/rbtree.o .libs/regional.o .libs/rtt.o .libs/dnstree.o .libs/lookup3.o >> .libs/lruhash.o .libs/slabhash.o .libs/timehist.o .libs/tube.o >> .libs/winsock_event.o .libs/autotrust.o .libs/val_anchor.o .libs/validator.o >> .libs/val_kcache.o .libs/val_kentry.o .libs/val_neg.o .libs/val_nsec3.o >> .libs/val_nsec.o .libs/val_secalgo.o .libs/val_sigcrypt.o .libs/val_utils.o >> .libs/dns64.o .libs/cachedb.o .libs/netevent.o .libs/listen_dnsport.o >> .libs/outside_network.o .libs/keyraw.o .libs/sbuffer.o .libs/wire2str.o >> .libs/parse.o .libs/parseutil.o .libs/rrdef.o .libs/str2wire.o >> .libs/strptime.o -L/opt/local/lib -lssl -lcrypto -Os -arch x86_64 >> -Wl,-headerpad_max_install_names -arch x86_64 -install_name >> /opt/local/lib/libunbound.2.dylib -compatibility_version 7 -current_version >> 7.4 -Wl,-single_module >> -Wl,-exported_symbols_list,.libs/libunbound-symbols.expsym >> Undefined symbols for architecture x86_64: >> "_ub_c_in", referenced from: >> _config_read in config_file.o >> "_ub_c_lex", referenced from: >> _ub_c_parse in configparser.o >> "_yywrap", referenced from: >> _yylex in configlexer.o >> ld: symbol(s) not found for architecture x86_64 >> clang: error: linker command failed with exit code 1 (use -v to see >> invocation) >> make: *** [libunbound.la] Error 1 >> >> _yywrap exists in /opt/local/lib/libfl.dylib: >> >> $ nm -gU /opt/local/lib/libfl.dylib >> 0f35 T _main >> 0f49 T _yywrap >> >> Any ideas what I should check? >> >> Thanks, >> >> Kastus > > Doing > > sudo port uninstall unbound > sudo port clean —all unbound > sudo port install unbound > > fixed the problem. > > Thanks, > > Kastus > Just one thing I forgot to mention, the other system did not have flex installed, so I uninstalled flex and then uninstall-clean-install was successful for unbound.
Re: unbound fails to rebuild
> On Apr 20, 2017, at 11:01 PM, Kastus Shchuka <macpo...@tprfct.net> wrote: > > I have a strange problem rebuilding unbound after upgrade of libressl to > 2.5.3. > > Rebuild succeeded on one Yosemite system and fails on another with this error: > > libtool: link: /usr/bin/clang -dynamiclib -o .libs/libunbound.2.dylib > .libs/context.o .libs/libunbound.o .libs/libworker.o > .libs/ub_event_pluggable.o .libs/dns.o .libs/infra.o .libs/rrset.o > .libs/dname.o .libs/msgencode.o .libs/as112.o .libs/msgparse.o > .libs/msgreply.o .libs/packed_rrset.o .libs/iterator.o .libs/iter_delegpt.o > .libs/iter_donotq.o .libs/iter_fwd.o .libs/iter_hints.o .libs/iter_priv.o > .libs/iter_resptype.o .libs/iter_scrub.o .libs/iter_utils.o .libs/localzone.o > .libs/mesh.o .libs/modstack.o .libs/view.o .libs/outbound_list.o > .libs/alloc.o .libs/config_file.o .libs/configlexer.o .libs/configparser.o > .libs/fptr_wlist.o .libs/locks.o .libs/log.o .libs/mini_event.o > .libs/module.o .libs/net_help.o .libs/random.o .libs/rbtree.o > .libs/regional.o .libs/rtt.o .libs/dnstree.o .libs/lookup3.o .libs/lruhash.o > .libs/slabhash.o .libs/timehist.o .libs/tube.o .libs/winsock_event.o > .libs/autotrust.o .libs/val_anchor.o .libs/validator.o .libs/val_kcache.o > .libs/val_kentry.o .libs/val_neg.o .libs/val_nsec3.o .libs/val_nsec.o > .libs/val_secalgo.o .libs/val_sigcrypt.o .libs/val_utils.o .libs/dns64.o > .libs/cachedb.o .libs/netevent.o .libs/listen_dnsport.o > .libs/outside_network.o .libs/keyraw.o .libs/sbuffer.o .libs/wire2str.o > .libs/parse.o .libs/parseutil.o .libs/rrdef.o .libs/str2wire.o > .libs/strptime.o -L/opt/local/lib -lssl -lcrypto -Os -arch x86_64 > -Wl,-headerpad_max_install_names -arch x86_64 -install_name > /opt/local/lib/libunbound.2.dylib -compatibility_version 7 -current_version > 7.4 -Wl,-single_module > -Wl,-exported_symbols_list,.libs/libunbound-symbols.expsym > Undefined symbols for architecture x86_64: > "_ub_c_in", referenced from: > _config_read in config_file.o > "_ub_c_lex", referenced from: > _ub_c_parse in configparser.o > "_yywrap", referenced from: > _yylex in configlexer.o > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > make: *** [libunbound.la] Error 1 > > _yywrap exists in /opt/local/lib/libfl.dylib: > > $ nm -gU /opt/local/lib/libfl.dylib > 0f35 T _main > 0f49 T _yywrap > > Any ideas what I should check? > > Thanks, > > Kastus Doing sudo port uninstall unbound sudo port clean —all unbound sudo port install unbound fixed the problem. Thanks, Kastus
unbound fails to rebuild
I have a strange problem rebuilding unbound after upgrade of libressl to 2.5.3. Rebuild succeeded on one Yosemite system and fails on another with this error: libtool: link: /usr/bin/clang -dynamiclib -o .libs/libunbound.2.dylib .libs/context.o .libs/libunbound.o .libs/libworker.o .libs/ub_event_pluggable.o .libs/dns.o .libs/infra.o .libs/rrset.o .libs/dname.o .libs/msgencode.o .libs/as112.o .libs/msgparse.o .libs/msgreply.o .libs/packed_rrset.o .libs/iterator.o .libs/iter_delegpt.o .libs/iter_donotq.o .libs/iter_fwd.o .libs/iter_hints.o .libs/iter_priv.o .libs/iter_resptype.o .libs/iter_scrub.o .libs/iter_utils.o .libs/localzone.o .libs/mesh.o .libs/modstack.o .libs/view.o .libs/outbound_list.o .libs/alloc.o .libs/config_file.o .libs/configlexer.o .libs/configparser.o .libs/fptr_wlist.o .libs/locks.o .libs/log.o .libs/mini_event.o .libs/module.o .libs/net_help.o .libs/random.o .libs/rbtree.o .libs/regional.o .libs/rtt.o .libs/dnstree.o .libs/lookup3.o .libs/lruhash.o .libs/slabhash.o .libs/timehist.o .libs/tube.o .libs/winsock_event.o .libs/autotrust.o .libs/val_anchor.o .libs/validator.o .libs/val_kcache.o .libs/val_kentry.o .libs/val_neg.o .libs/val_nsec3.o .libs/val_nsec.o .libs/val_secalgo.o .libs/val_sigcrypt.o .libs/val_utils.o .libs/dns64.o .libs/cachedb.o .libs/netevent.o .libs/listen_dnsport.o .libs/outside_network.o .libs/keyraw.o .libs/sbuffer.o .libs/wire2str.o .libs/parse.o .libs/parseutil.o .libs/rrdef.o .libs/str2wire.o .libs/strptime.o -L/opt/local/lib -lssl -lcrypto -Os -arch x86_64 -Wl,-headerpad_max_install_names -arch x86_64 -install_name /opt/local/lib/libunbound.2.dylib -compatibility_version 7 -current_version 7.4 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libunbound-symbols.expsym Undefined symbols for architecture x86_64: "_ub_c_in", referenced from: _config_read in config_file.o "_ub_c_lex", referenced from: _ub_c_parse in configparser.o "_yywrap", referenced from: _yylex in configlexer.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [libunbound.la] Error 1 _yywrap exists in /opt/local/lib/libfl.dylib: $ nm -gU /opt/local/lib/libfl.dylib 0f35 T _main 0f49 T _yywrap Any ideas what I should check? Thanks, Kastus
py27-cryptography fails to build with libressl 2.5.3
Upgrade of libressl from 2.4.5 to 2.5.3 triggered rebuild of py27-cryptography which failed with the following errors: :info:build build/temp.macosx-10.10-x86_64-2.7/_openssl.c:3484:19: error: expected identifier or '(' :info:build static const long X509_V_ERR_HOSTNAME_MISMATCH = 0; :info:build ^ :info:build /opt/local/include/openssl/x509_vfy.h:357:41: note: expanded from macro 'X509_V_ERR_HOSTNAME_MISMATCH' :info:build #define X509_V_ERR_HOSTNAME_MISMATCH62 :info:build ^ :info:build build/temp.macosx-10.10-x86_64-2.7/_openssl.c:3485:19: error: expected identifier or '(' :info:build static const long X509_V_ERR_EMAIL_MISMATCH = 0; :info:build ^ :info:build /opt/local/include/openssl/x509_vfy.h:358:38: note: expanded from macro 'X509_V_ERR_EMAIL_MISMATCH' :info:build #define X509_V_ERR_EMAIL_MISMATCH 63 :info:build ^ :info:build build/temp.macosx-10.10-x86_64-2.7/_openssl.c:3486:19: error: expected identifier or '(' :info:build static const long X509_V_ERR_IP_ADDRESS_MISMATCH = 0; :info:build ^ :info:build /opt/local/include/openssl/x509_vfy.h:359:43: note: expanded from macro 'X509_V_ERR_IP_ADDRESS_MISMATCH' :info:build #define X509_V_ERR_IP_ADDRESS_MISMATCH 64 :info:build ^ :info:build 3 errors generated. It looks like libressl added definition of three macros to /opt/local/include/openssl/x509_vfy.h and now they conflict with constants generated in _openssl.c. I filed ticket #53964 in trac, I copied maintainer. Do I need to copy anybody else in the ticket? Thanks, Kastus
cannot download distfile for libressl
I am trying to upgrade libressl (2.4.5), and as binary package is not available yet, port command attempts to build from source but fails to retrieve distfile. I am seeing 404 error from all mirrors, and from openbsd.org site I am getting this error: :notice:fetch ---> Attempting to fetch libressl-2.4.5.tar.gz from https://ftp.openbsd.org/pub/OpenBSD/LibreSSL :debug:fetch Fetching distfile failed: SSL peer handshake failed, the server most likely requires a client certificate to connect I can download the file manually with curl command, it recognizes let’s encrypt certificate just fine. I wonder what command does port uses for download? Thanks, Kastus