octave-maintainers
[Top][All Lists]
Advanced

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

Re: mkoctfile urgently needs attention before Octave 3.6.0 release


From: Lukas Reichlin
Subject: Re: mkoctfile urgently needs attention before Octave 3.6.0 release
Date: Thu, 29 Dec 2011 19:37:48 +0100

On 29.12.2011, at 17:52, Jordi Gutiérrez Hermoso wrote:

> 2011/12/29 Lukas Reichlin <address@hidden>:
>> On 29.12.2011, at 14:47, Jordi Gutiérrez Hermoso wrote:
>> 
>>> Don't panic. :-)
>>> 
>>> Calm down.
>> 
>> I'll do my very best ;-)
>> 
>>>> In order to circumvent these problems, I propose the following
>>>> solution that works from both Octave prompt and OS shell: Addition
>>>> of a new option "--link-all-libs" to mkoctfile
>>> 
>>> No, this is not the solution. We need to understand the actual
>>> problem. You are proposing a heavy-handed solution because you don't
>>> understand the actual problem, and neither do we. We should work to do
>>> that instead of trying to revert to an old barbaric method of linking
>>> that happened to work for your case.
>>> 
>>> Marco has already proposed a solution that seems to work for other
>>> cases. We are only missing yours.
>>> 
>>> - Jordi G. H.
>> 
>> I'm glad that Marco sent me a patch. But it's just a workaround for
>> the problem, not a solution. It's not good when you have to resort
>> to the shell, query some configuration variables and then feeding
>> the result to the next call of mkoctfile.
> 
> This *is* a good solution. It's not something we invented for Octave.
> For example, pkg-config also does the same thing for many other Unix
> packages. It's also convenient. You could for example do
> 
>    mkoctfile foo.cc $(mkocfile -p BLAS_LIBS)
> 
> This is just how shells work.
> 
>> It should be possible from the Octave prompt and without tedious
>> fiddling with intermediate variables.
> 
> I don't see a huge priority to recreate a Unix shell in Octave, so if
> calling mkoctfile.m involves using an intermediate variable, I don't
> see a problem. You don't even need the intermediate variable. For
> example, you could do
> 
>    mkoctfile("foo.cc", mkoctfile("-p","BLAS_LIBS"))
> 
> which is roughly equivalent to its corresponding Unix shell call
> above.
> 
> The only bug remaining is figuring out what linking flags you need on
> McIntosh OS 10, and why mkoctfile -p LAPACK_LIBS isn't producing those
> flags.
> 
> - Jordi G. H.

I meant that it should work with only one call to mkoctfile. Something like

    mkoctfile foo.cc --link-to-blas --link-to-lapack

mkoctfile then takes care of which BLAS and LAPACK versions are to be used and 
how to avoid conflicts (my machine doesn't like it if it gets duplicate 
arguments, e.g. when BLAS and LAPACK are both from Framework Accelerate).

Lukas



reply via email to

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