Opened 3 years ago

Closed 3 years ago

#63432 closed defect (invalid)

py39-six: six.cpython-39.pyc already exists and does not belong to a registered port

Reported by: afaranda Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: py-six

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I first received this error when I tried to install py39-jupyter, which depends on py39-six:

--->  Attempting to fetch py39-six-1.16.0_0.darwin_19.noarch.tbz2 from https://packages.macports.org/py39-six
--->  Attempting to fetch py39-six-1.16.0_0.darwin_19.noarch.tbz2.rmd160 from https://packages.macports.org/py39-six
--->  Installing py39-six @1.16.0_0
--->  Activating py39-six @1.16.0_0
Error: Failed to activate py39-six: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/__pycache__/six.cpython-39.pyc already exists and does not belong to a registered port.  Unable to activate port py39-six. Use 'port -f activate py39-six' to force the activation.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-six/py39-six/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port py39-jupyter failed

I followed the migration instructions wiki:Migration to start with a fresh installation.

After uninstalling all of my ports and cleaning partial builds (steps c and d), I followed the instructions at ProblemHotlist#reinstall-clt to reinstall the command line tools.

After reinstalling the command line tools, I used the script restore_ports.tcl to re-install my previous ports and at first py39-six appeared to install correctly:

--->  Computing dependencies for py39-six
--->  Fetching archive for py39-six
--->  Attempting to fetch py39-six-1.16.0_0.darwin_19.noarch.tbz2 from https://packages.macports.org/py39-six
--->  Attempting to fetch py39-six-1.16.0_0.darwin_19.noarch.tbz2.rmd160 from https://packages.macports.org/py39-six
--->  Installing py39-six @1.16.0_0
--->  Cleaning py39-six

However later in the process, when py39-six activation was required as a dependency of gobject-introspection I observed a similar error as with jupyter:

--->  Activating py39-six @1.16.0_0
Error: Failed to activate py39-six: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/__pycache__/six.cpython-39.pyc already exists and does not belong to a registered port.  Unable to activate port py39-six. Use 'port -f activate py39-six' to force the activation.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-six/py39-six/main.log for details.

The same problem manifested for all subsequent packages that depend on py39-six. I've attached the referenced log file, along with the "myports.txt" list of my previously installed ports that I was trying to re-install.

Attachments (3)

main.log (372.0 KB) - added by afaranda 3 years ago.
log file referenced in the error message
myports.txt (141.2 KB) - added by afaranda 3 years ago.
list of ports to re-install, generated during the migration process
TerminalSavedOutput.txt (685.2 KB) - added by afaranda 3 years ago.
Listing of my terminal output during this whole process

Download all attachments as: .zip

Change History (5)

Changed 3 years ago by afaranda

Attachment: main.log added

log file referenced in the error message

Changed 3 years ago by afaranda

Attachment: myports.txt added

list of ports to re-install, generated during the migration process

Changed 3 years ago by afaranda

Attachment: TerminalSavedOutput.txt added

Listing of my terminal output during this whole process

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

Description: modified (diff)
Milestone: MacPorts Future
Port: py-six added
Summary: py39-six error when required by jupyter-notebook: six.cpython-39.pyc already exists and does not belong to a registered portpy39-six: six.cpython-39.pyc already exists and does not belong to a registered port

It seems unlikely that this is a bug in MacPorts base or in any MacPorts port. It seems more likely that something outside of MacPorts installed this file into the MacPorts prefix, thereby causing this problem for MacPorts. The solution would be to manually remove the file and to refrain from running whatever process put those files there in the first place.

comment:2 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: invalid
Status: newclosed

I agree with Ryan that this seems unlikely an issue caused by MacPorts... so for now closing this ticket.

Note: See TracTickets for help on using tickets.