
Kenneth MacKenzie wrote:
Enea Zaffanella writes:
The snapshot with the corrections is now ready: ftp://ftp.cs.unipr.it/pub/ppl/snapshots/
Hi Enea,
The problems with the OCaml interface have now gone away (thanks!), and I can confirm that my problem with the ppl_Polyhedron_BHRZ03_widening_assign function has nothing to do with the OCaml interface. I extracted the polyhedra that were causing problems (they have 60 and 81 constraints) and fed them to the C++ version of the widening function. It's now been running for 14 hours without terminating. However, your suggestion of using a timer to escape and use the H79 widening instead seems to work well.
This is good news.
I did have a couple of problems with the snapshot. I changed to the ppl/doc directory and tried
[5~ make ppl-user-configured-ocaml-interface-0.10.1pre10-html
but it failed because it couldn't find something it needed from gmp. This is due to the fact that I had to install gmp in a subdirectory of my home directory, but the makefile was looking in one of the standard directories:
OCAMLDOC_HTML_OPTIONS = \ -I +gmp -I $(top_builddir)/interfaces/OCaml -html
OCAMLDOC_LATEX_OPTIONS = \ -I +gmp -I $(top_builddir)/interfaces/OCaml \ -latex -noheader -notrailer -notoc
I changed the +gmp to the location of my version of gmp and it worked properly. I had other problems for the same reason a while ago and someone added --with-libgmp and --with-libgmpxx-prefix options to the top-level configure script, so presumably these should also be used here.
You are right: we should have used -I @mlgmp_dir@ This is already corrected in the git master branch.
The commit info is available at: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=3b959163da9e9...
I also ran "make check", and it failed after 4 hours with
make check-TESTS make[6]: Entering directory `/disk/scratch/ppl-0.10.1pre10/interfaces/OCaml/tests' ./test1: error while loading shared libraries: libgmpxx.so.4: cannot open shared object file: No such file or directory FAIL: test1 ./ppl_ocaml_generated_test: error while loading shared libraries: libgmpxx.so.4: cannot open shared object file: No such file or directory FAIL: ppl_ocaml_generated_test ./test1_opt: error while loading shared libraries: libgmpxx.so.4: cannot open shared object file: No such file or directory FAIL: test1_opt ./ppl_ocaml_generated_test_opt: error while loading shared libraries: libgmpxx.so.4: cannot open shared object file: No such file or directory FAIL: ppl_ocaml_generated_test_opt ====================================== 4 of 4 tests failed Please report to ppl-devel@cs.unipr.it ====================================== make[6]: *** [check-TESTS] Error 1 make[6]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces/OCaml/tests' make[5]: *** [check-am] Error 2 make[5]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces/OCaml/tests' make[4]: *** [check-recursive] Error 1 make[4]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces/OCaml' make[3]: *** [check] Error 2 make[3]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces/OCaml' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces' make[1]: *** [check] Error 2 make[1]: Leaving directory `/disk/scratch/ppl-0.10.1pre10/interfaces' make: *** [check-recursive] Error 1
Again, it appears that it's not looking in the right place.
This looks strange to me: the message seems to suggest that the system finds the OCaml mlgmp wrapper, but it does not find the C++ wrapper libgmpxx.
I am definitely not an expert of OCaml related builds, but I think that I have read somewhere that OCaml native library wrappers were encoding in their inside the right link options, so that one should not need to issue them each time.
I will need to investigate further, but for the immediate I can imagine two possible explanations :
a) Maybe you did something wrong when compiling the mlgmp wrapper. As said in file interfaces/Ocaml/README.ocaml: =========== In order to install MLGMP you should make sure that GMP_INCLUDES and GMP_LIBDIR are correctly set (these variables are defined at the beginning of Makefile in the MLGMP's root directory). =========== Could it be the case that you did something wrong here?
b) What is the output of the command echo $LD_LIBRARY_PATH on your machine? Does it include the path to your installation place, that is /afs/inf.ed.ac.uk/user/k/kwxm/libraries/lib ?
Let us know if either a) or b) solves the problem.
Cheers, Enea.
Here's my config.log if you need it:
Best wishes,
Kenneth