Opened 4 years ago

Last modified 2 months ago

#61488 new defect

multiple ports: review macOS version checking — at Version 8

Reported by: jmroot (Joshua Root) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: daitakahashi, jeremyhu (Jeremy Huddleston Sequoia), larryv (Lawrence Velázquez), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), ryandesign (Ryan Carsten Schmidt), tobypeterson
Port: icu-le-hb libassuan isl libdaemon cloog gdbm db60 net-snmp gsl libcanberra sox xorg-libXxf86vm libart_lgpl

Description (last modified by jmroot (Joshua Root))

All these ports have a patch called yosemite-libtool.patch which adjusts the macOS version checking so it correctly recognises 10.x versions above 10.9. They should be reviewed for macOS 11.0 compatibility. If there is a problem, they will fail to build on Big Sur due to undefined symbols. If they don't fail to build, they must not actually need to allow undefined symbols and no action is needed AFAICT, as the existing code won't use -flat_namespace on unrecognised versions.

Failing ports should be patched the same way that libtool has been: https://github.com/macports/macports-ports/blob/master/devel/libtool/files/dynamic_lookup-11.patch

port maintainer status
cloog@larryv
db60
gdbm
gsl@daitakahashi,openmaintainer
icu-le-hb@ryandesign,openmaintainer
isl@MarcusCalhoun-Lopez,openmaintainer
libart_lgpl@tobypeterson,openmaintainer
libassuan@larryv,openmaintainer
libcanberra
libdaemon
net-snmp@ryandesign,openmaintainer
sox
xorg-libXxf86vm@jeremyhu,openmaintainer

Change History (8)

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

I would expect all of the ports that have the yosemite-libtool.patch to need it, and to therefore need to be updated to the new dynamic_lookup-11.patch.

When updating, please remove the old yosemite-libtool.patch and add the new patch named dynamic_lookup-11.patch so that it is easier to find in the future if we need to update it.

comment:2 Changed 4 years ago by mf2k (Frank Schima)

Description: modified (diff)

comment:3 Changed 4 years ago by Schamschula (Marius Schamschula)

In 8c569a9171bab59a4b49ac7c16d269968f23535d/macports-ports (master):

libgcrypt: update macOS version checking for Big Sur

See: #61488

comment:4 Changed 4 years ago by tenomoto (Takeshi Enomoto)

In a924c20a4f3c9ddedb85590ec49b25e2b073587b/macports-ports (master):

hdf4: update to 4.2.15

  • update to 4.2.15
  • replace yosemite-libtool.patch with patch-configure.diff and patch-m4-libtool.m4.diff
  • enable build on Big Sur

See: #61488

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

As is the case anytime you patch a port that uses autotools, you should only patch generated files or only patch non-generated files, not both. If your port does not run auto(re)conf, patch the generated configure file. If your port runs auto(re)conf and has a libtool.m4, patch that. If your port runs auto(re)conf and does not have a libtool.m4, patch nothing; the patched libtool.m4 from the libtool port will be used. If you patch both but do not run auto(re)conf, make absolutely certain that your patch for configure is performed after the patches for the m4 files, otherwise depending on timing sometimes it will cause configure to be regenerated when you did not want it to be.

The libtool port patches both because it needs to both have a fixed configure script at build time and it needs to install a patched libtool.m4 for others to use.

comment:6 Changed 4 years ago by kencu (Ken)

You might consider leaving gcc 44 to 49 out perhaps, as none of these will be fixed to build on Big Sur anyway. None of them build above 10.11, AFAIK.

comment:7 Changed 4 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

In d9b3661908853116b547ec4d293b9dced812dcd4/macports-ports (master):

db48: add support for MACOSX_DEPLOYMENT_TARGET > 10

See #61488

comment:8 Changed 4 years ago by jmroot (Joshua Root)

Cc: Schamschula tenomoto removed
Description: modified (diff)
Port: libgcrypt db48 hdf4 gcc46 gcc48 gcc49 gcc47 gcc45 gcc44 removed
Note: See TracTickets for help on using tickets.