Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#60972 closed update (worksforme)

py37-dateutil: build for 10.15

Reported by: citizenrich (Richard Stanley) Owned by:
Priority: Low Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port:

Description

Hi folks,

Port gnuradio requires py37-dateutil. py37-dateutil is not built for macOS 10.15. This is a request to create a build of py37-dateutil for macOS 10.15.

Change History (20)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign added
Resolution: worksforme
Status: newclosed

Binary archives are created automatically by the build system. Builds for py37-dateutil 2.8.1 on all OS versions including macOS 10.15 happened back in November:

https://packages.macports.org/py37-dateutil/

If you reported this because you saw that there was no build status information for py37-dateutil on 10.15, then that is due to the way that we sometimes group port builds together and don't report status information about all ports in the group. I hope to be able to improve that situation as I redesign our build infrastructure over the next month or two.

If you were encountering some actual problem obtaining the archive, let us know what errors you saw.

comment:2 Changed 4 years ago by citizenrich (Richard Stanley)

Thanks. I’ve had “no destroot found at” errors for it. And the build page shows it not built for 10.15: https://ports.macports.org/port/py37-dateutil/tickets

However, now the destroot error is for py37-markupsafe @1.1.1_0. Strange.

comment:3 in reply to:  2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to citizenrich:

Thanks. I’ve had “no destroot found at” errors for it. And the build page shows it not built for 10.15: https://ports.macports.org/port/py37-dateutil/tickets

As I said, the build status information on the web is not authoritative. Sometimes a build exists even if its status has not been reported to the web site.

However, now the destroot error is for py37-markupsafe @1.1.1_0. Strange.

See wiki:ProblemHotlist#nodestrootfound for how to work around that.

comment:4 Changed 4 years ago by citizenrich (Richard Stanley)

HI, thanks for the support. So, same error after 'sudo port clean gnuradio' and I've also tried uninstalling any MacPorts and redoing.

comment:5 Changed 4 years ago by citizenrich (Richard Stanley)

Sorry I meant by uninstalling using: "sudo port -fp uninstall installed", and ensuring that MP is updated with "sudo post selfupdate"

comment:6 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

You should only see the "no destroot found" message in certain circumstances as detailed above, and only in an unclean port directory; the workaround is to clean the affected port. You said you saw the problem with py37-markupsafe, so the error should go away if you sudo port clean py37-markupsafe. If you encounter the problem again later with a different port, clean that port, etc.

comment:7 Changed 4 years ago by citizenrich (Richard Stanley)

Thanks. Same error.

comment:8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Could you please attach the full main.log file here so I can take a look?

comment:9 Changed 4 years ago by citizenrich (Richard Stanley)

comment:10 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

According to that log, specifically all of the Skipping completed lines, that wasn't a clean attempt. What is the output of running:

sudo port clean py37-markupsafe
sudo port install --unrequested py37-markupsafe

comment:11 Changed 4 years ago by citizenrich (Richard Stanley)

Thanks. Here it is: https://pastebin.com/0temViPt

comment:12 Changed 4 years ago by kencu (Ken)

Hello Richard. You've got yourself a strange problem going on there:

:error:activate Failed to activate py37-markupsafe: 
Image error: /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/markupsafe/__init__.py already exists and does not belong to a registered port.  
Unable to activate port py37-markupsafe. 
Use 'port -f activate py37-markupsafe' to force the activation.

Somehow it appears some remnant of py37-marksafe was left behind. I'd suggest you try doing exactly what it says:

sudo port clean py37-markupsafe
sudo port -f activate py37-markupsafe

and see if that gets you straightened out properly.

Good luck, report back please.

comment:13 Changed 4 years ago by citizenrich (Richard Stanley)

It worked to get past the issue, then the original one came up: Here's the latest: https://pastebin.com/hdNwTzTQ

There's nothing critical on this system. I'm happy to remove MP and redo MP installation and try again. Is there a best command for that?

comment:14 Changed 4 years ago by kencu (Ken)

Before you nuke the planet from orbit, you could try one thing.

I have never really understood this error:

:error:install Failed to install py37-dateutil: no destroot found at: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-dateutil/py37-dateutil/work/destroot

but I do know that crap and clutter can build up in

/opt/local/var/macports/build

so every once in a while, I do this:

cd /opt/local/var/macports/build
ls -la
sudo rm -rf ./*

and then try your install again.

If you decide to try that, please be careful with those commands.

comment:15 Changed 4 years ago by kencu (Ken)

comment:16 in reply to:  14 ; Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kencu:

I have never really understood this error:

:error:install Failed to install py37-dateutil: no destroot found at: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-dateutil/py37-dateutil/work/destroot

Everything we know about this issue is at wiki:ProblemHotlist#nodestrootfound and the ticket linked from it.

but I do know that crap and clutter can build up in

/opt/local/var/macports/build

so every once in a while, I do this:

cd /opt/local/var/macports/build
ls -la
sudo rm -rf ./*

and then try your install again.

Doing that won't help the problem being experienced, but sure, you may have incomplete builds there that you don't need anymore, and could delete them to save disk space. sudo port reclaim has been modified to do so as of MacPorts 2.7.0, which is not out yet but is probably what we will release once macOS 11 is released.

comment:17 in reply to:  13 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to citizenrich:

It worked to get past the issue, then the original one came up: Here's the latest: https://pastebin.com/hdNwTzTQ

I don't know what else to tell you. That is not a log from a clean attempt. Do you see this line in that log?

:debug:archivefetch archivefetch phase started at Wed Jul 15 12:25:24 EDT 2020

That means you have not cleaned this port since before that date. Cleaning the port and trying again will work around the bug.

There's nothing critical on this system. I'm happy to remove MP and redo MP installation and try again. Is there a best command for that?

If you are running into issues like the one you reported above where a file is already in the MacPorts prefix, but MacPorts doesn't think it put it there, you could be in a situation where some outside software installer has put files into the MacPorts prefix, which can interfere not only with you trying to install the same software via MacPorts later but can also cause other port builds to be subtly incorrect when they find dependencies that weren't expected to be there. Following the uninstallation instructions including removing /opt/local and then starting over should ensure that you'll avoid such problems.

comment:18 in reply to:  16 Changed 4 years ago by kencu (Ken)

Replying to ryandesign:

Doing that won't help the problem being experienced, but sure, you may have incomplete builds there that you don't need anymore, and could delete them to save disk space.

Doing that will clean every port.

Either he has repeatedly refused to clean the port, even though it is the first line of every piece of advice given -- or he's having some issue when doing it.

comment:19 Changed 4 years ago by citizenrich (Richard Stanley)

Hi folks. Thanks for the help. To report back, I did eventually did correctly follow the directions and cleaned ports, then tried removing all ports, and a few other approaches. But, in the end I made it work by trying with a fresh install to make sure the cruft was gone. I think a couple of things could have contributed (in addition to my lack of understanding MP :) One is that I had upgraded to 10.15 and had not upgraded MP. Also, some ports I thought I had removed I actually had not, there were artifacts left over. So, cruft is gone, GNURadio works. Sorry for this becoming a longer issue than anticipated. Thanks again for your patience.

comment:20 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Glad you got it working.

Yes you would definitely need to uninstall and reinstall all ports after upgrading to a new major version of macOS, per wiki:Migration.

Note: See TracTickets for help on using tickets.