Opened 3 months ago

Last modified 3 months ago

#63137 assigned defect

gromacs: Error: clang-5.0 is not supported on this macOS release (Darwin 20).

Reported by: rikta43 Owned by: dstrubbe (David Strubbe)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: bigsur Cc:
Port: gromacs

Description (last modified by ryandesign (Ryan Schmidt))

I am trying to install gromacs using macports but been receving following error : (Package used : MacPorts-2.7.1-11-BigSur.pkg)

Error: clang-5.0 is not supported on this macOS release (Darwin 20).
Error: Failed to fetch clang-5.0: Unsupported macOS version
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-5.0/clang-5.0/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port gromacs failed

can you help please !!

Change History (4)

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

Description: modified (diff)
Keywords: bigsur added
Owner: set to dstrubbe
Port: gromacs added
Priority: HighNormal
Status: newassigned
Summary: Processing of port gromacs failedgromacs: Error: clang-5.0 is not supported on this macOS release (Darwin 20).
Type: requestdefect

The message is correct: clang 5.0 is not supported on macOS 11 or later.

Then the question is why gromacs is requiring the (by now quite old) clang 5.0 and how do we allow it to use a newer clang.

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

Looks like this happens because of these three lines:

# this line is needed to allow use of gcc
configure.cxx_stdlib   libstdc++
PortGroup           cxx11 1.1

Setting configure.cxx_stdlib to libstdc++ causes the cxx11 1.1 portgroup to select a compiler that is known to work on those old systems that defaulted to libstdc++ (OS X 10.8 and earlier), i.e. clang 5.0.

The cxx11 1.1 portgroup is deprecated since over a year; no port should be using it anymore. The line that includes this portgroup should be removed from the portfile and the required version of the C++ standard should instead be indicated by setting e.g. configure.cxx_standard 2011.

Whether it remains necessary to switch the C++ standard library to libstdc++ I don't know. If this port continues to use G++ to compile C++ code, it probably does. So long as this port does not use any C++ libraries from other ports, and so long as no other ports use C++ libraries of this port, that's probably fine.

comment:3 Changed 3 months ago by reneeotten (Renee Otten)

see also 61692. The version in MacPorts is about two years behind... I tried yesterday to update, and setting the compiler standard, remove the libstdc++ part in addition to fixing other things. But it failed somewhere in the build and I didn't look any further yet.

It is possible that David keeps the port behind on purpose for the plumed patches, but likely then only that subports should be kept at an earlier version. Anyhow, the last commit to this port was in June 2019, so it probably would benefit from some attention.

comment:4 Changed 3 months ago by dstrubbe (David Strubbe)

Yes I think there was something related to plumed about the version updating; I will check.

Note: See TracTickets for help on using tickets.