ryanjoneil / SCIP.jl

(deprecated) Julia interface to the SCIP solver
MIT License
2 stars 4 forks source link

Either include or figure out how to build the required libscipopt-3.1.1 .so/.dll files #9

Closed ryanjoneil closed 5 years ago

ryanjoneil commented 10 years ago

Right now the code refers to "libscipopt" when it uses ccall. It assumes that the user will have a libscipopt.so or libscipopt.dll in the library path.

joehuchette commented 10 years ago

I'm not sure what the best way to handle this will be, since SCIP has a strange licensing system. I'm not sure we can pull the code from offline and build it for them like we do for some of the solver packages (e.g. Cbc). Maybe we can ask the user to download the zipped source code, agree to their license, and point us to the zip file, and then we can unpack it, build it, and make sure the shared library is in the right place, all under the hood.

ryanjoneil commented 10 years ago

I think that sounds reasonable. @fserra, do you have any comments?

The SCIP folks provide pre-built libraries, so perhaps we could give the option of using that or building from source. I've been running against both Linux and Windows using these.

fserra commented 10 years ago

Hi

Yes, asking the user to download SCIP is a way to go. The other option is to ship the interface with SCIP, like the other interfaces. However to do this, you need to give some rights to ZIB. If you prefer the last option we can talk to the right ZIB people later.

On Wed, Aug 27, 2014 at 5:42 PM, ryanjoneil notifications@github.com wrote:

I think that sounds reasonable. @fserra https://github.com/fserra, do you have any comments?

The SCIP folks provide pre-built libraries, so perhaps we could give the option of using that or building from source. I've been running against both Linux and Windows using these.

— Reply to this email directly or view it on GitHub https://github.com/ryanjoneil/SCIP.jl/issues/9#issuecomment-53592321.

ryanjoneil commented 10 years ago

I think the latter is preferable in terms of gaining user adoption. I'm personally fine with giving some rights to ZIB, as SCIP.jl won't be particularly useful with SCIP. But I don't know if that is acceptable to the JuliaOpt group.

If they allow that sort thing, I vote for option 2.

joehuchette commented 10 years ago

It certainly would be more convenience to ship with SCIP. I'm not opposed to it, I'd say it just depends on what exactly is meant by "giving some rights to ZIB". If it's reasonable enough, that's probably the way to go.

joehuchette commented 10 years ago

@mlubin is our resident license guru/nag, he'll probably have more insightful things to say about this.

mlubin commented 10 years ago

What does shipping with SCIP mean in terms of actually installing the package? So SCIP.jl won't be in METADATA?

ryanjoneil commented 10 years ago

.SCIP.jl should absolutely be in METADATA. I think what we're asking about is the acceptability of including libscipopt.so or .dll files in the SCIP.jl distribution.

mlubin commented 10 years ago

I think @fserra was referring to distributing this interface in the SCIP tarball, not the other way around.

fserra commented 10 years ago

yep, but since it should be in METADATA then it should probably be the first option. It doesn't make sense if not

On Wed, Aug 27, 2014 at 6:16 PM, Miles Lubin notifications@github.com wrote:

I think @fserra https://github.com/fserra was referring to distributing this interface in the SCIP tarball, not the other way around.

— Reply to this email directly or view it on GitHub https://github.com/ryanjoneil/SCIP.jl/issues/9#issuecomment-53598878.

mlubin commented 10 years ago

I think the most reasonable solution is to provide a build script and ask the user to provide the tarball. There's nothing else we can do unless ZIB gives us permission to distribute binaries.

ryanjoneil commented 10 years ago

OK, sounds good. We'll just try to make it as easy as possible. I don't want people to balk at the installation if we can avoid it.

mlubin commented 10 years ago

Hopefully someday SCIP will be released under a real open source license.

joehuchette commented 10 years ago

We already have to do this for Gurobi and CPLEX (and Mosek? I can't recall)

fserra commented 10 years ago

So I asked around, and it might be possible to get permission from ZIB, but it seems that in that case users who download SCIP.jl or the code that distributes it should agree to the ZIB academic licence. Anyway they are going to double check this.

There is one example of a MATLAB toolbox that contains SCIP... so maybe.

I can let you know when I know more about this

On Wed, Aug 27, 2014 at 6:27 PM, ryanjoneil notifications@github.com wrote:

OK, sounds good. We'll just try to make it as easy as possible. I don't want people to balk at the installation if we can avoid it.

— Reply to this email directly or view it on GitHub https://github.com/ryanjoneil/SCIP.jl/issues/9#issuecomment-53600570.

mlubin commented 10 years ago

@fserra, cool, thanks for looking into this.