Opened 4 months ago

Last modified 4 months ago

#61488 new defect

multiple ports: review macOS version checking

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), Schamschula (Marius Schamschula), ryandesign (Ryan Schmidt), tenomoto (Takeshi Enomoto), tobypeterson
Port: icu-le-hb libassuan libgcrypt isl libdaemon cloog gdbm db60 db48 net-snmp hdf4 gsl gcc46 gcc48 gcc49 gcc47 gcc45 gcc44 libcanberra sox xorg-libXxf86vm libart_lgpl

Description (last modified by mf2k (Frank Schima))

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
db48@jmroot,openmaintainer
db60
gcc44
gcc45
gcc46
gcc47
gcc48
gcc49
gdbm
gsl@daitakahashi,openmaintainer
hdf4@tenomoto
icu-le-hb@ryandesign,openmaintainer
isl@MarcusCalhoun-Lopez,openmaintainer
libart_lgpl@tobypeterson,openmaintainer
libassuan@larryv,openmaintainer
libcanberra
libdaemon
libgcrypt@Schamschula,openmaintainer
net-snmp@ryandesign,openmaintainer
sox
xorg-libXxf86vm@jeremyhu,openmaintainer

Change History (6)

comment:1 Changed 4 months ago by ryandesign (Ryan 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 months ago by mf2k (Frank Schima)

Description: modified (diff)

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

In 8c569a9171bab59a4b49ac7c16d269968f23535d/macports-ports (master):

libgcrypt: update macOS version checking for Big Sur

See: #61488

comment:4 Changed 4 months 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 months ago by ryandesign (Ryan 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 months 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.

Note: See TracTickets for help on using tickets.