Issue429

Title Change Makefile to support externally compiled COIN and LP Solvers
Priority wish Status resolved
Superseder Nosy List florian, jendrik, malte
Assigned To florian Keywords
Optional summary

Created on 2014-04-03.10:48:30 by florian, last changed by florian.

Messages
msg3224 (view) Author: florian Date: 2014-07-23.18:51:48
Everything merged fine automatically.
msg3223 (view) Author: malte Date: 2014-07-23.18:30:58
I agree. You may encounter merge conflicts with the Makefile, which underwent
large changes yesterday due to issue437. In that case, it may be easiest to
resolve the conflicts by taking the current default Makefile and replacing the
LP-related if/endif block into it. (That part was more or less the only part in
the Makefile that did not change.)
msg3222 (view) Author: florian Date: 2014-07-23.18:26:52
This is ready to be merged in my opinion.
msg3221 (view) Author: florian Date: 2014-07-23.18:22:27
> No strong preference -- I'm happy either way, but if you'd like to do this,
> please ask the others for their opinion first.

I'm ok with leaving it the way it is for now. The configurable variables are all
at the top of the file and can be set as environment variables which is good
enough in my opinion.
msg3213 (view) Author: malte Date: 2014-07-22.13:24:34
> In the code review for the PhO heuristic we decided to eventually split the
> Makefile into a configuration part and the rest. Should we start with this in
> this issue? We could use it to define the paths to coin and the solvers outside
> of the Makefile.

No strong preference -- I'm happy either way, but if you'd like to do this,
please ask the others for their opinion first.

> I currently print a warning after compiling the COIN version included in Fast
> Downward. Is this enough to show that it is deprecated? We could also remove
> the target for the fallback version and only print instructions how to
> manually call the setup script and create a local installation.

Given our resources, I think it would be best to simply rip out the solver here
and now if its use of deprecated (and provide complete instructions on how to
set it up somewhere).
msg3210 (view) Author: florian Date: 2014-07-18.16:23:23
I started implementing the first step at
https://bitbucket.org/flogo/downward-issues-issue429/pull-request/1

In the code review for the PhO heuristic we decided to eventually split the
Makefile into a configuration part and the rest. Should we start with this in
this issue? We could use it to define the paths to coin and the solvers outside
of the Makefile.

I currently print a warning after compiling the COIN version included in Fast
Downward. Is this enough to show that it is deprecated? We could also remove the
target for the fallback version and only print instructions how to manually call
the setup script and create a local installation.

Two changes are in the pull request but should not be merged: USE_LP should stay
off in the default branch (its on here for testing) and there is a TODO about
updating the wiki that should be done when we do the merge.

Malte, can you review this (it can wait, its not urgent).
msg3099 (view) Author: malte Date: 2014-04-03.13:27:40
Sounds good! One suggestion: I like the two steps you suggest, but I wouldn't do
the second step at the same time as the repository history cleanup.

I think it would be better to do the cleanup during a time where the working
directory has been somewhat stable for at least a short while, so that we
already have some experience to tell us that it is fine to purge the stuff we
want to purge. So: leave some time between deleting the things we want to get
rid of and the history rewrite.
msg3098 (view) Author: florian Date: 2014-04-03.10:48:30
In the medium term we want to get rid of the COIN version shipped with Fast
Downward. I suggest to do this in two steps: first, we allow to compile COIN
outside of Fast Downward and only compile the version shipped with the code if
the makefile cannot find a compiled version. In a second step we could then
remove the internal version completely. If we also want want to clean up the
history, it might make sense to wait with the second step until we have a bunch
of things ready to be removed.

I have done a little work in this direction in the repository for the LP-based
heuristic. We can probably cherry-pick some changes from there. If we do, we
could also think about including another feature from this code: instead of
compiling COIN for one specific LP-solver, we compile it for all available
LP-solvers and pick the solver interface to use with a command line option.
History
Date User Action Args
2014-07-23 18:51:48floriansetstatus: reviewing -> resolved
messages: + msg3224
2014-07-23 18:30:58maltesetmessages: + msg3223
2014-07-23 18:26:52floriansetstatus: chatting -> reviewing
messages: + msg3222
2014-07-23 18:22:27floriansetmessages: + msg3221
2014-07-22 13:24:34maltesetmessages: + msg3213
2014-07-18 16:23:24floriansetmessages: + msg3210
2014-04-03 13:27:40maltesetstatus: unread -> chatting
messages: + msg3099
2014-04-03 10:59:45jendriksetnosy: + jendrik
2014-04-03 10:48:30floriancreate