Opened 3 years ago

Last modified 3 years ago

#63374 new defect

xfig: Cannot install xfig for the arch 'arm64' because its dependency libpng is only installed for the arch 'x86_64' and the configured universal_archs 'x86_64 i386' are not sufficient

Reported by: jgbroida Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: arm64 bigsur Cc:
Port: xfig

Description

I have a new MacBook Pro with the M1 chip running Big Sur 11.15.2. I installed Xcode and the developer tools. MacPorts 2.7.1 is installed and verified on Terminal. I tried to install xfig and get the attached message. I'm certainly no computer expert and I don't know how to fix this (which I suspect is due to Rosetta).

Attachments (2)

xfig build failure.docx (12.3 KB) - added by jgbroida 3 years ago.
xfig attempt.pdf (31.2 KB) - added by jgbroida 3 years ago.

Download all attachments as: .zip

Change History (8)

Changed 3 years ago by jgbroida

Attachment: xfig build failure.docx added

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

Keywords: arm64 bigsur added
Summary: xfig build failurexfig: Cannot install xfig for the arch 'arm64' because its dependency libpng is only installed for the arch 'x86_64' and the configured universal_archs 'x86_64 i386' are not sufficient

It's simpler for everyone if you use free document formats like text files rather than proprietary formats like Word documents. The contents of the Word document are:

Last login: Sun Aug 15 17:19:24 on ttys000
joelbroida@Joels-MacBook-Pro ~ % sudo port install xfig                     
Password:
Error: Cannot install xfig for the arch 'arm64' because
Error: its dependency libpng is only installed for the arch 'x86_64'
Error: and the configured universal_archs 'x86_64 i386' are not sufficient.
Error: Unable to execute port: architecture mismatch
joelbroida@Joels-MacBook-Pro ~ %

Since you are on an Apple Silicon Mac, libpng should not be installed for x86_64; it should be installed for arm64. This suggests that you had MacPorts installed on a previous Intel Mac, migrated that drive to this Mac, and did not perform the MacPorts migration process afterward, so you should perform those steps now, which will involve possibly updating your macports.conf file and then reinstalling all ports.

comment:2 Changed 3 years ago by jgbroida

You are correct that I used Time Machine to set up this new Mac. After your reply, I think I uninstalled MacPorts correctly (following Section 2.4 I hope) and then ran the MacPorts installer again. I have Xcode and the Command Line Tools installed, but I get the same error message as before when I try to install xfig. I don't know enough Unix to understand how to update the macports.conf file as described in the migration procedure. A little step-by-step would be really helpful.

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

If you have made no changes to macports.conf that you wish to preserve, you can adopt all of the changes from the new macports.conf.default file by coping it over the macports.conf file:

cd /opt/local/etc/macports
sudo cp -a macports.conf.default macports.conf

You will be prompted to enter your administrator password, which will not be echoed to the screen, and then press Return.

You can do similarly for the other conf files in that directory to update them.

If you wish to inspect the differences first, you can do it at the command line:

cd /opt/local/etc/macports
diff -u macports.conf.default macports.conf

Or you can use a text editor that has a built-in diff feature; BBEdit is such an editor which I use and recommend; it can be used for free without some of its more advanced features. To view the differences with BBEdit:

cd /opt/local/etc/macports
/Applications/BBEdit.app/Contents/Helpers/bbdiff macports.conf.default macports.conf

Changed 3 years ago by jgbroida

Attachment: xfig attempt.pdf added

comment:4 Changed 3 years ago by jgbroida

Thanks for your reply. I copied the new macports.conf.default file as you suggested, and then ran the command to look for differences, which showed nothing else. I tried to install xfig again, and it looked like it was going fine until it didn't. I'm attaching the terminal text from the install attempt.

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

Again, it's simpler if you just attach the original text output rather than converting it to something like a pdf. A text file can be viewed directly on the web whereas a pdf or doc file needs to be downloaded and opened into a separate application.

The terminal transcript in your pdf shows that m4 failed to configure. Therefore, please attach the main.log and config.log from that failed attempt so that we can see what went wrong. The paths to those files are shown in your transcript.

Your transcript also shows that MacPorts is installing xfig's dependencies universal (for both x86_64 and arm64). Normally ports are not installed universal, but MacPorts will install dependencies universal if it determines that it is necessary to do so. For example, if a port to be installed does not support arm64, then it will be installed for x86_64, and to do that its dependencies need to be installed universal. Unfortunately MacPorts does not print any output identifying which port is causing this to occur. Since building universal is not the norm, it could be the reason for the configure failure, but we won't know until we see the logs.

comment:6 Changed 3 years ago by jgbroida

I don't know how to find the logs in /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsy nc.macports.org_macports_release_tarballs_ports_devel_m4/m4/main .log. I guess I should say I don't know how to follow that path. When I search for the /opt/ folder (using the Go to Folder option in Finder) I get /opt/local/var/ but then there's no macports subfolder. Also, I don't know how to attach the original text of a terminal window which is why I was attaching a pdf copy. Sorry, but I just don't know enough about how to use my Mac. This should all be a good learning experience for me.

Note: See TracTickets for help on using tickets.