I'm trying to update NumPy to 1.61.1, with some success ... but have come up
with something odd with respect to the distutils/fcompiler/gnu.py provided
within NumPy: the "rpath" setting that I fixed a little over 2 years ago has
reared its ugly head!
The original code at the time was (NumPy 1.11.2):
{{{
-Wl,-rpath="DIR"
}}}
where DIR is the rpath directory (unquoted). These flags are being appended to
the Fortran build command for linking libraries (technically .so objects).
With some trial and error testing, my change back ~2 years ago fixed this to
instead be:
{{{
-Wl,-rpath -Wl"DIR"
}}}
The original code is now as of NumPy 1.16.1:
{{{
-Wl,-rpath,DIR
}}}
... note the "," separator and unquoted DIR.
Up until some recent time, my fix worked. Then ... something changed, and the
now-original code seems to work in my testing: installing NumPy then trying to
build SciPy & changing this specific line of code between SciPy builds verifies
the use of "-rpath,DIR" ... or, probably better would be '-rpath,"DIR"' in case
the DIR has spaces in it.
Since these flags are being passed through to the linker (ld), I have to
believe that what changed is the acceptable linker arguments for doing rpath.
I know there's been quite a bit of kerfuffle recently about ld64 and using
xcode's versus MP's actual linker. Maybe this makes a difference? Does the
rpath argument to the linker depend on which linker is being used? Does the
linker used depend on the version of OSX? Can we select a single "-rpath"
argument setting here to use so that it works with all linkers?
I'm hoping others can shed some light here so that I can get NumPy updated &
properly working for all of the potential linkers we might now use. Thx! - MLD