Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#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)

cannot submit file or text block due to presence of ports urls in the text. here is a modified version:

version:1
:debug:main Starting logging for meson @0.58.1_0
:debug:sysinfo OS X 10.9.5 (darwin/13.4.0) arch i386
:debug:sysinfo MacPorts 2.7.1
:debug:sysinfo Xcode 6.2
:debug:sysinfo SDK 10.9
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.9
:msg:main --->  Computing dependencies for meson:info:main .:debug:main meson has no conflicts
:debug:main Searching for dependency: py39-setuptools
:debug:main Found Dependency: receipt exists for py39-setuptools
:debug:main Searching for dependency: python39
:debug:main Found Dependency: receipt exists for python39
:debug:main Searching for dependency: ninja
:debug:main Found Dependency: receipt exists for ninja
:debug:main Executing org.macports.main (meson)
:debug:main dropping privileges: euid changed to 502, egid changed to 501.
:debug:archivefetch archivefetch phase started at Thu Jun 24 15:49:30 EDT 2021
:msg:archivefetch --->  Fetching archive for meson
:debug:archivefetch Executing org.macports.archivefetch (meson)
:debug:archivefetch euid/egid changed to: 0/0
:debug:archivefetch chowned /opt/local/var/macports/incoming to macports
:debug:archivefetch euid/egid changed to: 502/501
:info:archivefetch --->  meson-0.58.1_0.darwin_13.noarch.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified
:msg:archivefetch --->  Attempting to fetch meson-0.58.1_0.darwin_13.noarch.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/meson
:debug:archivefetch Fetching archive failed: The requested URL returned error: 404 Not Found
:msg:archivefetch --->  Attempting to fetch meson-0.58.1_0.darwin_13.noarch.tbz2 from https://mse.uk.packages.macports.org/meson
:debug:archivefetch Fetching archive failed: Unknown SSL protocol error in connection to mse.uk.packages.macports.org:-9824
:msg:archivefetch --->  Attempting to fetch meson-0.58.1_0.darwin_13.noarch.tbz2 from https://cph.dk.packages.macports.org/meson
:debug:archivefetch Fetching archive failed: The requested URL returned error: 404 Not Found
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:fetch fetch phase started at Thu Jun 24 15:49:34 EDT 2021
:notice:fetch --->  Fetching distfiles for meson
:debug:fetch Executing org.macports.fetch (meson)
:info:fetch --->  meson-0.58.1.tar.gz does not exist in /opt/local/var/macports/distfiles/meson
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ....ywg.ca.distfiles.macports.org/mirror/macports/distfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...mse.uk.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: Unknown SSL protocol error in connection to mse.uk.distfiles.macports.org:-9824
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...cph.dk.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...fra.de.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
: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
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...nue.de.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...fco.it.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...cjj.kr.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...nb.za.distfiles.macports.org/distfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...kmq.jp.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...jog.id.distfiles.macports.org/macports/distfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...aarnet.au.distfiles.macports.org/pub/macports/distfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...atl.us.distfiles.macports.org/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch meson-0.58.1.tar.gz from ...pek.cn.distfiles.macports.org/macports/distfiles/meson
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:error:fetch Failed to fetch meson: The requested URL returned error: 404 Not Found
:debug:fetch Error code: NONE
:debug:fetch Backtrace: The requested URL returned error: 404 Not Found
:debug:fetch     while executing
:debug:fetch "error $lastError"
:debug:fetch     (procedure "portfetch::fetchfiles" line 66)
:debug:fetch     invoked from within
:debug:fetch "portfetch::fetchfiles"
:debug:fetch     (procedure "portfetch::fetch_main" line 17)
:debug:fetch     invoked from within
:debug:fetch "$procedure $targetname"
:error:fetch See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_meson/meson/main.log for details.

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: portsserver/hosting
Keywords: fetch distfiles removed
Owner: set to ryandesign
Port: meson removed
Status: newaccepted
Summary: Failed to fetch distfiles for meson-0.58.1_0.darwin_13.noarch.tbz2meson @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: acceptedclosed

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:6 Changed 3 years ago by tehcog (tehcog)

However, Thanks for the help.

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.

Version 0, edited 3 years ago by kencu (Ken) (next)

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 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 sync
sudo /opt/bootstrap/bin/port -v -N install curl

and then reference that when you reinstall macports into /opt/local

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:10 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.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:11 in reply to:  9 ; 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 in reply to:  10 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 in reply to:  11 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.

Note: See TracTickets for help on using tickets.