Opened 3 years ago

Last modified 3 years ago

#58678 new defect

xorg-server @1.20.5_0: upgrade fails with "mkfontdir not registered as installed & active"

Reported by: dliessi (Davide Liessi) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: xorg-server

Description

$ sudo port -t upgrade xorg-server
--->  Computing dependencies for xorg-server
--->  Fetching archive for xorg-server
--->  Installing xorg-server @1.20.5_0
Error: Registry error: mkfontdir not registered as installed & active.
Error: See /opt/local/var/macports/logs/_opt_macports-git_macports-ports_x11_xorg-server/xorg-server/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
$ port info mkfontdir
mkfontdir @1.0.7_1
Replaced by:          mkfontscale
[...]
$ port installed name:mkfont
The following ports are currently installed:
  mkfontdir @1.0.7_0
  mkfontscale @1.2.1_0 (active)

This happened also with the previous update of xorg-server I performed: I could solve it by deactivating mkfontscale and activating mkfontdir, but I think this should be fixed without needing such a workaround.

Attachments (3)

main.log (10.5 KB) - added by dliessi (Davide Liessi) 3 years ago.
main.2.log (10.5 KB) - added by dliessi (Davide Liessi) 3 years ago.
updated main.log
main.3.log (11.1 KB) - added by dliessi (Davide Liessi) 3 years ago.
main.log after cleaning the archive

Download all attachments as: .zip

Change History (15)

comment:1 Changed 3 years ago by dliessi (Davide Liessi)

Sorry, I forgot to say that I'm running MacPorts 2.5.4 on OS X 10.11.6 (El Capitan).

comment:2 Changed 3 years ago by mf2k (Frank Schima)

Please attach the main.log file.

mkfontdir is obsolete and no longer required. You should not have it installed. xorg-server does not depend on it anymore. So I don't think there is anything to fix here.

comment:3 Changed 3 years ago by jmroot (Joshua Root)

@mf2k: And yet the registry is complaining about it. Hard to see how that could be user error.

@dliessi: Please do attach the main.log. You're right that manual intervention should not be required here.

Changed 3 years ago by dliessi (Davide Liessi)

Attachment: main.log added

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

What surprises me in the log is:

:msg:main --->  Computing dependencies for xorg-server:info:main .:debug:main Checking for conflicts against xorg-server
:debug:main Searching for dependency: xorg-server-devel
:debug:main Didn't find receipt, going to depspec regex for: xorg-server-devel
:debug:main Searching for dependency: xorg-server-1.18
:debug:main Didn't find receipt, going to depspec regex for: xorg-server-1.18

The rest of the dependencies shown after that look reasonable, but why does it think that xorg-server-devel and xorg-server-1.18 are dependencies of xorg-server? They're not; they're alternatives to it.

The log also shows that the Portfiles are located in the nonstandard location /opt/macports-git/macports-ports. Is this a clone of the official GitHub macports/macports-ports repository or is it a fork or might it for some other reason have unofficial modifications to the xorg-server Portfile?

If your copy of the Portfile matches our official one, then I would point out that the log also says:

