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


From: Lukas Reichlin
Subject: Re: mkoctfile urgently needs attention before Octave 3.6.0
Date: Thu, 29 Dec 2011 21:46:54 +0100

On 29.12.2011, at 21:35, c. wrote:

> 
> On 29 Dec 2011, at 21:08, Lukas Reichlin wrote:
> 
>> When I use the accelerate framework, it is linked twice, once from BLAS and 
>> once from LAPACK. When I add both libraries to the developer makefiles
>> 
>>         "$(mkoctfile -p BLAS_LIBS)" \
>>         "$(mkoctfile -p LAPACK_LIBS)"
>> 
>> I get the following error:
>> 
>> octave:1> makefile_chol
>> mkoctfile: unrecognized argument -framework Accelerate
>> octave:2> 
>> 
>> Looks like mkoctfile doesn't like duplicate arguments.
> 
> I think the problem is rather that mkoctfile does not understand the option 
> -framework Accelerate and does not pass it to the compiler/linker
> Indeed, taking an example from your package, the following works for me:
> 
> mkoctfile -Wl,-framework -Wl,Accelerate slab09hd.cc \
>              AB09HD.f TB01ID.f AB04MD.f TB01KD.f AB09HY.f \
>              AB09IX.f MB03UD.f SB02MD.f AB09DD.f TB01LD.f \
>              SB03OU.f MA02AD.f MB03QX.f select.f SB03OT.f \
>              SB02MR.f SB02MS.f MB03QD.f SB02MU.f SB02MV.f \
>              SB02MW.f MB04ND.f MB04OD.f MB03QY.f SB03OR.f \
>              SB03OY.f SB04PX.f MB04NY.f MB04OY.f SB03OV.f
> 
> while this fals:
> 
> mkoctfile -framework Accelerate slab09hd.cc \
>              AB09HD.f TB01ID.f AB04MD.f TB01KD.f AB09HY.f \
>              AB09IX.f MB03UD.f SB02MD.f AB09DD.f TB01LD.f \
>              SB03OU.f MA02AD.f MB03QX.f select.f SB03OT.f \
>              SB02MR.f SB02MS.f MB03QD.f SB02MU.f SB02MV.f \
>              SB02MW.f MB04ND.f MB04OD.f MB03QY.f SB03OR.f \
>              SB03OY.f SB04PX.f MB04NY.f MB04OY.f SB03OV.f
> 
> I think you should configure Octave so that "mkoctfile -p BLAS_LIBS" returns 
> "-Wl,-framework -Wl,Accelerate" 
> rather than "-framework Accelerate". As you are using macports this should be 
> done somewhere in your portfile
> 
>> Lukas
> 
> HTH,
> c.

Hmm, I'm not sure about this. Interestingly, it works if I use 

    "$(mkoctfile -p BLAS_LIBS)"

in my developer makefiles alone. As soon as I add

    "$(mkoctfile -p BLAS_LIBS)" \
    "$(mkoctfile -p LAPACK_LIBS)"

I get errors. Note that linking to BLAS alone just works when I use Accelerate. 
The reason is that Accelerate also includes the LAPACK stuff which my code 
needs. Obviously, I have to link to both BLAS and LAPACK on non-mac platforms.

Lukas



reply via email to

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