|
On 9/22/26 1:38 AM, Dmitry Yu.
Bolkhovityanov via Tech-talk wrote:
Hi!
GCC-14 becomes mainstream (e.g. Debian-13), and familiar
base-3.15.6 fails to build with it. Fotrunately, 3.15.9 was built
successfully, but I wanted to check it for "future-proofness" and
tried building with GCC-15 and GCC-16. It had failed with both.
...
GCC 14+ have been aggressive in trying to discourage use of
error-prone language constructs, and the older standards which
permitted them. Some of the compile errors you mention should be
avoidable by building with "make CMD_CFLAGS=-std=c89" (or C11 as
Remi mentions). I think not a long term solution, but with this
older code maybe long enough?
The
3.15.9 is currently the latest release of EPICS3, which is still
widely used. And there are chances it will become unbuildable on
modern systems in a year or two.
This has already happened to the 3.14 branch, and the 3.13 branch
before that, and the 3.12 branch... The pattern is clear. Code
which is not being maintained will become unbuildable in newer
environments. To my mind, those with an interest in running older
code on newer systems need to step up and help with this work.
Maybe
the time for base-3.15.10 had come?
As I write this, the most recent commit on the 3.15 branch dates
from Dec. 2025. About 10 months ago. At this point, the
prerequisite for any work will be to update the CI build
configuration (Github Actions and Appveyor). Mostly this will
mean applying changes equivalent to those made to the 7.0 branch.
Then finding and "git-cherry-pick"ing the fixes which have been
made to the 7.0 branch. All of which I think makes this an ideal
task for a new contributor (hint again).
|