However, I expect that will make it incompatible with earlier versions of octave that used LD_CXX, so a more nuanced solution may be needed that detects and uses whatever the current version of octave needs.
As for the deprecation of LFLAGS, I'm not sure what to do. The suggestion to use LDFLAGS instead is curious to me. The pure-octave Makefile already uses both LFLAGS and LDFLAGS. And LDFLAGS doesn't contain all the flags LFLAGS does:
$ mkoctfile -p LFLAGS
warning: LFLAGS is deprecated and will be removed in a future version of Octave, use LDFLAGS instead
-L/opt/local/lib/octave/6.4.0 -L/opt/local/lib
$ mkoctfile -p LDFLAGS
-L/opt/local/lib -Wl,-headerpad_max_install_names -L/opt/local/libexec/qt5/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64
Specifically, LDFLAGS is missing -L/opt/local/lib/octave/6.4.0. If I remove the LFLAGS, the build fails with:
ld: library not found for -loctinterp
If I keep LFLAGS and overlook the deprecation message it builds fine.
Ryan, sorry for getting back so late, and thanks for reporting the issue! I replaced LD_CXX as you suggested, fixed in git. I also agree that we should keep LFLAGS until LDFLAGS does the right thing.
pure-octave 0.13 fails to build for me on macOS 10.15.7 with octave 6.4.0. This happens when running
make
:This is not detected as an error so
make install
is allowed to proceed, but of course it fails too:Looks like Octave 6.4.0's
mkoctfile
at least does not know aboutLD_CXX
anymore but it does have something calledCXXLD
:This fixes it for me:
However, I expect that will make it incompatible with earlier versions of octave that used
LD_CXX
, so a more nuanced solution may be needed that detects and uses whatever the current version of octave needs.As for the deprecation of
LFLAGS
, I'm not sure what to do. The suggestion to useLDFLAGS
instead is curious to me. The pure-octave Makefile already uses bothLFLAGS
andLDFLAGS
. AndLDFLAGS
doesn't contain all the flagsLFLAGS
does:Specifically,
LDFLAGS
is missing-L/opt/local/lib/octave/6.4.0
. If I remove theLFLAGS
, the build fails with:If I keep
LFLAGS
and overlook the deprecation message it builds fine.