[virt-tools-list] guestfs-browser fails to compile
Richard W.M. Jones
rjones at redhat.com
Sun Jul 31 21:05:03 UTC 2011
On Sun, Jul 31, 2011 at 12:39:48AM +0200, Hilko Bengen wrote:
> I just tried compiling guestfs-browser on a i386 Debian/unstable machine
> (with recent versions of libcamomile-ocaml-data and
> libcamomile-ocaml-dev installed from experimental). The "configure"
> stage went ok. I have included the output of running "make" at the end
> of the mail.
>
> Can someone tell me what is going wrong here?
I compiled and ran guestfs-browser fine on Debian 6 (not unstable).
Firstly I changed the libguestfs debian package so that it now builds
libguestfs-ocaml and libguestfs-ocaml-dev packages:
http://git.annexia.org/?p=libguestfs.git;a=commitdiff;h=1d134301fc4d05338d09517abc978d0a90d82e09
>From this I was able to build and install the OCaml bindings as debs.
Secondly I cloned guestfs-browser from git and installed all the OCaml
dependencies:
camlp4
camlp4-extra
dh-ocaml
libbitstring-ocaml-dev
libcalendar-ocaml-dev
libcamomile-ocaml-dev
libcamomile-ocaml-data
libextlib-ocaml-dev
libfindlib-ocaml-dev
libguestfs-ocaml-dev # from above
libhivex-ocaml-dev
liblablgtk2-ocaml-dev
libpcre-ocaml-dev
libvirt-ocaml-dev
libxml-light-ocaml-dev
ocaml # 3.11.2
ocaml-best-compilers
I had to apply the two patches attached to guestfs-browser. The 0001
patch is really a bug in the *Fedora* ocaml-lablgtk package. The META
file needs to be updated to match the one in Debian, and then the 0001
patch can be applied to guestfs-browser upstream.
The 0002 patch is required because Camomile in Debian 6 is very old
(0.7.2, versus 0.8.something upstream). I don't intend to apply this
upstream -- Debian should update the package.
I was able to compile and run guestfs-browser in the usual way.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
-------------- next part --------------
>From c6ae1f41e611afcc4f59640bd67abde9dbb84e1b Mon Sep 17 00:00:00 2001
From: Richard W.M. Jones <rjones at redhat.com>
Date: Sun, 31 Jul 2011 21:53:44 +0100
Subject: [PATCH 1/2] Fix lablgtk build options for Debian.
---
Makefile.am | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index fb632b7..1583ffc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -144,14 +144,14 @@ OCAMLDOCFLAGS = \
if HAVE_OCAMLOPT
guestfs-browser: $(XOBJECTS)
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
- -predicates init,threads \
- -linkpkg gtkThread.cmx \
+ -predicates init,threads -package lablgtk2.init \
+ -linkpkg \
$^ -o $@
else
guestfs-browser: $(OBJECTS)
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
- -predicates init,threads \
- -linkpkg gtkThread.cmo \
+ -predicates init,threads -package lablgtk2.init \
+ -linkpkg \
$^ -o $@
endif
--
1.7.2.5
-------------- next part --------------
>From 018f753da075658328e6c64be555eadaf54c523c Mon Sep 17 00:00:00 2001
From: Richard W.M. Jones <rjones at redhat.com>
Date: Sun, 31 Jul 2011 21:54:16 +0100
Subject: [PATCH 2/2] debian: Camomile < 0.8
---
filetree.ml | 2 +-
slave.ml | 2 +-
utils.ml | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/filetree.ml b/filetree.ml
index f6ffa7b..529129e 100644
--- a/filetree.ml
+++ b/filetree.ml
@@ -28,7 +28,7 @@ open Slave_types
open Filetree_markup
module G = Guestfs
-module UTF8 = CamomileLibraryDefault.Camomile.UTF8
+module UTF8 = CamomileLibrary.Default.Camomile.UTF8
(* Temporary directory for shared use by any function in this file.
* It is cleaned up when the program exits.
diff --git a/slave.ml b/slave.ml
index 360a11c..08024c2 100644
--- a/slave.ml
+++ b/slave.ml
@@ -32,7 +32,7 @@ module D = Libvirt.Domain
module G = Guestfs
module M = Mutex
module Q = Queue
-module UTF8 = CamomileLibraryDefault.Camomile.UTF8
+module UTF8 = CamomileLibrary.Default.Camomile.UTF8
type 'a callback = 'a -> unit
diff --git a/utils.ml b/utils.ml
index 57faf38..7bfb50c 100644
--- a/utils.ml
+++ b/utils.ml
@@ -225,9 +225,9 @@ let tmpdir () =
ignore (Sys.command cmd));
tmpdir
-module CE = CamomileLibraryDefault.Camomile.CharEncoding
-module UTF8 = CamomileLibraryDefault.Camomile.UTF8
-module UChar = CamomileLibraryDefault.Camomile.UChar
+module CE = CamomileLibrary.Default.Camomile.CharEncoding
+module UTF8 = CamomileLibrary.Default.Camomile.UTF8
+module UChar = CamomileLibrary.Default.Camomile.UChar
let utf16le = CE.utf16le
let utf8 = CE.utf8
let recode = CE.recode_string ~in_enc:utf16le ~out_enc:utf8
--
1.7.2.5
More information about the virt-tools-list
mailing list