Couenne
Couenne copied to clipboard
Unable to build couenne
Issue created by migration from Trac.
Original creator: speren
Original creation time: 2018-03-27 10:16:54
Assignee: @merraksh
Version:
Dear sir I have a problem installing Couenne on my computer (running Mint 18.3).
We have to solve relatively small non convex quadratic problem, and so Couenne seemed to be a great opportunity.
The problem that we look at appears as a relaxation of a two player localisation game in a graph. For very small values we can solve the system "by hand" which allow us to derive lower bound for our combinatorial problem. But the larger system the better is the bound we derive, so would live to find the solution for relativelly small problems.
I followed quite closely the installation instructions for Couenne but the make fails in CoinsUtils.
^~~~ make[2]: *** [Makefile:584: CoinLpIO.lo] Error 1 make[2]: Leaving directory '/home/speren/Couenne-0.1/build/CoinUtils/src' make[1]: *** [Makefile:365: all-recursive] Error 1 make[1]: Leaving directory '/home/speren/Couenne-0.1/build/CoinUtils' make: *** [Makefile:302: all-recursive] Error 1
A) First i installed the third party components, there were some minor issues in the provided script (some ftp servers do not exist anymore so i changed some ftp:: into http:// also some target files were outdated).
for ASL :
unning script for downloading the source code for the ASL Downloading the source code from www.netlib.org... --2018-03-27 10:16:28-- http://www.netlib.org/ampl/solvers.tgz Resolving www.netlib.org (www.netlib.org)... 160.36.131.221 Connecting to www.netlib.org (www.netlib.org)|160.36.131.221|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 349014 (341K) [application/x-gzip] Saving to: ‘solvers.tgz’ solvers.tgz 100%[========================================================================================>] 340.83K 471KB/s in 0.7s 2018-03-27 10:16:29 (471 KB/s) - ‘solvers.tgz’ saved [349014/349014] Unpacking the source code... Uncompressing the source files... Adding No_dtoa to CFLAGS... Deleting the tar file... Done downloading the source code for ASL. 10:16 `@`sambaperati: /home/speren/Couenne-0.1/ThirdParty/ASL $-> ls solvers/ 00lastchange avltree.h configurehere fgh_read.c func_add.c jac2dim.c makefile.vc nqpcheckZ.c op_type.hd readsol.c sprintf.c xectim.c amplsolv.lbc basename.c conpval.c fg_read.c funcadd.c jac2dim.h makefile.wat obj2val.c pfghread.c repwhere.c sscanf.c xp1known.c amplsolv.sy bscanf.c conscale.c fg_write.c funcadd.h jacdim.c mip_pri.c obj_adj0.c pfg_read.c rnd_prod.s stderr.c xp2known.c arithchk.c b_search.c conval.c float.h0 funcaddk.c jacinc1.c misc.c obj_adj.c printf.c r_op.hd stdio1.h0 xsum0.out arith.h0 changes degree.c fpecatch.c funcaddr.c jacinc.c mpec_adj0.c obj_adj.h pshvprod.c r_opn0.hd strerror.c arith.ibm com2eval.c derprop.c fpinit.c genrowno.c jacpdim.h mpec_adj.c objconst.c psinfo.h r_opn.hd studchk0.c asldate.c comeval.c details.c0 fpinitmt.c getenv.c libnamsave.c mqpcheckv.c obj_prec.c punknown.c rops2.c suf_sos.c asl.h comptry.bat dtoa1.c fpsetprec64.s getstub.c mach.c mypow.c objval_.c qpcheck.c rops.c value.c asl_pfg.h con1ival.c dtoa.c fpsetprec.s getstub.h mainexit.c names.c objval.c qpcheckZ.c r_qp.hd writesol.c asl_pfgh.h con2ival.c duthes.c f_read.c g_fmt.c makefile.lc nl_obj.c opcode.hd qp_read.c sigcatch.c wrtsol_.c atof.c con2val.c dvalue.hd fullhes.c htcl.c makefile.sy nlp2.h opnos.hd qsortv.c sjac0dim.c ws_desc.c auxinfo.c conadj.c dynlink.c funcadd0.c indic_cons.c makefile.u nlp.h op_typeb.hd README sos_add.c wsu_desc.c avltree.c configure errchk.h funcadd1.c jac0dim.c makefile.u.orig nqpcheck.c op_type.c README.f77 sphes.c x2check.c
For Blas: i downloaded the current version (3.8.0) and moved as indicated all the fortran source file into the root directory :
10:20 `@`sambaperati: /home/speren/Couenne-0.1/ThirdParty/Blas $-> ls BLAS-3.8.0 chbmv.f configure.ac ctpmv.f dgbmv.f dsdot.f dtbmv.f icamax.f scasum.f srotg.f ssyr2.f strsv.f zgemv.f zhpr2.f ztpsv.f blas.tar chemm.f crotg.f ctpsv.f dgemm.f dspmv.f dtbsv.f idamax.f scnrm2.f srotm.f ssyr2k.f xerbla_array.f zgerc.f zhpr.f ztrmm.f caxpy.f chemv.f cscal.f ctrmm.f dgemv.f dspr2.f dtpmv.f INSTALL.BLAS scopy.f srotmg.f ssyr.f xerbla.f zgeru.f zrotg.f ztrmv.f ccopy.f cher2.f csrot.f ctrmv.f dger.f dspr.f dtpsv.f isamax.f sdot.f ssbmv.f ssyrk.f zaxpy.f zhbmv.f zscal.f ztrsm.f cdotc.f cher2k.f csscal.f ctrsm.f dnrm2.f dswap.f dtrmm.f izamax.f sdsdot.f sscal.f stbmv.f zcopy.f zhemm.f zswap.f ztrsv.f cdotu.f cher.f cswap.f ctrsv.f drot.f dsymm.f dtrmv.f lsame.f sgbmv.f sspmv.f stbsv.f zdotc.f zhemv.f zsymm.f cgbmv.f cherk.f csymm.f dasum.f drotg.f dsymv.f dtrsm.f Makefile.am sgemm.f sspr2.f stpmv.f zdotu.f zher2.f zsyr2k.f cgemm.f chpmv.f csyr2k.f daxpy.f drotm.f dsyr2.f dtrsv.f Makefile.in sgemv.f sspr.f stpsv.f zdrot.f zher2k.f zsyrk.f cgemv.f chpr2.f csyrk.f dcabs1.f drotmg.f dsyr2k.f dzasum.f sasum.f sger.f sswap.f strmm.f zdscal.f zher.f ztbmv.f cgerc.f chpr.f ctbmv.f dcopy.f dsbmv.f dsyr.f dznrm2.f saxpy.f snrm2.f ssymm.f strmv.f zgbmv.f zherk.f ztbsv.f cgeru.f configure ctbsv.f ddot.f dscal.f dsyrk.f get.Blas scabs1.f srot.f ssymv.f strsm.f zgemm.f zhpmv.f ztpmv.f
For LAPACK : i downloaded lapack-3.1.0 and moved the resulting directory to Lapack :
/home/speren/Couenne-0.1/ThirdParty/Lapack $-> ls LAPACK/ma27-1.0.0.tar.gz INSTALL SRC
For MUMPS i did the same :
10:25 `@`sambaperati: /home/speren/Couenne-0.1/ThirdParty/Mumps $-> ls MUMPS/ ChangeLog doc examples include lib libseq LICENSE Makefile Make.inc MATLAB PORD README SCILAB src VERSION
Last for HSL i decided to get ma27-1.0.0.tar.gz and mc19-1.0.0.tar.gz , unpacked them and then rand configure, make, make install, i rand these command as root and so the 2 libraries are installed :root`@`sambaperati ma27-1.0.0]# ls /usr/local/lib/libma27.a
/usr/local/lib/libma27.a
[root`@`sambaperati ma27-1.0.0]# ls /usr/local/lib/libmc19.a
/usr/local/lib/libmc19.a
Note that I could not register on the HSL website, so i had to fill a form for each download i performed there.
Here is HSL directory :
root`@`sambaperati HSL]# ls config.guess config.status configure depcomp dummy.lo install-sh libtool ma27-1.0.0 Makefile Makefile.in mc19-1.0.0.tar.gz config.log config.sub configure.ac dummy.c INSTALL.HSL libcoinhsl.la ltmain.sh ma27-1.0.0.tar.gz Makefile.am mc19-1.0.0 missing
B) Next i did configure and make.
mkdir build $ cd build $ ../configure -C $ make
configure: creating ./config.status config.status: creating Makefile config.status: creating src/main/Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating test/grandTest.sh config.status: creating couenne_addlibs.txt config.status: creating inc/config_couenne.h config.status: executing depfiles commands configure: Configuration of Couenne successful configure: Main configuration of Couenne successful
Comment by @merraksh created at 2018-04-02 17:43:37
Hello. First, if you're using Couenne stable version 0.1, please consider updating to 0.5 as the former hasn't been maintained in a while. Second, please make sure you use the get.* scripts in the ThirdParty/*/ directories you use. Finally, when running configure please avoid the -C option that caches the results.
Hope this helps.