How to create meson.build with external libs?

p.shkadzko p.shkadzko at gmail.com
Tue Jan 14 20:29:08 UTC 2020


On Tuesday, 14 January 2020 at 20:14:30 UTC, p.shkadzko wrote:
> On Tuesday, 14 January 2020 at 15:15:09 UTC, Rasmus Thomsen 
> wrote:
>> On Tuesday, 14 January 2020 at 09:54:18 UTC, p.shkadzko wrote:
>>> On Monday, 13 January 2020 at 21:15:51 UTC, p.shkadzko wrote:
>>>> On Monday, 13 January 2020 at 20:53:43 UTC, p.shkadzko wrote:
>>>>>[...]
>>
>> It's very odd to me that Manjaros pkg-config doesn't include 
>> that pkg-config path by default and also doesn't include that 
>> library path by default, every distro I've so far used did 
>> that.
>>
>>> I added /usr/local/include/d/cblas/cblas to $PATH but that 
>>> didn't help :(
>>
>>
>> Can you show us your meson.build? You need to set 
>> `dependencies:` properly to include all dependencies so ninja 
>> includes the right dirs and links the required libraries. You 
>> can look at other projects using D for that, e.g. I do it like 
>> this: 
>> https://github.com/Cogitri/corecollector/blob/master/source/corectl/meson.build
>
> Here is my meson.build file
> ---------------------------
> project('demo_proj', 'd',
>   version : '0.1',
>   default_options : ['warning_level=3']
>   )
>
> mir_alg = dependency('mir-algorithm', method: 'pkg-config')
> lubeck = dependency('lubeck', method: 'pkg-config')
> required_deps = [mir_alg, lubeck]
>
> ed = executable('demo_proj', 'app.d', dependencies: 
> required_deps, install : true)
>
>
> As I mentioned earlier cblas.d is installed in 
> /usr/local/include/d/cblas/cblas/cblas.d

If I replace lubeck with mir-lapack (which I also installed into 
/usr/local/lib), repeat "meson build && cd build && ninja" and 
call ./demo_proj, I get this:
-----
./demo_proj: error while loading shared libraries: 
subprojects/mir-algorithm/libmir-algorithm.so.3.4.0:ject file: No 
such file or directory

But libmir-algorithm.so.3.4.0 is installed in /usr/local/lib and 
it is in $PATH :(


More information about the Digitalmars-d-learn mailing list