digitalmars.D.learn - Compilation Error when trying mir-optim BetterC
- vladislavp (67/67) Jul 18 2019 Hello,
- vladislavp (43/57) Jul 19 2019 Replying to my own question.
Hello,
I am trying to create a 'boiler plate' project
that's essentially uses only betterC libraries
(and itself is betterC)
for my needs I would like to use mir-optim
(this is a linear optimization betterC lib)
However, I cannot seem to get passed compilation errors
when including mir-optim library.
I do not have any problem including mir-cpuid library.
So I am somewhat confused what I might be doing wrong.
Thank you in advance for any help.
On Linux Mint Tessa (based on Ubuntu 18)
--
LDC - the LLVM D compiler (1.8.0):
based on DMD v2.078.3 and LLVM 5.0.1
built with LDC - the LLVM D compiler (0.17.5)
Default target: x86_64-pc-linux-gnu
Host CPU: sandybridge
--
~/dlang/dmd-2.087.0/linux/bin64/dub --compiler=ldc2
--build=release
--
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/ndsli
e/slice.d(1450,14): Error: function type 'pure nothrow nogc property return
trusted float()' has 'return' bu
t does not return any indirections
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(670,26): Error: template instance
mir.ndslice.slice.Slice!(FieldIterator!(LinspaceField!float), 1LU, cast(m
ir_slice_kind)2).mir_slice.front!0 error instantiating
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(358,12): instantiated from here: findRootImplGen!float
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/algorithm/i
eration.d(2170,54): Error: template instance
mir.algorithm.iteration.allImpl!(naryFun, Slice!(FieldIterat
or!(LinspaceField!float), 1LU, cast(mir_slice_kind)2),
Slice!(FieldIterator!(LinspaceField!float), 1LU,
cast(mir_slice_kind)2)) error instantiating
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/algorithm/i
eration.d(2424,24): instantiated from here:
all!(Slice!(FieldIterator!(LinspaceField!float), 1LU,
cast(mir_slice_kind)2),
Slice!(FieldIterator!(LinspaceField!float), 1LU,
cast(mir_slice_kind)2))
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/ndsli
e/slice.d(1947,25): instantiated from here:
equal!(Slice!(FieldIterator!(LinspaceField!float), 1LU, cast
(mir_slice_kind)2), Slice!(FieldIterator!(LinspaceField!float),
1LU, cast(mir_slice_kind)2))
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/nds
ice/slice.d(385,1): instantiated from here:
Slice!(FieldIterator!(LinspaceField!float), 1LU, cast(mir_slic
e_kind)2)
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/ndsl
ce/slice.d(398,24): ... (2 instantiations, -v to show) ...
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(640,26): instantiated from here: linspace!(float, 1LU)
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(358,12): instantiated from here: findRootImplGen!float
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/ndsli
e/slice.d(1450,14): Error: function type 'pure nothrow nogc property return
trusted double()' has 'return' b
ut does not return any indirections
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(670,26): Error: template instance
mir.ndslice.slice.Slice!(FieldIterator!(LinspaceField!double), 1LU, cast(
mir_slice_kind)2).mir_slice.front!0 error instantiating
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mi
/numeric.d(376,12): instantiated from here: findRootImplGen!double
/home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/algorithm/i
eration.d(2170,54): Error: template instance
mir.algorithm.iteration.allImpl!(naryFun, Slice!(FieldIterat
or!(LinspaceField!double), 1LU, cast(mir_slice_kind)2),
Slice!(FieldIterator!(LinspaceField!double), 1LU,
cast(mir_slice_kind)2)) error instantiating
ldc2 failed with exit code 1.
---
dub.json
{
"authors": [
"test localhost"
],
"copyright": "Copyright © 2019, test localhost",
"dependencies": {
"mir-cpuid": "~>1.2.2",
"mir-optim": "~>1.4.5"
},
"dflags-ldc":["-mcpu=native", "-betterC"],
"description": "user front end for Jitro controls",
}
Jul 18 2019
On Thursday, 18 July 2019 at 21:09:53 UTC, vladislavp wrote:Hello, I am trying to create a 'boiler plate' project that's essentially uses only betterC libraries (and itself is betterC) for my needs I would like to use mir-optim (this is a linear optimization betterC lib) However, I cannot seem to get passed compilation errors when including mir-optim library. -- ~/dlang/dmd-2.087.0/linux/bin64/dub --compiler=ldc2 --build=release -- /home/v/.dub/packages/mir-algorithm-3.4.19/mir-algorithm/source/mir/ndsli e/slice.d(1450,14): Error: function type 'pure nothrow nogc property return trusted float()' has 'return' but does not return any indirections .....Replying to my own question. I resolved previously reported ldc2 error. I removed distro (Ubuntu/Mint) version of ldc , and instead installed 1.16 from the release page ( https://github.com/ldc-developers/ldc/releases ). The compilation error is now gone. I also created the 'activate' script to setup paths (it was not avaialble in the LDC tar) in case is anyone interested it is attached below (just modify LDC2_ROOT variable) --- $ cat dlang/ldc2-1.16.0-linux-x86_64/activate deactivate() { export PATH="$_OLD_D_PATH" export LIBRARY_PATH="$_OLD_D_LIBRARY_PATH" export LD_LIBRARY_PATH="$_OLD_D_LD_LIBRARY_PATH" unset _OLD_D_LIBRARY_PATH unset _OLD_D_LD_LIBRARY_PATH unset DMD unset DC export PS1="$_OLD_D_PS1" unset _OLD_D_PATH unset _OLD_D_PS1 unset -f deactivate } _OLD_D_PATH="${PATH:-}" _OLD_D_LIBRARY_PATH="${LIBRARY_PATH:-}" _OLD_D_LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" export LDC2_ROOT=~/dlang/ldc2-1.16.0-linux-x86_64 export LIBRARY_PATH="${LDC2_ROOT}/lib${LIBRARY_PATH:+:}${LIBRARY_PATH:-}" export LD_LIBRARY_PATH="${LDC2_ROOT}/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH:-}" _OLD_D_PATH="${PATH:-}" _OLD_D_PS1="${PS1:-}" export PS1="(ldc2-1.16)${PS1:-}" export PATH="${LDC2_ROOT}/bin${PATH:+:}${PATH:-}" export DMD=ldmd2 export DC=ldc2 export DUB=dub
Jul 19 2019








vladislavp <vladislavp outlook.com>