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:
On Monday, 13 January 2020 at 19:56:35 UTC, p.shkadzko wrote:
On Monday, 13 January 2020 at 17:14:29 UTC, p.shkadzko wrote:
[...]
I had to set PKG_CONFIG_PATH to "/usr/local/lib/pkgconfig".
For some reason Manjaro distro doesn't have it set by
default. After setting the pkgconfig path, lubeck is getting
found and everything works.
After I ran "meson build" I got the following output:
-----------------------
The Meson build system
Version: 0.52.1
Source dir: /home/tastyminerals/dev/test_proj
Build dir: /home/tastyminerals/dev/test_proj/build
Build type: native build
Project name: demo_proj
Project version: 0.1
D compiler for the host machine: ldc2 (llvm 1.18.0 "LDC - the
LLVM D compiler (1.18.0):")
D linker for the host machine: GNU ld.gold 2.33.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency mir-algorithm found: YES 3.4.0
Run-time dependency lubeck found: YES 1.0.0
Build targets in project: 1
Found ninja-1.9.0 at /usr/bin/ninja
I then cd to build/ dir and run "ninja"
------------------------
[2/2] Linking target test_proj.tart@exe/app.d.o'.
But when I try to run compiled app.d file as demo_run, I get:
------------------------
./demo_run: error while loading shared libraries:
libmir-algorithm.so: cannot open shared object file: No such
file or directory
I thought that if meson builds and finds the external libs
successfully and ninja links everything, all should be fine. I
don't understand. Why the compiled file cannot find the
external library?
$LD_LIBRARY_PATH was not set to "/usr/local/lib" where
libmir-algorithm.so is located. I had to set it explicitly and
recompile the project but then I get another error message:
./demo_proj: error while loading shared libraries:
subprojects/mir-algorithm/libmir-algorithm.so.3.4.0: cannot
open shared object file: No such file or directory
(ಠ_ಠ)
My test app.d didn't have any imports for mir.ndslice and lubeck.
After I imported them, ninja threw the following error.
-----------
[1/2] Compiling D object 'demo_proj@exe/app.d.o'.
FAILED: demo_proj@exe/app.d.o
ldc2 -I=demo_proj@exe -I=. -I=.. -I/usr/local/include/d/lubeck
-I/usr/local/include/d/mir-algorithm
-I/usr/local/include/d/mir-core -I/usr/local/include/d/mir-blas
-I/usr/local/include/d/mir-lapack
-I/usr/local/include/d/mir-random -enable-color -wi -dw -g
-d-debug -of='demo_proj@exe/app.d.o' -c ../app.d
/usr/local/include/d/lubeck/lubeck.d(8): Error: module cblas is
in file 'cblas.d' which cannot be read
import path[0] = demo_proj@exe
import path[1] = .
import path[2] = ..
import path[3] = /usr/local/include/d/lubeck
import path[4] = /usr/local/include/d/mir-algorithm
import path[5] = /usr/local/include/d/mir-core
import path[6] = /usr/local/include/d/mir-blas
import path[7] = /usr/local/include/d/mir-lapack
import path[8] = /usr/local/include/d/mir-random
import path[9] = /usr/include/dlang/ldc
ninja: build stopped: subcommand failed.
cblas.d is located in /usr/local/include/d/cblas/cblas/cblas.d
I added /usr/local/include/d/cblas/cblas to $PATH but that didn't
help :(