Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#62819 closed defect (invalid)

p5.28-perlmagick @6.9.11-60: error: architecture not supported

Reported by: murielvd (Muriel Vander Donckt) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: bigsur arm64 Cc:
Port: p5-perlmagick

Description (last modified by jmroot (Joshua Root))

sudo port install p5.28-perlmagick          
--->  Computing dependencies for p5.28-perlmagick
--->  Fetching archive for p5.28-perlmagick
--->  Attempting to fetch p5.28-perlmagick-6.9.11-60_0.darwin_20.arm64.tbz2 from https://packages.macports.org/p5.28-perlmagick
--->  Attempting to fetch p5.28-perlmagick-6.9.11-60_0.darwin_20.arm64.tbz2 from https://mse.uk.packages.macports.org/p5.28-perlmagick
--->  Attempting to fetch p5.28-perlmagick-6.9.11-60_0.darwin_20.arm64.tbz2 from https://fra.de.packages.macports.org/p5.28-perlmagick
--->  Building p5.28-perlmagick
Error: Failed to build p5.28-perlmagick: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-perlmagick/p5.28-perlmagick/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port p5.28-perlmagick failed

Attachments (1)

main.log (144.1 KB) - added by murielvd (Muriel Vander Donckt) 3 months ago.
Après la commande sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer -> il trouve bien 12.5 mais cela ne change rien…

Download all attachments as: .zip

Change History (6)

comment:1 Changed 3 months ago by jmroot (Joshua Root)

Description: modified (diff)
Owner: set to ryandesign
Port: p5-perlmagick added
Status: newassigned

comment:2 Changed 3 months ago by ryandesign (Ryan Schmidt)

Keywords: bigsur arm64 added
Resolution: invalid
Status: assignedclosed
Summary: problem install p5.28-perlmagick on BigSur 11.3.1 - arm64p5.28-perlmagick @6.9.11-60: error: architecture not supported

The log shows that you are on macOS 11.3 on an Apple Silicon machine, but that you don't have Xcode installed and you have a version of the Xcode command line tools installed that does not support macOS 11 or Apple Silicon:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/endian.h:37:2: error: architecture not supported

Please install the Xcode 12.5 command line tools for example by following wiki:ProblemHotlist#reinstall-clt or by downloading it from the Apple developer site.

comment:3 Changed 3 months ago by murielvd (Muriel Vander Donckt)

XCode 12.5 is however installed along with the corresponding command line tools…

Changed 3 months ago by murielvd (Muriel Vander Donckt)

Attachment: main.log added

Après la commande sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer -> il trouve bien 12.5 mais cela ne change rien…

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

The new log shows "Xcode 12.5" so that's fine now.

However, this port does not require Xcode, so it uses the Xcode command line tools if you have them installed, which it appears that you do.

The new log still shows the same errors:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported

and so forth. This is not surprising in that the 10.15 SDK indeed does not support Apple Silicon. So we need to determine why it is trying to use that SDK.

Part of the problem is that this is a perl module, and perl modules have a tendency to try to build themselves with the settings that were in effect when perl was built rather than the settings that are in effect now when building the module. See #62440. But I don't think that's completely it.

For example, the log shows that MacPorts is asking the build to use the 11.3 SDK, which is what we would expect to see for MacPorts 2.6.4 running on macOS 11.3, and which is the SDK version provided by Xcode 12.5 and the corresponding command line tools:

SDKROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk'

But the build is ignoring that request. The compile command contains a surprising two -isysroot flags. First:

-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk

This probably comes from perl5.28 because when perl5.28 was built on our server we were probably still running macOS 11.0.1 and Xcode 12.2. This SDK probably doesn't exist on your system so this line probably does nothing. Second:

-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk

This is probably what is causing the 10.15 SDK to be used, which apparently does exist on your system, but I don't know why this flag is appearing in the build.

Could you please let me know all the SDKs installed in the command line tools on your system?

ls -l /Library/Developer/CommandLineTools/SDKs/

Also, could you show the version of the compiler installed in your command line tools, so that I can check that it is the correct version?

/Library/Developer/CommandLineTools/usr/bin/clang --version

When you attached the new log it looks like you replaced the old log, so I cannot check the old log anymore. But the new log at least was not from a clean build attempt; it's possible that may be contributing to the problem. So please sudo port clean p5.28-perlmagick and then try installing it again.

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

The user responded by email saying:

Hi
Thank you for keeping looking into this. In order to get a consistent installation, I completely uninstalled macports and Xcode and started from scratch.
It is now solved and I managed to install the package.
Thanks again for your help.
Cheers,
Muriel

I'm glad you were able to solve it, though we weren't able definitively to figure out what caused the problem.

Note: See TracTickets for help on using tickets.