#63138 closed defect (fixed)
meson @0.58.1: distfile not mirrored
Reported by: | tehcog (tehcog) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | server/hosting | Version: | 2.7.1 |
Keywords: | Cc: | SoapZA | |
Port: |
Description
Please see attached main.log file.
Change History (13)
comment:1 Changed 3 years ago by tehcog (tehcog)
comment:2 Changed 3 years ago by raimue (Rainer Müller)
Can you tell which URLs caused problems in your text? It probably matches something in BadContent, so we need to be more specific there.
The real problem is here:
:notice:fetch ---> Attempting to fetch meson-0.58.1.tar.gz from ...github.com/mesonbuild/meson/releases/download/0.58.1 :debug:fetch Fetching distfile failed: SSL certificate problem: Invalid certificate chain
comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Component: | ports → server/hosting |
---|---|
Keywords: | fetch distfiles removed |
Owner: | set to ryandesign |
Port: | meson removed |
Status: | new → accepted |
Summary: | Failed to fetch distfiles for meson-0.58.1_0.darwin_13.noarch.tbz2 → meson @0.58.1: distfile not mirrored |
You're on OS X Mavericks which cannot connect to GitHub anymore due to SSL/TLS deficiencies.
So you would have to get the distfile from our mirrors. The problem is we didn't mirror this file yet.
Distfiles don't get mirrored until a build is attempted on our buildbot system. All of our builders, except the one for macOS 11 on arm64, are busy building perl 5.32 modules and will be busy doing so for several more days probably. The macOS 11 on arm64 builder skipped the build of meson because it is not an architecture-specific software program so it deferred the build to the macOS 11 on x86_64 builder.
I can put this file on the private distfiles server manually. It will then appear on the public servers within an hour.
comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:5 Changed 3 years ago by tehcog (tehcog)
"You're on OS X Mavericks which cannot connect to GitHub anymore due to SSL/TLS deficiencies."
This seems to work, so not sure what the issue is, unless it is the re-directs:
curl -L -o meson-0.58.1.tar.gz https://github.com/mesonbuild/meson/releases/download/0.58.1/meson-0.58.1.tar.gz
comment:7 Changed 3 years ago by kencu (Ken)
your "curl" command probably is using "/opt/local/bin/curl", which is modern and works.
"port" is built (by default) against /usr/lib/libcurl* which is ancient and doesn't work.
Try
/usr/bin/curl -L -o meson-0.58.1.tar.gz https://github.com/mesonbuild/meson/releases/download/0.58.1/meson-0.58.1.tar.gz
to see what I mean.
I build macports on most systems less than 10.10 against a newer libcurl to fix this problem.
Ask if you want to know how.
comment:8 Changed 3 years ago by tehcog (tehcog)
Yes, thanks I would like to know.
However, do you think I could just rename '/usr/bin/curl' to somethng else, and then make a /usr/bin/curl symbolic link to '/opt/local/bin/curl', or do you think that might break something else in the OS? Also/Or, if macports is re-built, what happens when there is a macports version update. Does it need to be rebuilt again? Are there other beneficial changes that may need to be made (to macports) for an older system like Mavericks?
-Thanks
comment:9 follow-up: 11 Changed 3 years ago by kencu (Ken)
MacPorts does not use the "curl" binary. It links directly to a libcurl and calls into that library. So no amount of renaming the curl binary will be useful.
For an ultra-fast but slightly fragile way to get a newer curl library being used, install curl into your macports installation (you have it already):
sudo port -v install curl
and then download the MacPorts source tarball, and build MacPorts from source, specifying the new libcurl you have installed, like this (assuming you have installed a new git in macports):
cd /tmp git clone -b release-2.7 https://github.com/macports/macports-base.git cd macports-base ./configure --with-curlprefix=/opt/local && make && sudo make install
and you're done. New macports installed against new curl, everything with MacPorts will work hunky-dory.
Just remember after that to do sudo port -v sync
instead of sudo port -v selfupdate
so you don't overwrite your custom installation. (If you do, it's no big deal -- just install from source again right over top).
However, you may think, that is a bit delicate, as it is self-referencing. It is a bit. Probably in actual practice, not a big deal, but to be super careful, you can come back later and do what I do, install a second macports installation in /opt/bootstrap, install curl in that, and then reference that curlprefix in your main macports repo.
Don't forget when you are installing a second macports installation to put the applications directory somewhere safe, and also don't install any startup items. Something like this would do it:
cd /tmp git clone -b release-2.7 https://github.com/macports/macports-base.git cd macports-base ./configure --prefix=/opt/bootstrap --with-applications-dir=/opt/bootstrap/Applications --without-startupitems make && sudo make install
and then install curl in that
sudo /opt/bootstrap/bin/port -v -N install curl
and then reference that when you reinstall macports into /opt/local
comment:10 follow-up: 12 Changed 3 years ago by kencu (Ken)
Re: your question about getting extra usage from your 10.9 system.
Off topic for this ticket, but I'll answer here...
You can get extra mileage for your older Apple system using MacPorts, and MP is well set up for that ... at the moment, however, increasingly software needs either features in a newer libc++ or features in a newer SDK, and that can be a difficult problem.
You can also install Ubuntu Linux on Apple systems back to at least a MacBook 2,1 from 2006, and run the absolutely most current LibreOffice, qt6, rust, go, wine, and everything else you can imagine on it that way --- not to be forgotten as a possibility. I have a laptop that dual-boots MacOSX 10.7.5 and Ubuntu 20.10, and I find it is in Ubuntu mode 98% of the time these days.
comment:11 follow-up: 13 Changed 3 years ago by tehcog (tehcog)
Thanks for the detailed information. One question though: If I do this as you have described (including the bootstrap installation), will I be starting from scratch (with respect to my current ports repo), i.e. Is there a way to retain all of the ports sw installations that I currently have, or do I need to start completly over with the new install?
Replying to kencu:
build MacPorts from source, specifying the new libcurl you have installed, like this (assuming you have installed a new git in macports)
...
and you're done. New macports installed against new curl, everything with MacPorts will work hunky-dory.
Just remember after that to do sudo port -v sync instead of sudo port -v selfupdate so you don't overwrite your custom installation. (If you do, it's no big deal -- just install from source again right over top).
...
However, you may think, that is a bit delicate, as it is self-referencing. It is a bit. Probably in actual practice, not a big deal, but to be super careful, you can come back later and do what I do, install a second macports installation in /opt/bootstrap, install curl in that, and then reference that curlprefix in your main macports repo.
Don't forget when you are installing a second macports installation to put the applications directory somewhere safe, and also don't install any startup items. Something like this would do it:
comment:12 Changed 3 years ago by tehcog (tehcog)
Thanks for this. Your points are well taken.
I have been mulling it over for a while as I have obiously encountered cert issues and broken things. However, most of the phone home things were turned off long ago and so I haven't really missed them. I am trying to decide between a new machine (with Linux or BSD) and/or modifying my current MBPro setup as you have described. Even Ubuntu LTS "expires" at some point, and can be a pain to upgrade. I have a lot invested in this machine, and I am no "spring chicken" anymore.
Replying to kencu:
Re: your question about getting extra usage from your 10.9 system.
Off topic for this ticket, but I'll answer here...
You can get extra mileage for your older Apple system using MacPorts, and MP is well set up for that ... at the moment, however, increasingly software needs either features in a newer libc++ or features in a newer SDK, and that can be a difficult problem.
You can also install Ubuntu Linux on Apple systems back to at least a MacBook 2,1 from 2006, and run the absolutely most current LibreOffice, qt6, rust, go, wine, and everything else you can imagine on it that way --- not to be forgotten as a possibility. I have a laptop that dual-boots MacOSX 10.7.5 and Ubuntu 20.10, and I find it is in Ubuntu mode 98% of the time these days.
comment:13 Changed 3 years ago by kencu (Ken)
Replying to tehcog:
Thanks for the detailed information. One question though: If I do this as you have described (including the bootstrap installation), will I be starting from scratch (with respect to my current ports repo), i.e. Is there a way to retain all of the ports sw installations that I currently have, or do I need to start completly over with the new install?
All your ports stay just the same. The only thing that changes in the libcurl that MacPorts links against, which is now current. Nothing will be reinstalled, or disabled, or removed.
Now I have done this literally hundreds of times on systems from 10.4 PPC to Mojave, but be as careful as you care to be. TImeMachine, backup, whatever works for you.
cannot submit file or text block due to presence of ports urls in the text. here is a modified version: