Frama-C-discuss mailing list archives
This page gathers the archives of the old Frama-C-discuss archives, that was hosted by Inria's gforge before its demise at the end of 2020. To search for mails newer than September 2020, please visit the page of the new mailing list on Renater.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Frama-c-discuss] why-2.24 install question
- Subject: [Frama-c-discuss] why-2.24 install question
- From: der.herr at hofr.at (Nicholas Mc Guire)
- Date: Tue, 20 Apr 2010 18:55:35 +0200
- In-reply-to: <20100420140021.6877f00a@is010235>
- References: <20100420091303.GA4079@opentech.at> <4BCD7302.4010608@cea.fr> <20100420092826.GA18012@opentech.at> <4BCD74FB.5@inria.fr> <20100420094716.GA29920@opentech.at> <k2wb15d09071004200309s9b16d74blf291bb5311524916@mail.gmail.com> <20100420101921.GA20284@opentech.at> <20100420140021.6877f00a@is010235>
On Tue, 20 Apr 2010, Virgile Prevosto wrote:
> Le mar. 20 avril 2010 12:19:21 CEST,
> Nicholas Mc Guire <der.herr at hofr.at> a ?crit :
>
> > On Tue, 20 Apr 2010, Pascal Cuoq wrote:
> >
> > > > the hello.c is really just a trivial example for testing
> > > > #include <stdio.h>
> > > >
> > > > void foo(void)
> > > > {
> > > > ? ? ? ?printf("hello,world\n");
> > >
> > > The notion of "trivial" is relative. Your example includes standard
> > > headers that contain horrible stuff, and calls a variadic function.
> > > Jessie behaved as well as you can expect on your example: your
> > > installation is fine.
> >
> > not quite - removed the printf and the include and provided a dummy function
> > get
> >
> > rtl26:~/formal_methods/Frama-C/examples# frama-c.byte -jessie hello.c
> > [kernel] preprocessing with "gcc -C -E -I. -dD hello.c"
> > [jessie] Starting Jessie translation
> > [jessie] Producing Jessie files in subdir hello.jessie
> > [jessie] File hello.jessie/hello.jc written.
> > [jessie] File hello.jessie/hello.cloc written.
> > [jessie] Calling Jessie tool in subdir hello.jessie
> > Generating Why function foo
> > Generating Why function main
> > [jessie] Calling VCs generator.
> > gwhy-bin [...] why/hello.why
> > /bin/sh: gwhy-bin: command not found
>
> This suggests that the graphical user interface is missing. Do you have
> the lablgtk library installed? If not, neither why nor frama-c will
> complain (you can see a warning about lablgtk in config.log though), but
> they will only build the command-line tools. If you have some provers
> installed (e.g. alt-ergo), you can directly select one of them with
> -jessie-atp <prover> (e.g. -jessie-atp alt-ergo).
I only intend to use the command-line tools - working with a braille inteerface
and large-print - not a GUI - so that should be ok.
Still some problem with a dirty resolution - any futher hint would be much
appreciated.
jessie problem description:
---------------------------
clean install on Debian-5 still some problems with why - no matter
which prover I use (tried simplify, cvc3, z3, alt-ergo - all are shown in
why-config as being supported (see below)) - I can post the install
procedure if relevant (its a bit long)
cvd3/z3:
rand1:~/example# frama-c.byte -jessie -jessie-atp cvc3 hello.c
[kernel] preprocessing with "gcc -C -E -I. -dD hello.c"
[jessie] Starting Jessie translation
[jessie] Producing Jessie files in subdir hello.jessie
[jessie] File hello.jessie/hello.jc written.
[jessie] File hello.jessie/hello.cloc written.
[jessie] Calling Jessie tool in subdir hello.jessie
Generating Why function max
[jessie] Calling VCs generator.
why -smtlib [...] why/hello.why
Running CVC3 on proof obligations
(. = valid * = invalid ? = unknown # = timeout ! = failure)
smtlib/hello_why.smt : Uncaught exception: Sys_error("smtlib/hello_why.smt: No such file or directory")
make: *** [cvc3] Error 2
[jessie] user error: Jessie subprocess failed: make -f hello.makefile cvc3
simplify:
rand1:~/example# frama-c.byte -jessie -jessie-atp simplify hello.c
[kernel] preprocessing with "gcc -C -E -I. -dD hello.c"
[jessie] Starting Jessie translation
[jessie] Producing Jessie files in subdir hello.jessie
[jessie] File hello.jessie/hello.jc written.
[jessie] File hello.jessie/hello.cloc written.
[jessie] Calling Jessie tool in subdir hello.jessie
Generating Why function max
[jessie] Calling VCs generator.
why -simplify [...] why/hello.why
Running Simplify on proof obligations
(. = valid * = invalid ? = unknown # = timeout ! = failure)
simplify/hello_why.sx : Uncaught exception: Sys_error("simplify/hello_why.sx: No such file or directory")
make: *** [simplify] Error 2
[jessie] user error: Jessie subprocess failed: make -f hello.makefile simplify
why-setup:
----------
why-config gives me:
prover version info invocation
------------------------------------------------------
Alt-Ergo 0.9 alt-ergo
Simplify 1.5.4 simplify
Z3 2.2 z3 -smt
Yices not found
CVC3 2.2 cvc3 -lang smt
CVCL 2.2 (not supported) cvc3
Gappa not found
Coq 8.1pl3 (not supported) coqc
PVS not found
------------------------------------------------------
test input file:
----------------
The hello.c is now a real simple example (I hope) - cut&past from the
tutorial.
/*@ ensures \result == ((i < j) ? j : i);
@*/
int max(int i, int j) {
return (i < j) ? j : i;
}
tracing the problem:
--------------------
going up the execution chain - tried executing why manually to generate the
simplify/%_why.sx: target
rand1:~/example/hello.jessie# WHYLIB=/usr/local/lib/why strace -f why -simplify -dir simplify -split-user-conj -explain -locs hello.loc /usr/local/lib/why/why/jessie.why why/hello.why
this will generate the file simplify/hello but not the expected simplify/hello_why.sx - so patching the rule in the makefile to read
example/hello.jessie/hello.makefile
simplify/%_why.sx: WHYOPT=-simplify -dir simplify
simplify/%_why.sx: why/%.why
@echo why: $(WHY)
@echo jessielibfiles: $(JESSIELIBFILES)
@echo 'why -simplify [...] why/$*.why' && $(WHY) $(JESSIELIBFILES) why/$*.why
cp simplify/$* simplify/$*_why.sx
results in:
AthlongII2X_250_1:~/example/hello.jessie# make -f hello.makefile simplify
why -simplify [...] why/hello.why
cp simplify/hello simplify/hello_why.sx
Running Simplify on proof obligations
(. = valid * = invalid ? = unknown # = timeout ! = failure)
simplify/hello_why.sx : .? (1/0/1/0/0)
total : 2
valid : 1 ( 50%)
invalid : 0 ( 0%)
unknown : 1 ( 50%)
timeout : 0 ( 0%)
failure : 0 ( 0%)
total wallclock time : 0.08 sec
total CPU time : 0.06 sec
valid VCs:
average CPU time : 0.02
max CPU time : 0.02
invalid VCs:
average CPU time : nan
max CPU time : 0.00
unknown VCs:
average CPU time : 0.04
max CPU time : 0.04
I'm a bit stuck now - as obviously this "hack" in the makefile should not be
needed ? but from the tutorial I would guess the output is ok ? - so any
further hint what I might have messed up ?
thx!
hofrat
- Follow-Ups:
- [Frama-c-discuss] why-2.24 install question
- From: Claude.Marche at inria.fr (Claude Marche)
- [Frama-c-discuss] why-2.24 install question
- References:
- [Frama-c-discuss] why-2.24 install question
- From: der.herr at hofr.at (Nicholas Mc Guire)
- [Frama-c-discuss] why-2.24 install question
- From: Julien.Signoles at cea.fr (Julien Signoles)
- [Frama-c-discuss] why-2.24 install question
- From: der.herr at hofr.at (Nicholas Mc Guire)
- [Frama-c-discuss] why-2.24 install question
- From: Claude.Marche at inria.fr (Claude Marche)
- [Frama-c-discuss] why-2.24 install question
- From: der.herr at hofr.at (Nicholas Mc Guire)
- [Frama-c-discuss] why-2.24 install question
- From: pascal.cuoq at gmail.com (Pascal Cuoq)
- [Frama-c-discuss] why-2.24 install question
- From: der.herr at hofr.at (Nicholas Mc Guire)
- [Frama-c-discuss] why-2.24 install question
- From: virgile.prevosto at cea.fr (Virgile Prevosto)
- [Frama-c-discuss] why-2.24 install question
- Prev by Date: [Frama-c-discuss] why-2.24 install question
- Next by Date: [Frama-c-discuss] problem with installation of Frama-C Beryllium (2) for Mac OS X 10.5.8
- Previous by thread: [Frama-c-discuss] why-2.24 install question
- Next by thread: [Frama-c-discuss] why-2.24 install question
- Index(es):
