On Sun, Aug 24, 2014 at 01:42:11PM +0300, Shahar Havivi wrote:
 On 24.08.14 11:34, Richard W.M. Jones wrote:
 > On Sun, Aug 24, 2014 at 01:20:46PM +0300, Shahar Havivi wrote:
 > > After applying the patch I have a logical error at the check:
 > > if hash <> sha1 then
 > > 
 > > its looks like the sha1 is not a string but a unit
 > > let sha1 = Str.matched_group 2 line in
 > >   (sha1 : string);
 > > 
 > > Do you have an idea why?
 > > (attached the new patch)
 > 
 > The patch you sent me compiles fine here.  What's the error that you
 > see?
 The compilation is fine,
 but the condition in line 88 (input_ova.ml) is true:
 if hash <> sha1 then
 
 then I added the commandl in line 80:
 (sha1 : string); 
Right, sorry, that's because my advice before about finding types was
wrong.
If you write:
  (sha1 : string);
as a statement, then the type is checked, but because we are using
`-warn-error S', the compiler then gives an error because the
expression as a whole does not have type unit.
You can either write:
   let sha1 : string = Str.matched_group 2 line in
or:
   ignore (sha1 : string);
In any case the type is a string.
What's interesting is that hash <> sha1.  It's of course possible that
the hash of the file really is wrong, ie the OVA is corrupt.  But a
more likely possibility is the split_string command is wrong.  Try
adding:
  printf "hash = \"%s\"\n" hash;
  printf "sha1 = \"%s\"\n" sha1;
Rich.
 and I get this error:
 Warning 10: this expression should have type unit.
 > 
 > Rich.
 > 
 > -- 
 > Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
 > Read my programming and virtualization blog: 
http://rwmj.wordpress.com
 > Fedora Windows cross-compiler. Compile Windows programs, test, and
 > build Windows installers. Over 100 libraries supported.
 > 
http://fedoraproject.org/wiki/MinGW 
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW