Opened 9 months ago

Closed 7 months ago

Last modified 6 months ago

#68019 closed defect (fixed)

clean fails with ::registry::entryXX for multiple ports from darwin 19 --> darwin 22.

Reported by: jeffszuhay (Jeff Szuhay) Owned by:
Priority: Normal Milestone: MacPorts 2.9.0
Component: base Version: 2.8.1
Keywords: Cc: jmroot (Joshua Root)
Port:

Description

The ports build and install but fail in the clean stage. Not all ports fail. Here is a synopsis from the log file:

Looking at the correlation between outdated ports and those where clean failed, it seems that upgrading ports from Darwin 19 to Darwin 22 are causing this failure.

MBA M1, 16gb RAM, 512GB SSD


jeff@MBA10-1 ~ % sudo port selfupdate

--->  Updating MacPorts base sources using rsync
MacPorts base version 2.8.1 installed,
MacPorts base version 2.8.1 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

jeff@MBA10-1 ~ % port outdated

The following installed ports are outdated:
clang-11                       11.1.0_6 < 11.1.0_7       
clang-16                       16.0.6_1 < 16.0.6_2       
docbook-xml                    5.0_3 < 5.0_3  (platform darwin 19 != darwin 22)  
docbook-xml-4.1.2              5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xml-4.2                5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xml-4.3                5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xml-4.4                5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xml-4.5                5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xml-5.0                5.0_1 < 5.0_1  (platform darwin 19 != darwin 22)  
docbook-xsl-nons               1.79.2_0 < 1.79.2_0  (platform darwin 19 != darwin 22)  
doxygen                        1.9.3_3 < 1.9.3_3  (platform darwin 19 != darwin 22)  
flang-16                       16.0.0_0 < 16.0.6_1       
flex                           2.6.4_0 < 2.6.4_0  (platform darwin 19 != darwin 22)  
gawk                           5.2.1_3 < 5.2.2_0         
gindent                        2.2.12_1 < 2.2.12_1  (platform darwin 19 != darwin 22)  
glib2                          2.70.5_1 < 2.76.4_0       
gnutls                         3.7.9_3 < 3.7.10_0        
gsed                           4.9_1 < 4.9_1  (platform darwin 19 != darwin 22)  
gtk-doc                        1.32_2 < 1.32_2  (platform darwin 19 != darwin 22)  
itstool                        2.0.7_2 < 2.0.7_2  (platform darwin 19 != darwin 22)  
libnetpbm                      11.02.00_0 < 11.03.00_0   
lldb-16                        16.0.6_1 < 16.0.6_2       
llvm-16                        16.0.6_0 < 16.0.6_1       
lzip                           1.23_0 < 1.23_0  (platform darwin 19 != darwin 22)  
meson                          1.0.1_0 < 1.2.1_0         
mlir-16                        16.0.6_0 < 16.0.6_1       
nasm                           2.16.01_0 < 2.16.01_0  (platform darwin 19 != darwin 22)  
netpbm                         11.02.00_0 < 11.03.00_0   
ninja                          1.11.1_1 < 1.11.1_1  (platform darwin 19 != darwin 22)  
openssl11                      1.1.1t_1 < 1.1.1v_1       
pcre                           8.45_0 < 8.45_0  (platform darwin 19 != darwin 22)  
py310-build                    0.10.0_0 < 0.10.0_0  (platform darwin 19 != darwin 22)  
py310-flit_core                3.8.0_0 < 3.9.0_0         
py310-installer                0.7.0_0 < 0.7.0_0  (platform darwin 19 != darwin 22)  
py310-packaging                23.0_0 < 23.1_0           
py310-parsing                  3.0.9_0 < 3.1.1_0         
py310-pyproject_hooks          1.0.0_0 < 1.0.0_0  (platform darwin 19 != darwin 22)  
py310-python-install           0.0.3_6 < 0.0.3_6  (platform darwin 19 != darwin 22)  
py310-setuptools               67.7.2_0 < 68.1.2_0       
py310-tomli                    2.0.1_0 < 2.0.1_0  (platform darwin 19 != darwin 22)  
py310-wheel                    0.40.0_0 < 0.41.2_0       
py310-yaml                     6.0_0 < 6.0.1_0           
py311-anytree                  2.8.0_1 < 2.9.0_0         
py311-libxml2                  2.10.2_0 < 2.10.3_0       
py311-lxml                     4.9.1_0 < 4.9.1_0  (platform darwin 19 != darwin 22)  
py311-pygments                 2.14.0_0 < 2.15.1_0       
py311-setuptools               67.7.2_0 < 68.1.2_0       
py311-six                      1.16.0_0 < 1.16.0_0  (platform darwin 19 != darwin 22)  
py311-wheel                    0.40.0_0 < 0.41.2_0       
py311-yaml                     6.0_0 < 6.0.1_0           
python2_select                 0.0_4 < 0.0_4  (platform darwin 19 != darwin 22)  
re2c                           3.0_0 < 3.1_0             
swig                           4.1.1_0 < 4.1.1_0  (platform darwin 19 != darwin 22)  
swig-python                    4.1.1_0 < 4.1.1_0  (platform darwin 19 != darwin 22)  
xar                            1.8.0.496_0 < 1.8.0.498_0   
xmlcatmgr                      2.2_1 < 2.2_1  (platform darwin 19 != darwin 22)  
xorg-libpthread-stubs          0.4_0 < 0.5_0             
xorg-xcb-proto                 1.15.2_0 < 1.16.0_0       
xz                             5.4.3_0 < 5.4.4_0         
zlib                           1.2.13_0 < 1.3_0          

