Opened 3 years ago

Last modified 3 years ago

#63251 assigned defect

GILDAS build fail on Big Sur / arm64 — at Version 3

Reported by: rampante Owned by: bardeau
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gildas

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I've been trying to install gildas on macOS Big Sur 11.4 (Xcode version 12.5, M1 chip) without success:

  • at first I got a "ld: framework not found CoreFoundation" error. Following this ticket, I reinstalled gcc11 and python38 from source
  • now, on the other hand, this warning appears:
    -->  Found 3 broken files, matching files to ports
    --->  Found 1 broken port, determining rebuild order
    You can always run 'port rev-upgrade' again to fix errors.
    The following ports will be rebuilt: gildas @202107a+gcc11
    

and, after a few of attempts, the build is still broken. Running port -d -y rev-upgrade yields the following output.

Change History (4)

Changed 3 years ago by rampante

Attachment: error.log added

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

Owner: set to bardeau
Port: gildas added
Status: newassigned

comment:2 Changed 3 years ago by bardeau

Hi,

the error for the "3 broken files" was fixed by https://github.com/macports/macports-ports/pull/11535 a few days ago.

However, another error is raised by MacPorts:

--->  No broken files found.
gildas is using libstdc++ (this installation is configured to use libc++)
--->  Found 1 broken port, determining rebuild order
DEBUG: Broken: gildas
DEBUG: Processing port gildas @0:202107a_1+gcc11
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: gildas @202107a+gcc11
Continue? [Y/n]:

I assume that the statement "gildas is using libstdc++ (this installation is configured to use libc++)" is the reason for declaring gildas as broken.

During the compilation on my local machine, the C++ sources are indeed compiled by g++ (MacPorts gcc11 11.1.0_2) 11.1.0. Why does MacPorts says "this installation is configured to use libc++"? What should be done to avoid this error?

This looks very similar this ticket 56554.

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

Description: modified (diff)

Why does MacPorts says "this installation is configured to use libc++"?

Because MacPorts installations on Mac OS X 10.6 and later are configured by default to use libc++. The setting is cxx_stdlib. It can be changed in macports.conf. The setting does not appear in the default macports.conf because it is not really intended to be changed, and if you change it you must uninstall and reinstall all C++-using ports.

What should be done to avoid this error?

The port should not compile C++ software using g++. If that cannot be avoided, and if the port does not use any C++ libraries installed by another port, and if the port does not install any C++ libraries that are to be used by other ports, then the port can suppress the warning by setting (IIRC) configure.cxx_stdlib macports-libstdc++.

Note: See TracTickets for help on using tickets.