Linker error from dub?

Stiff via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Nov 11 21:44:35 PST 2015


On Thursday, 12 November 2015 at 05:17:58 UTC, BBasile wrote:
> On Thursday, 12 November 2015 at 02:02:56 UTC, Stiff wrote:
>> Possibly a dumb question, I'm not sure.
>> [...]
>> undefined reference to `cblas_dgemm'
>> collect2: error: ld returned 1 exit status
>> --- errorlevel 1
>> dmd failed with exit code 1.
>>
>>
>> Any suggestions? I do have a blas library installed, but the 
>> cblas D project isn't docced very well, so I don't know if 
>> there's a compatibility issue.
>>
>> Thanks!
>
> You should add something to tell DUB to link your program with 
> the openblas static library since cblas is just a binding. For 
> example this should work:
>
> {
>          "name" : "tcbuilder",
>          "description" : "Thalamocortical network parameter 
> parser",
>          "dependencies" : {
>              "cblas": "~>0.1.0",
>              "scid": "~>0.3.0"
>          },
>          "libs" : [
>            "openblas"
>          ],
> }
>
> And install the 'openblas-devel' package of course. Btw I've 
> verified with a simple program and it works, although it just 
> included cblas, not scid.

Does the libs element from cblas' dub.json not handle that 
library linkage? I suppose I should also mention that it was 
compiling fine before I actually used a function from the library 
in my code.

If it does work with OpenBLAS, that would seem to suggest that 
"Works with OpenBLAS and others" is a bit more restrictive than 
it sounds...


More information about the Digitalmars-d-learn mailing list