jeff@MBA10-1 ~ % sudo port -Rus upgrade outdated

--->  Cleaning flang-16
Error: process_cmd failed: invalid command name "::registry::entry215"

--->  Cleaning docbook-xml
Error: process_cmd failed: invalid command name "::registry::entry66"

--->  Cleaning docbook-xsl-nons
Error: process_cmd failed: invalid command name "::registry::entry59"

--->  Cleaning doxygen
Error: process_cmd failed: invalid command name "::registry::entry70"

--->  Cleaning gindent
Error: process_cmd failed: invalid command name "::registry::entry51"

--->  Cleaning gsed
Error: process_cmd failed: invalid command name "::registry::entry66"

--->  Cleaning gtk-doc
Error: process_cmd failed: invalid command name "::registry::entry56"

--->  Cleaning nasm
Error: process_cmd failed: invalid command name "::registry::entry42"

--->  Cleaning pcre
Error: process_cmd failed: invalid command name "::registry::entry48"

--->  Cleaning py310-build
Error: process_cmd failed: invalid command name "::registry::entry45"

--->  Cleaning py310-python-install
Error: process_cmd failed: invalid command name "::registry::entry44"

--->  Cleaning python2_select
Error: process_cmd failed: invalid command name "::registry::entry41"

--->  Cleaning swig
Error: process_cmd failed: invalid command name "::registry::entry40"

--->  Cleaning swig-python
Error: process_cmd failed: invalid command name "::registry::entry40"

Change History (8)

comment:1 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Component: portsbase

The recommended way to upgrade to a new macOS version is to uninstall all ports and then reinstall the ones you want, in which case you wouldn't encounter this problem. However, the method you used should also work and I've used it many times over the years and have never seen this problem.

Is the problem repeatable? Is it always the same ports for which this error is shown?

I wonder if this is the same problem as #66186.

I wonder why you are using the -R and -s flags and whether the problem goes away if you stop using the -R flag.

comment:2 in reply to:  description Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to jeffszuhay:

upgrading ports from Darwin 19 to Darwin 22 are causing this failure.

MBA M1, 16gb RAM, 512GB SSD

An M1 Mac cannot run Darwin 19, so you must have used Migration Assistant or another method to transfer an x86_64 Darwin 19 MacPorts installation to this M1 Mac. Perhaps something went awry during the migration with regard to permissions or some other aspect of MacPorts such that a reinstallation of MacPorts would help. I do know, for example, that if you migrated the macports user, or any of the users MacPorts ports create, the Migration Assistant at least used to relocate those users' home directories, which probably has undesirable consequences and the home directories probably need to be put back to their correct locations manually along with the corresponding edits to the users' directory services information.

comment:3 in reply to:  1 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: jmroot added

Replying to ryandesign:

I've used it many times over the years and have never seen this problem.

I misspeak! I did see something like this problem in #64028 and Josh made two changes in MacPorts 2.8.0 that seemed to fix it for me. Maybe there are yet more changes that need to be made.

comment:4 Changed 9 months ago by jeffszuhay (Jeff Szuhay)

Is -R (also upgrade dependencies) on by default? I use -s to build from source so that I have a copy of the source code on my system (I think). Is there a better way to get the source code for each version of a given port?

Not readily reproducible since the upgrades actually succeeded. Will have to wait for new upgrades to these ports to see if it recurs.

Otherwise, closing this ticket.

comment:5 in reply to:  4 Changed 9 months ago by jmroot (Joshua Root)

Replying to jeffszuhay:

Is -R (also upgrade dependencies) on by default?

-R is "Also upgrade dependents", not dependencies. It makes no difference in this case because you are already upgrading all outdated ports. Dependencies are upgraded first by default unless you use -n.

I use -s to build from source so that I have a copy of the source code on my system (I think). Is there a better way to get the source code for each version of a given port?

-s makes MacPorts build from source instead of downloading a prebuilt binary archive. If you just want to have a copy of the source, you can use port fetch, which you can do regardless of whether the port was built from source locally or not.

Not readily reproducible since the upgrades actually succeeded. Will have to wait for new upgrades to these ports to see if it recurs.

It will be very difficult to investigate this without either a reproduction recipe or a backtrace as printed by the -d option.

Last edited 9 months ago by jmroot (Joshua Root) (previous) (diff)

comment:6 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

MacPorts normally deletes logs of successful builds but while investigating this issue you could set keeplogs yes in macports.conf. Then, if you encounter the issue again, check the logs. You'll want to comment out keeplogs again after this is solved so that your disk doesn't fill up with unneeded logs.

comment:7 Changed 7 months ago by jmroot (Joshua Root)

Milestone: MacPorts Future
Resolution: fixed
Status: newclosed

Likely fixed by [980a5c1e1cefd818b7000b88e2911781d7ad9c6d/macports-base]; please reopen if not.

comment:8 Changed 6 months ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 2.9.0
Note: See TracTickets for help on using tickets.