octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #42002] pkg/mkoctfile need to support '-framew


From: Michael C. Grant
Subject: [Octave-bug-tracker] [bug #42002] pkg/mkoctfile need to support '-framework' flags; patch supplied
Date: Mon, 31 Mar 2014 18:51:22 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9

Follow-up Comment #4, bug #42002 (project octave):

"The mkoctfile command should automatically link in all dependency libraries
(or frameworks) that Octave was built with."

I do not agree with this at all, but that's because I am a firm believer in
the benefit of binary redistributable OCT/MEX files. Yes, I know people should
be able to recompile from source, and I never distribute my MEX files without
source. But I can tell you that it is a huge benefit to people not to have to
do so---especially on Windows, but even on Linux.

In order to maximize the likelihood of binary compatibility, the MEX/OCT file
should link to as few libraries as possible, because you can't know for sure
that a given installation has the libraries you're expecting to see.
Obviously, Octave's internal libraries are a bare minimum here; and in fact,
mkoctfile *forces* these files to be linked to liboctave/liboctinterp, no
matter what the settings are. But if a MEX/OCT file doesn't need BLAS,
suite-sparse, qrupdate, ARPACK, fftw, etc., it should not be linking to it.

Now, what seems to be happening is this: mkoctfile contains within it a
variety of the configuration's key compilation variables. Presumably this is
so the OCT file builder can use the proper versions of the arguments as it
needs to. So for instance, in this case, you have this:

>> mkoctfile -p BLAS_LIBS
-framework vecLib

Apparently, these variables are then used by some of the packages to specify
extra compiler or linker dependencies; and that's the issue:

>>pkg install -auto -forge -verbose odepkg
...
mkoctfile: unrecognized argument -frameworkmake: *** [dldsolver.oct] Error 1

Here's the relevant line from the Makefile in the odepkg source:

$(shell $(MKOCTFILE) -p BLAS_LIBS) $(shell $(MKOCTFILE) -p LAPACK_LIBS)




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?42002>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]