Hi,
I'm trying to create a solver configuration file for my flatzingo solver,
such that deployment will be easier in the future.
Flatzingo uses solver specific predicates.
Currently, the call
minizinc -c --output-fzn-to-stdout -G ../../../../myshared/flatzingo problem.mzn
works just fine to use these specific predicates (all in the specified directory, given relative to the minizinc installation share folder) in the translation process.
Now I created a flatzingo.msc json format file in the directory $HOME/.minizinc/solvers/
{
"id": "org.potassco.flatzingo",
"name": "Flatzingo",
"description": "Flatzingo FlatZinc executable",
"version": "1.6.0",
"mznlib": "../flatzingo",
"executable": "fzn-flatzingo.sh",
"tags": ["cp","lcg","int"],
"stdFlags": ["-a","-f","-n","-r","-s","-t","-v"],
"supportsMzn": false,
"supportsFzn": true,
"needsSolns2Out": true,
"needsMznExecutable": false,
"needsStdlibDir": false,
"isGUIApplication": false
}
I can now call:
minizinc --solver flatzingo -c --output-fzn-to-stdout --verbose-compilation --compiler-statistics
and it does something. Unfortunately, as seen in the verbose output, it does not use any predicate redefinition files in the
$HOME/.minizinc/flatzingo/
directory.
I copied all my redefinitions.mzn and other fzn_*.mzn files to this directory.
It should be "relative to solver configuration file by the given path "../flatzingo" and minizinc also seems to check for the existence of this directory (if I change the mznlib to something else I do get an error that the directory does not exist).
Still, the verbose output shows that minizinc only processes files in the folder:
"/someinstalldir/MiniZincIDE-2.4.3-bundle-linux-x86_64/share/minizinc/std//".
Currently using MiniZincIDE-2.4.3 on Linux (Fedora). Any idea of what I could be doing wrong and how this relative mznlib path works ?
Everything else works, just not the specific redefinitions.
Thanks a lot,
Max