Frama-C Bug Tracking System - Frama-C
View Issue Details
0000225Frama-CGraphical User Interfacepublic2009-09-01 14:122009-09-09 08:55
Frama-C Beryllium-20090601-beta1 
Frama-C Beryllium-20090901 
0000225: Incorrect linking order for the viewer
Hi, When compiling the viewer using a system-installation of ocamlgraph, the compilation fails with the following error: ocamlc.opt -w Ael -warn-error A -annot -I src/misc -I src/ai -I src/memory_state -I src/toplevel -I src/slicing_types -I src/pdg_types -I src/kernel -I src/logic -I src/lib -I src/project -I src/buckx -I external -I cil/src -I cil/src/ext -I cil/src/frontc -I cil/src/logic -I cil/ocamlutil -I lib/plugins -I lib -I +ocamlgraph -g -I src/gui -I +lablgtk2 -I +ocamlgraph -linkall -custom -o bin/viewer.byte nums.cma unix.cma bigarray.cma str.cma dynlink.cma src/buckx/mybigarray.o src/buckx/buckx_c.o graph.cma /usr/lib/ocaml/ocamlgraph/viewGraph.cmo /usr/lib/ocaml/ocamlgraph/viewGraph_select.cmo /usr/lib/ocaml/ocamlgraph/viewGraph_utils.cmo lablgtk.cma lablgnomecanvas.cma lablgtksourceview.cma /usr/lib/ocaml/ocamlgraph/viewGraph.cmo /usr/lib/ocaml/ocamlgraph/viewGraph_select.cmo /usr/lib/ocaml/ocamlgraph/viewGraph_utils.cmo [...] File "_none_", line 1, characters 0-1: Error: Error while linking /usr/lib/ocaml/ocamlgraph/viewGraph.cmo: Reference to undefined global `GnoCanvas' As you can see, viewGraph.cmo (and friends) are specified twice when linking and between the two groups there is lablgnomecanvas.cma which is needed by viewGraph.cmo. Please find attached a patch that fixes this issue. Kind regards,
No tags attached.
patch 0002-Do-not-add-GRAPH_GUICMO-to-BYTE_GUI_LIBS.patch (712) 2009-09-01 14:12
Issue History
2009-09-01 14:12mehdiNew Issue
2009-09-01 14:12mehdiFile Added: 0002-Do-not-add-GRAPH_GUICMO-to-BYTE_GUI_LIBS.patch
2009-09-02 10:48signolesStatusnew => assigned
2009-09-02 10:48signolesAssigned To => signoles
2009-09-02 16:47monateNote Added: 0000370
2009-09-04 16:08mehdiNote Added: 0000371
2009-09-04 16:17signolesStatusassigned => acknowledged
2009-09-04 18:43signolesNote Added: 0000373
2009-09-04 18:44signolesNote Edited: 0000373
2009-09-05 00:50mehdiNote Added: 0000374
2009-09-07 13:29virgileStatusacknowledged => resolved
2009-09-07 13:29virgileFixed in Version => Frama-C Beryllium
2009-09-07 13:29virgileResolutionopen => fixed
2009-09-09 08:55signolesNote Added: 0000384
2009-09-09 08:55signolesStatusresolved => closed

2009-09-02 16:47   
Can you confirm if the bug is still present in Beryllium?
2009-09-04 16:08   
I would have been able to answer if the interface of Jessie doesn't change. I'll answer then when I'll resolve this issue: File "src/jessie/", line 2093, characters 54-60: Error: This expression has type ((bool * bool) * Jc.Jc_constructors.ptype * string * int option) list but an expression was expected of type (bool * Jc.Jc_ast.ptype * string * int option) list make[2]: *** [src/jessie/interp.cmx] Erreur 2 Cheers,
2009-09-04 18:43   
(edited on: 2009-09-04 18:44)
You're right: you have to wait the next version of why or to use the synchronized version of why comming within Frama-C. You can also configure frama-c with "./configure --disable-jessie"
2009-09-05 00:50   
My plan was to come up with a patch to make it compile. I don't feel like disabling the Jessie plugin, nor using Why shipped within Frama-c. It would have been so nice to have stable versions (frama-c and why) synchronized. IMHO, synchronizing a beta version of Frama-c and a stable one of Why seems to me like a no-sense. Do you have any idea on the release date of the next stable version of Why?
2009-09-09 08:55   
Already fixed in Beryllium. Thank's for the report and the patch.