Open JCGoran opened 1 month ago
Do we think that one day we can fully remove this whole redef.h
file? Why is it used for?
I think functionally this was intended to de facto create a namespace for "hoc" things.
Whether or not it's worth fixing here may depend on how long it takes to get NEURON 9 out if it's already fixed there.
Is begin
the only clash, or other there others too, e.g. data
or type
. The begin
is easily fixed, just remove the #define
from the header. The other data
and type
would be a lot of tedious work.
The fix in 9.0 is to leave the renaming macros mostly intact, but the few that cause issues have been removed.
Context
NEURON branch
release/8.2
fails to build from source on MacOS 14 with AppleClang 15.0.0.15000309. Tested on Python 3.9, but others may be affected as well.Overview of the issue
The error that occurs when running
build_wheels.bash osx 3.9 coreneuron
is:It seems macro expansion is the culprit:
https://github.com/neuronsimulator/nrn/blob/078a34a9dc12dab5a339d525ba159655ed703030/src/oc/redef.h#L32
This was addressed on master in #1969, but the diff does not apply cleanly, and I'm not sure if it's compatible with 8.2.x.