[ldv-project] An error of batHashtbl.ml when compiling LDV tools

Vadim Mutilin mutilin at ispras.ru
Tue Jun 9 13:40:17 MSK 2015


Hi Jia-Ju!

If you want just to run LDV-Tools then the best way is to use Docker 
images see our *LDV Tools in Docker instructions 
<http://forge.ispras.ru/projects/ldv/wiki/LDV_Tools_in_Docker>.
*
If you want to compile LDV-Tools yourself you need to install correct 
versions of dependences, see INSTALL file.
It looks like you are using newer version of ocaml. If you still want to 
use it please patch the sources:

1. for ocaml 4.01
1.1 dscv/rcv/backends/blast - goto the submodule and apply the patch 
blast-Fix-hashtable-interface.patch
1.2 dscv/rcv/cil -  goto the submodule and apply the patch cil-ocaml.patch

You may also have the newer version of gcc:
2. for gcc 4.8.2
2.1 ri/cif/aspectator - goto the submodule and apply the patch 
aspectator-gcc.patch

Best,
Vadim

09.06.2015 11:56, 白家驹 пишет:
> Dear sir,
>
> I have downloaded LDV tools and want to compile it.
> http://forge.ispras.ru/projects/ldv/wiki/Downloading_and_Building_LDV
>
> when I run 'make console-tools', I get an error:
>
> RI doesn't require build itself
> make[1]: Leaving directory `/home/bai/MyProject/ldv-tools/ri'
> make -C dscv all
> make[1]: Entering directory `/home/bai/MyProject/ldv-tools/dscv'
> make -C rcv all
> make[2]: Entering directory `/home/bai/MyProject/ldv-tools/dscv/rcv'
> prefix=/dscv/rcv/backends/blast make -C backends/blast all
> make[3]: Entering directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast'
> make -C blast all
> make[4]: Entering directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast'
> making 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/utils 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/lib/libutils.cma 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/lib/libutils.cmxa 
> /home/b 
> ai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/lib/libutils.a
> make[5]: Entering directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/utils'
> Compiling (to byte code) OCAML module batHashtbl.ml
> ocamlc -dtypes -I 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/caddie 
> -I 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/vampyre 
> -I 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/foci 
> -I 
> /home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/cil -c 
> batHashtbl.ml -o batHashtbl.cmo
> File "batHashtbl.ml", line 1:
> Error: The implementation batHashtbl.ml
>        does not match the interface batHashtbl.cmi:
>        Values do not match:
>          val create : ?random:bool -> int -> ('a, 'b) Hashtbl.t
>        is not included in
>  &n bsp;       val create : int -> ('a, 'b) t
>        File "batHashtbl.ml", line 31, characters 8-14: Actual declaration
> make[5]: *** [batHashtbl.cmo] Error 2
> make[5]: Leaving directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/utils'
> make[4]: *** 
> [/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast/include/utils] 
> Error 2
> make[4]: Leaving directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast/blast'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory 
> `/home/bai/MyProject/ldv-tools/dscv/rcv/backends/blast'
> make[2]: *** [backends/blast-subdir-all] Error 2
> make[2]: Leaving directory `/home/bai/MyProject/ldv-tools/dscv/rcv'
> make[1]: *** [rcv-subdir-all] Error 2
> make[1]: Leaving directory `/home/bai/MyProject/ldv-tools/dscv'
> make: *** [dscv-subdir-all] Error 2
>
> Could you give me some help?
>
> Jia-Ju Bai
>
>
>
>
>
> _______________________________________________
> ldv-project mailing list
> ldv-project at linuxtesting.org
> http://linuxtesting.org/cgi-bin/mailman/listinfo/ldv-project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://linuxtesting.org/pipermail/ldv-project/attachments/20150609/6cbde7dd/attachment.html>
-------------- next part --------------
From d0234089ab7d28ef43a80bda1a79acdde29b9b34 Mon Sep 17 00:00:00 2001
From: Vadim Mutilin <mutilin at ispras.ru>
Date: Wed, 15 Oct 2014 17:43:07 +0400
Subject: [PATCH] Fix hashtable interface

Not compatible with old versions of ocaml
---
 utils/batHashtbl.mli | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/utils/batHashtbl.mli b/utils/batHashtbl.mli
index f7bee0f..15a368b 100644
--- a/utils/batHashtbl.mli
+++ b/utils/batHashtbl.mli
@@ -42,7 +42,7 @@ type ('a, 'b) t = ('a, 'b) Hashtbl.t
 
 (**{6 Base operations}*)
 
-val create : int -> ('a, 'b) t
+val create : ?random:bool -> int -> ('a, 'b) t
 (** [Hashtbl.create n] creates a new, empty hash table, with
    initial size [n].  For best results, [n] should be on the
    order of the expected number of elements that will be in
-- 
1.9.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cil-ocaml.patch
Type: text/x-patch
Size: 1770 bytes
Desc: not available
URL: <http://linuxtesting.org/pipermail/ldv-project/attachments/20150609/6cbde7dd/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aspectator-gcc.patch
Type: text/x-patch
Size: 526 bytes
Desc: not available
URL: <http://linuxtesting.org/pipermail/ldv-project/attachments/20150609/6cbde7dd/attachment-0001.bin>


More information about the ldv-project mailing list