Opened 3 years ago

Closed 3 years ago

#63147 closed defect (fixed)

mpich-gcc9: misleading error message on arm

Reported by: TheWrongGuy Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: mascguy (Christopher Nielsen)
Port: mpich

Description

Dear all,

I'm experiencing a strange, imo, bug. When trying to install 'mpich-gcc9 +fortran' I get the error message 'Failed to fetch mpich-gcc9: mpich-gcc9 is not supported on darwin 20'. However on the source, so 'https://packages.macports.org/mpich-gcc9' there is definitly a darwin 20 named package available. Do you have an idea whats going on there? I'm on the latest version on a M1 MacMini.

Thanks!

Change History (9)

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

Cc: mascguy added
Owner: set to eborisch
Port: mpich added
Status: newassigned
Summary: Darwin 20 not supported for package on M1mpich-gcc9: misleading error message on arm

I believe gcc 9 is indeed unsupported on arm, so the bug is that the message says "darwin 20" when it really means "arm".

comment:2 Changed 3 years ago by TheWrongGuy

For a colleague it's working fine on a M1 Mac. I also have strange errors in the log. See the following from '/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_mpich/mpich-gcc9/main.log' to root out M1 problems I set build arch to x86_64

.... :info:archivefetch ---> mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified :msg:archivefetch ---> Attempting to fetch mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2 from https://packages.macports.org/mpich-gcc9 :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 :msg:archivefetch ---> Attempting to fetch mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2 from https://nue.de.packages.macports.org/mpich-gcc9 :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 Not Found :msg:archivefetch ---> Attempting to fetch mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2 from https://fra.de.packages.macports.org/mpich-gcc9 :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 Not Found :debug:archivefetch Privilege de-escalation not attempted as not running as root. :debug:fetch fetch phase started at Mon Jun 28 15:13:07 CEST 2021 :notice:fetch ---> Fetching distfiles for mpich-gcc9 :debug:fetch Executing proc-pre-org.macports.fetch-fetch-0 :debug:fetch Executing proc-pre-org.macports.fetch-fetch-1 :error:fetch Failed to fetch mpich-gcc9: mpich-gcc9 is not supported on darwin 20 ....

There are Error 404s, so the fetching itself is failing. Weird. Is the URL wrong? This is a freshly installed MacPorts 2.7.1 with a 'sudo port selfupdate' run before and on the webserver itself I can finde a 'mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2'......

comment:3 Changed 3 years ago by TheWrongGuy

I see my macports is trying to fetch mpich-gcc9-3.4.2_0.darwin_20.x86_64.tbz2, which is indeed not there, and not the existent mpich-gcc9-3.4.2_0+fortran.darwin_20.x86_64.tbz2 however I use '+fortran' can I adjust the package being fetched somehow?

comment:4 in reply to:  1 Changed 3 years ago by mascguy (Christopher Nielsen)

Josh is correct, mpich-gcc9 is not supported for ARM/M1 Macs. However, you can use any of the following instead:

  • mpich-default (uses MacPorts-provided default GCC)
  • mpich-clang (uses Xcode-provided Clang)
  • mpich-clang11 (uses MacPorts-provided Clang 11)

Do you folks have a specific need for GCC 9...?

comment:5 Changed 3 years ago by TheWrongGuy

I see! I have to check this with our devs, maybe we can change this. However I found out now that instead of fiddeling around with the macports.conf and Rosetta 2, leaving the macports.conf at default and just starting the Terminal with Rosetta 2 seems to let me install mpich-gcc9. However I don't understand why setting the evironment to x86 results in a wrong package name being fetched. Thank you guys for the quick help! I will talk to the others to find out if we have to use Rosetta 2 emulated ports or if we can use the suggested one.

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

You can install an x86_64 build of GCC 9 and run it through Rosetta 2, you just can't get a native arm64 build. As for why starting MacPorts with Rosetta 2 results in x86_64 builds, that's because MacPorts defaults to building for the arch that it is built as unless told differently via macports.conf, and the binary installer is universal so you can run MacPorts as either arch. This is touched on in BigSurProblems#Rosetta2andbuild_arch.

comment:7 Changed 3 years ago by TheWrongGuy

Yes I understand that now. However another issue was: I set build arch in the macports.conf to 'x86_x64' and started terminal with Rosetta 2. This results also in a wrong package name being fetched which is not available on the sources. Commenting 'build arch' out again allows the proper download.

comment:8 Changed 3 years ago by mascguy (Christopher Nielsen)

Josh/Anyone, is there any additional follow-up, etc, needed for this?

comment:9 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.