coin-or / Couenne

Convex Over and Under Envelopes for Nonlinear Estimation
Eclipse Public License 1.0
72 stars 8 forks source link

Unable to build couenne #39

Open svigerske opened 5 years ago

svigerske commented 5 years ago

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

svigerske commented 5 years ago

Attachment config.log by speren created at 2018-03-27 10:18:42

config log

svigerske commented 5 years ago

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.