DUB Build Linker Library Search Path

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Jul 10 04:21:32 PDT 2015


On 10/07/2015 11:02 p.m., "Nordlöw" wrote:
> On Friday, 10 July 2015 at 09:37:42 UTC, Rikki Cattermole wrote:
>> On 10/07/2015 9:34 p.m., "Nordlöw" wrote:
>>> On Friday, 10 July 2015 at 09:29:49 UTC, Martin Nowak wrote:
>>>> On Friday, 10 July 2015 at 09:27:19 UTC, Nordlöw wrote:
>>>>> How do I tell `dub build` where to find libraries in non-standard
>>>>> directories?
>>>>
>>>> You're missing the development package libclang-dev, which should come
>>>> with a pkg-config.
>>>
>>> I've already installed libclang-dev.
>>>
>>> The problem is that I can't find a way (from the command line) (by
>>> reading the DUB docs) to tell DUB that it's placed in
>>>
>>>      /usr/lib/llvm-3.6/lib/libclang.so.1
>>>
>>> I don't what to have to modify the dub.json (lflags variable) as I want
>>> automation.
>>>
>>> Aren't all DUB the variables somehow modifiable in shell call?!
>>>
>>> Further
>>>
>>>      `pkg-config --list-all |grep clang`
>>>
>>> shows nothing.
>>
>> LFLAGS="..." dub build
>
> LDFLAGS="-L/usr/lib/llvm-3.6/lib" dub build --compiler="/usr/bin/dmd" -v
>
> has not effect:
>
> /usr/bin/dmd
> -of.dub/build/default-debug-linux.posix-x86_64-dmd_2067-0E9173B3A2F733029144DC3F174B9E99/dstep
> -debug -g -version=Have_dstep -version=Have_dstack -version=Have_mambo
> -version=Have_tango -Idstep -Iclang -I../../.dub/packages/dstack-0.0.3
> -I../../.dub/packages/mambo-0.0.4
> -I../../.dub/packages/tango-1.0.1_2.067 -Jresources clang/Compiler.d
> clang/Cursor.d clang/Diagnostic.d clang/File.d clang/Index.d
> clang/SourceLocation.d clang/TranslationUnit.d clang/Type.d clang/Util.d
> clang/Visitor.d clang/c/CXErrorCode.d clang/c/CXString.d clang/c/Index.d
> dstep/config/Configuration.d dstep/core/Exceptions.d
> dstep/driver/Application.d dstep/driver/DStep.d
> dstep/translator/Declaration.d dstep/translator/Enum.d
> dstep/translator/IncludeHandler.d dstep/translator/Output.d
> dstep/translator/Record.d dstep/translator/Translator.d
> dstep/translator/Type.d dstep/translator/objc/Category.d
> dstep/translator/objc/ObjcInterface.d
> ../../.dub/packages/dstack-0.0.3/libdstack.a
> ../../.dub/packages/mambo-0.0.4/libmambo.a
> ../../.dub/packages/tango-1.0.1_2.067/libtango.a -L-lclang -L-rpath -L.
> -L-L. -L-lbz2 -vcolumns
> ../../.dub/packages/mambo-0.0.4/mambo/util/Traits.d(154,39):
> Deprecation: typedef is removed
> ../../.dub/packages/mambo-0.0.4/mambo/util/Traits.d(182,30):
> Deprecation: typedef is removed
> /usr/bin/ld: error: cannot find -lclang
>
> Using export as
>
>      export LDFLAGS="-L/usr/lib/llvm-3.6/lib"; dub build
> --compiler=/usr/bin/dmd
>
> doesn't work either.
>
> Adding "-L-L/usr/lib/llvm3-6/lib" to the call to dmd works.
>
> What's wrong with my call to DUB?
>
> I'm sitting on DUB git master.

No no, LFLAGS not LDFLAGS. It's basically lflags from dub file but in 
environment args.


More information about the Digitalmars-d-learn mailing list