:debug:archivefetch Skipping completed org.macports.fetch (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.checksum (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.extract (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.patch (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.configure (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.build (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.destroot (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.

"Skipping completed" means some phases were completed earlier, in other words this was not a clean installation attempt. So I would run sudo port clean xorg-server and then try again.

comment:5 in reply to:  4 Changed 3 years ago by dliessi (Davide Liessi)

Replying to ryandesign:

The log also shows that the Portfiles are located in the nonstandard location /opt/macports-git/macports-ports. Is this a clone of the official GitHub macports/macports-ports repository or is it a fork or might it for some other reason have unofficial modifications to the xorg-server Portfile?

It is a clone of the official repository.

"Skipping completed" means some phases were completed earlier, in other words this was not a clean installation attempt. So I would run sudo port clean xorg-server and then try again.

Trying again:

$ sudo port -t selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.5.4 installed,
MacPorts base version 2.5.4 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
$ sudo port clean xorg-server
--->  Cleaning xorg-server
$ sudo port -t upgrade xorg-server
--->  Computing dependencies for xorg-server
--->  Fetching archive for xorg-server
--->  Installing xorg-server @1.20.5_0
Error: Registry error: mkfontdir not registered as installed & active.
Error: See /opt/local/var/macports/logs/_opt_macports-git_macports-ports_x11_xorg-server/xorg-server/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

I'm attaching main.log.

Changed 3 years ago by dliessi (Davide Liessi)

Attachment: main.2.log added

updated main.log

comment:6 in reply to:  4 Changed 3 years ago by dliessi (Davide Liessi)

Replying to ryandesign:

:debug:archivefetch Skipping completed org.macports.fetch (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.checksum (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.extract (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.patch (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.configure (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.build (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.destroot (xorg-server)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.

These are present also in the new main.log. I guess that's because MacPorts tries to install from the pre-built archive, which has already been fetched and then skips all phases before install.

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

Yes, I agree.

But what the new transcript and log do not show, curiously, is the archive being downloaded. I guess this is because the downloaded archive is still in /opt/local/var/macports/incoming because the default for sudo port clean is to only clean the work directory. Try sudo port clean --work --archive xorg-server to also delete the archive, so that it will get downloaded again and we can verify that it's downloading the right thing from the right server.

Something else I might hesitantly suggest is uninstalling the xorg-server you currently have installed, with sudo port -f uninstall xorg-server, but if that still doesn't help, then you'll be left without any xorg-server at all until we figure this out, which might not be desirable.

comment:8 in reply to:  7 Changed 3 years ago by dliessi (Davide Liessi)

$ sudo port clean --work --archive xorg-server
--->  Cleaning xorg-server
$ sudo port -t upgrade xorg-server
--->  Computing dependencies for xorg-server
--->  Fetching archive for xorg-server
--->  Attempting to fetch xorg-server-1.20.5_0.darwin_15.x86_64.tbz2 from http://fco.it.packages.macports.org/mirrors/macports-packages/xorg-server
--->  Attempting to fetch xorg-server-1.20.5_0.darwin_15.x86_64.tbz2 from http://lil.fr.packages.macports.org/xorg-server
--->  Attempting to fetch xorg-server-1.20.5_0.darwin_15.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/xorg-server
--->  Installing xorg-server @1.20.5_0
Error: Registry error: mkfontdir not registered as installed & active.
Error: See /opt/local/var/macports/logs/_opt_macports-git_macports-ports_x11_xorg-server/xorg-server/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

New main.log attached.

Replying to ryandesign:

Something else I might hesitantly suggest is uninstalling the xorg-server you currently have installed, with sudo port -f uninstall xorg-server, but if that still doesn't help, then you'll be left without any xorg-server at all until we figure this out, which might not be desirable.

If I remember correctly, I already did this for the previous upgrade of xorg-server, which had the same problem for me. After the installation failed again I was able to reinstall xorg-server by deactivating mkfontscale and activating the old mkfontdir; then after the installation succeeded I activated mkfontscale again. I can try again, if you want.

Changed 3 years ago by dliessi (Davide Liessi)

Attachment: main.3.log added

main.log after cleaning the archive

comment:9 Changed 3 years ago by kencu (Ken)

do you have any active repos other than the main macports repo?

do you have any ports downgraded to older versions manually by activating older versions?

comment:10 in reply to:  9 Changed 3 years ago by dliessi (Davide Liessi)

Replying to kencu:

do you have any active repos other than the main macports repo?

No.

do you have any ports downgraded to older versions manually by activating older versions?

No.

$ port outdated
The following installed ports are outdated:
ntfs-3g                        2017.3.23_0 < 2017.3.23_1   
osxfuse                        3.7.1_0 < 3.8.3_0         
pstoedit                       3.73_2 < 3.74_0           
xorg-server                    1.20.4_0 < 1.20.5_0       

Updating osxfuse and ntfs-3g fails on my system (known problem), pstoedit fails because of #58602, everything else is up to date.

comment:11 in reply to:  7 Changed 3 years ago by dliessi (Davide Liessi)

Replying to ryandesign:

Something else I might hesitantly suggest is uninstalling the xorg-server you currently have installed, with sudo port -f uninstall xorg-server, but if that still doesn't help, then you'll be left without any xorg-server at all until we figure this out, which might not be desirable.

I tried deactivating the outdated version of xorg-server and then installing xorg-server, getting the same error.

$ sudo port -t deactivate xorg-server
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break: xorg @20090316_0
Continue? [y/N]: y
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Deactivating xorg-server @1.20.4_0
--->  Cleaning xorg-server
$ sudo port -t install xorg-server
--->  Computing dependencies for xorg-server
--->  Fetching archive for xorg-server
Warning: Your DNS servers incorrectly claim to know the address of nonexistent hosts. This may cause checksum mismatches for some ports. See this page for more information: <https://trac.macports.org/wiki/MisbehavingServers>
--->  Attempting to fetch xorg-server-1.20.5_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/xorg-server
--->  Attempting to fetch xorg-server-1.20.5_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/xorg-server
--->  Installing xorg-server @1.20.5_0
Error: Registry error: mkfontdir not registered as installed & active.
Error: See /opt/local/var/macports/logs/_opt_macports-git_macports-ports_x11_xorg-server/xorg-server/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port xorg-server failed

I'm not attaching the new main.log since it is essentially the same as the previous one.

Any ideas?

comment:12 Changed 3 years ago by dliessi (Davide Liessi)

Any news on this? I get the same error also on another machine.

Note: See TracTickets for help on using tickets.