Opened 17 months ago

Closed 17 months ago

Last modified 16 months ago

#66301 closed defect (fixed)

portindexes on the server have wrong known_fail information

Reported by: wealthychef1 Owned by:
Priority: Normal Milestone: MacPorts 2.8.1
Component: base Version: 2.8.0
Keywords: Cc: jmroot (Joshua Root), ryandesign (Ryan Carsten Schmidt)
Port: expat diffutils-for-muniversal

Description (last modified by wealthychef1)

Hello, I'm having trouble building expat as part of xemacs.

Warning: configured user/group macports does not exist, will build as root
--->  Computing dependencies for expat
--->  Fetching archive for expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from https://packages.macports.org/expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from https://kmq.jp.packages.macports.org/expat
--->  Fetching distfiles for expat
--->  Verifying checksums for expat
--->  Extracting expat
--->  Configuring expat
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
  getrandom: found in expat-2.5.0-arm64/config.log, expat-2.5.0-x86_64/config.log
--->  Building expat
--->  Staging expat into destroot                        
Error: Failed to destroot expat: /opt/local/include/expat_config.h differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/work/destroot-arm64 and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/work/destroot-ppc-intel and cannot be merged
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/main.log for details.
Error: Unable to execute port: upgrade Xaw3d failed

Logs are attached, thank you.

Attachments (1)

main.log (150.6 KB) - added by wealthychef1 17 months ago.
logfile referenced in error message output

Download all attachments as: .zip

Change History (17)

Changed 17 months ago by wealthychef1

Attachment: main.log added

logfile referenced in error message output

comment:1 Changed 17 months ago by wealthychef1

Description: modified (diff)

comment:2 Changed 17 months ago by kencu (Ken)

I recently fixed this. If you update your ports tree and try again you should have success

You should clean this build before another try.

comment:3 Changed 17 months ago by wealthychef1

Thank you. I'm seeing that the problem only happens with the +universal specification. expat without this seems to install fine. The +universal comes from the port xemacs which has expat +universal as a dependency. So:

root@rcook-iMac (RC-bash-lib (master)): port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.8.0 installed,
MacPorts base version 2.8.0 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
root@rcook-iMac (RC-bash-lib (master)): port upgrade outdated
Nothing to upgrade.
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.
rroot@rcook-iMac (RC-bash-lib (master)): port clean expat +universal
Warning: configured user/group macports does not exist, will build as root
--->  Cleaning expat
root@rcook-iMac (RC-bash-lib (master)): port install expat +universal
Warning: configured user/group macports does not exist, will build as root
--->  Computing dependencies for expat
--->  Fetching archive for expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from https://packages.macports.org/expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/expat
--->  Attempting to fetch expat-2.5.0_0+universal.darwin_22.arm64-x86_64.tbz2 from https://kmq.jp.packages.macports.org/expat
--->  Fetching distfiles for expat
--->  Verifying checksums for expat
--->  Extracting expat
--->  Configuring expat
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
  getrandom: found in expat-2.5.0-arm64/config.log, expat-2.5.0-x86_64/config.log
--->  Building expat
--->  Staging expat into destroot                        
Error: Failed to destroot expat: /opt/local/include/expat_config.h differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/work/destroot-arm64 and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/work/destroot-ppc-intel and cannot be merged
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_expat/expat/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port expat failed

Apologies if I'm missing something obvious here.

comment:4 Changed 17 months ago by jmroot (Joshua Root)

Port: diffutils-for-muniversal added
:info:destroot sh: /opt/local/libexec/diffutils/bin/diff: Bad CPU type in executable

What is the CPU type of that executable?

comment:5 Changed 17 months ago by jmroot (Joshua Root)

Warning: configured user/group macports does not exist, will build as root

That's not good either, that user should be created when you install MacPorts.

comment:6 in reply to:  5 Changed 17 months ago by wealthychef1

Replying to jmroot:

Warning: configured user/group macports does not exist, will build as root

That's not good either, that user should be created when you install MacPorts.

I'm not sure why this is happening. I installed MacPorts normally from the installer. But the user is not created. I opened a new ticket #66306 for this part.

Last edited 17 months ago by wealthychef1 (previous) (diff)

comment:7 in reply to:  4 ; Changed 17 months ago by wealthychef1

Replying to jmroot:

:info:destroot sh: /opt/local/libexec/diffutils/bin/diff: Bad CPU type in executable

What is the CPU type of that executable?

This is related to a toolchain issue I had because I had homebrew installed. In particular, I built diffutils-for-muniversal using part of the homebrew compile toolchain. So I blew away homebrew and rebuilt diffutils, but when I did, I got the following scary warning/error:

root@rcook-iMac (part 1 (main)): port install diffutils-for-muniversal
diffutils-for-muniversal is known to fail. Try to install anyway? [y/N]: y

I said "y" and it installed and now expat does build correctly. So I think right now, it's just a bug in the diffutils installer, but definitely does not appear to be an expat problem.

comment:8 in reply to:  7 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to wealthychef1:

root@rcook-iMac (part 1 (main)): port install diffutils-for-muniversal
diffutils-for-muniversal is known to fail. Try to install anyway? [y/N]: y

The only line in the diffutils-for-muniversal Portfile that would set known_fail is:

platforms           {darwin >= 22}

This will cause known_fail to be set to yes on darwin versions less than 22. You are on darwin 22 so this should not apply to you so I can't explain why you got that message.

comment:9 Changed 17 months ago by kencu (Ken)

I set it like that as the port is needed on Ventura+, but it does probably build on older systems to some point without trouble.

But I wasn’t thinking about folks who set an older deployment target while building on Ventura…would that trigger this, if they did that?

If they set an older deployment target, will the right diff binary still be selected later in the added test?

comment:10 Changed 17 months ago by jmroot (Joshua Root)

In a82021af820bface6169267d390b166b2067662b/macports-base (master):

portindex: also set os.version with -p

See: #66301

comment:11 in reply to:  9 Changed 17 months ago by wealthychef1

Replying to kencu:

I set it like that as the port is needed on Ventura+, but it does probably build on older systems to some point without trouble.

But I wasn’t thinking about folks who set an older deployment target while building on Ventura…would that trigger this, if they did that?

If they set an older deployment target, will the right diff binary still be selected later in the added test?

Just to add context, in case it was not clear, this was all in the context of trying to get xemacs to build. So perhaps they are conjuring up an old version or doing something odd. But it's quite possible that some m4 cruft was left in the way from my other HomeBrew install that lingered after cloning to my iMac using Migration Assistant. I'm in the midst of rebuilding after wiping all the old stuff out and making sure about XCode licensing and command line tools being up to date and reinstalling MacPorts entirely. In particular I now have this with no errors, so I think this is a matter of Migration Assistant and unintended effects.

rcook@rcook-iMac (templater-obsidian (master)): port installed | grep expat
  expat @2.5.0_0 (active)
Last edited 17 months ago by wealthychef1 (previous) (diff)

comment:12 in reply to:  10 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: jmroot ryandesign added
Component: portsbase
Milestone: MacPorts Future
Summary: Error: Failed to destroot expatportindexes on the server have wrong known_fail information
Version: 2.8.0

Replying to jmroot:

In a82021af820bface6169267d390b166b2067662b/macports-base (master):

portindex: also set os.version with -p

See: #66301

Ah... so the portindexes on the server are being generated with incorrect known_fail information due to a base bug. Is it safe for me to apply just that fix to the copy of MacPorts that runs the portindex processes? I see there were several other changes to the portindex code lately.

comment:13 Changed 17 months ago by jmroot (Joshua Root)

Yes, I think just that change should apply OK.

comment:14 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)

I've applied that change, and it didn't automatically fix the portindexes, so I've trashed the Darwin 22 portindexes to let them rebuild from scratch. If that looks ok, I'll trash and rebuild the others too.

Last edited 17 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:15 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Portindexes for all Darwin versions are now rebuilt on the rsync server.

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

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