From: Christoph Egger <Christoph.Egger@amd.com>
To: Ian Campbell <Ian.Campbell@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: tools: ocaml build error
Date: Thu, 12 May 2011 13:28:16 +0200 [thread overview]
Message-ID: <4DCBC450.70805@amd.com> (raw)
In-Reply-To: <1305197840.26692.484.camel@zakaz.uk.xensource.com>
[-- Attachment #1: Type: text/plain, Size: 1972 bytes --]
On 05/12/11 12:57, Ian Campbell wrote:
> On Thu, 2011-05-12 at 11:53 +0100, Christoph Egger wrote:
>> On 05/11/11 12:16, Ian Campbell wrote:
>>> On Wed, 2011-05-11 at 10:48 +0100, Christoph Egger wrote:
>>>> Hi,
>>>>
>>>> Compiling the ocaml fails:
>>>>
>>>> Parsing tools/ocaml/libs/xl/../../../../tools/libxl/libxl.idl
>>>> sed: 1: "1i(*\
>>>> * AUTO-GENERATED ...": command i expects \ followed by test
>>>> gmake[7]: Leaving directory `tools/ocaml/libs/xl'
>>>
>>> I guess the sed script in tools/ocaml/libs/xl/Makefile has some
>>> non-posix-ism in it.
>>>
>>> Using gnu sed with --posix the following works for me (I dropped the
>>> --posix). Does it help ?
>>
>> I have to widthdraw my previous ack. The sed script didn't run because
>> of empty xm.ml and xm.mli files.
>>
>> After running gmake dist-clean and recompile I get this error:
>>
>> Parsing tools/ocaml/libs/xl/../../../../tools/libxl/libxl.idl
>> sed: 1: "1i\(*\
>> * AUTO-GENERATED ...": extra characters after \ at the end of i command
>> gmake[7]: Leaving directory `tools/ocaml/libs/xl'
>
> Can you play a bit with your version of sed and see what makes it happy?
>
> Perhaps \n (suitable quoted) orjust a raw linefeed will work? If not
> maybe just stick the whole autogenerated tag on a single line, or use
> multiple i commands, or ....
>
> I guess it wouldn't be the end of the world to do:
> echo "(* AUTO GEN... mummble etc *)"> xl.ml
> sed -e '/^(\* @@LIBXL_TYPES@@ \*)$$/r_libxl_types.ml.in'<bla>>xl.ml
>
With attached xen_tools_ocaml.diff a xl.ml file is generated w/o
having sed complaining.
xl.mli is not generated at all.
I attached xl.ml. Can you check if this is the expected result, please?
Christoph
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
[-- Attachment #2: xen_tools_ocaml.diff --]
[-- Type: text/plain, Size: 691 bytes --]
diff -r 802b55c073e5 tools/ocaml/libs/xl/Makefile
--- a/tools/ocaml/libs/xl/Makefile Thu May 12 12:13:10 2011 +0200
+++ b/tools/ocaml/libs/xl/Makefile Thu May 12 13:26:54 2011 +0200
@@ -24,7 +24,8 @@ GENERATED_FILES += _libxl_types.inc
all: $(INTF) $(LIBS)
xl.ml: xl.ml.in _libxl_types.ml.in
- $(Q)sed -e '1i(*\
+ $(Q)sed -e '1i\
+(*\
* AUTO-GENERATED FILE DO NOT EDIT\
* Generated from xl.ml.in and _libxl_types.ml.in\
*)\
@@ -33,7 +34,8 @@ xl.ml: xl.ml.in _libxl_types.ml.in
< xl.ml.in > xl.ml
xl.mli: xl.mli.in _libxl_types.mli.in
- $(Q)sed -e '1i(*\
+ $(Q)sed -e '1i\
+(*\
* AUTO-GENERATED FILE DO NOT EDIT\
* Generated from xl.mli.in and _libxl_types.mli.in\
*)\
[-- Attachment #3: xl.ml --]
[-- Type: text/plain, Size: 6405 bytes --]
(*
* AUTO-GENERATED FILE DO NOT EDIT
* Generated from xl.ml.in and _libxl_types.ml.in
*)
(*
* Copyright (C) 2009-2011 Citrix Ltd.
* Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; version 2.1 only. with the special
* exception on linking described in file LICENSE.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*)
exception Error of string
type domid = int
(* @@LIBXL_TYPES@@ *)
(* AUTO-GENERATED FILE DO NOT EDIT *)
(* autogenerated by
genwrap.py /data/xen/xen-staging-netbsd.hg/tools/ocaml/libs/xl/../../../../tools/libxl/libxl.idl _libxl_types.mli.in _libxl_types.ml.in _libxl_types.inc
*)
type domain_type =
| DOMAIN_TYPE_FV
| DOMAIN_TYPE_PV
type device_model_version =
| DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL
| DEVICE_MODEL_VERSION_QEMU_XEN
type console_type =
| CONSOLE_TYPE_SERIAL
| CONSOLE_TYPE_PV
type console_backend =
| CONSOLE_BACKEND_XENCONSOLED
| CONSOLE_BACKEND_IOEMU
type disk_format =
| DISK_FORMAT_UNKNOWN
| DISK_FORMAT_QCOW
| DISK_FORMAT_QCOW2
| DISK_FORMAT_VHD
| DISK_FORMAT_RAW
| DISK_FORMAT_EMPTY
type disk_backend =
| DISK_BACKEND_UNKNOWN
| DISK_BACKEND_PHY
| DISK_BACKEND_TAP
| DISK_BACKEND_QDISK
type nic_type =
| NIC_TYPE_IOEMU
| NIC_TYPE_VIF
type action_on_shutdown =
| ACTION_ON_SHUTDOWN_DESTROY
| ACTION_ON_SHUTDOWN_RESTART
| ACTION_ON_SHUTDOWN_RESTART_RENAME
| ACTION_ON_SHUTDOWN_PRESERVE
| ACTION_ON_SHUTDOWN_COREDUMP_DESTROY
| ACTION_ON_SHUTDOWN_COREDUMP_RESTART
type event_type =
| EVENT_TYPE_DOMAIN_DEATH
| EVENT_TYPE_DISK_EJECT
type button =
| BUTTON_POWER
| BUTTON_SLEEP
module Dominfo = struct
type t =
{
uuid : int array;
domid : domid;
running : bool;
blocked : bool;
paused : bool;
shutdown : bool;
dying : bool;
shutdown_reason : int;
current_memkb : int64;
max_memkb : int64;
cpu_time : int64;
vcpu_max_id : int32;
vcpu_online : int32;
}
end
module Vminfo = struct
type t =
{
uuid : int array;
domid : domid;
}
end
module Version_info = struct
type t =
{
xen_version_major : int;
xen_version_minor : int;
xen_version_extra : string;
compiler : string;
compile_by : string;
compile_domain : string;
compile_date : string;
capabilities : string;
changeset : string;
virt_start : int64;
pagesize : int;
commandline : string;
}
end
module Device_vfb = struct
type t =
{
backend_domid : domid;
devid : int;
vnc : bool;
vnclisten : string;
vncpasswd : string;
vncdisplay : int;
vncunused : bool;
keymap : string;
sdl : bool;
opengl : bool;
display : string;
xauthority : string;
}
external add : t -> domid -> unit = "stub_xl_device_vfb_add"
external clean_shutdown : domid -> unit = "stub_xl_device_vfb_clean_shutdown"
external hard_shutdown : domid -> unit = "stub_xl_device_vfb_hard_shutdown"
end
module Device_vkb = struct
type t =
{
backend_domid : domid;
devid : int;
}
external add : t -> domid -> unit = "stub_xl_device_vkb_add"
external clean_shutdown : domid -> unit = "stub_xl_device_vkb_clean_shutdown"
external hard_shutdown : domid -> unit = "stub_xl_device_vkb_hard_shutdown"
end
module Device_console = struct
type t =
{
backend_domid : domid;
devid : int;
consback : console_backend;
output : string;
}
external add : t -> domid -> unit = "stub_xl_device_console_add"
end
module Device_disk = struct
type t =
{
backend_domid : domid;
pdev_path : string;
vdev : string;
backend : disk_backend;
format : disk_format;
unpluggable : int;
readwrite : int;
is_cdrom : int;
}
external add : t -> domid -> unit = "stub_xl_device_disk_add"
external del : t -> domid -> unit = "stub_xl_device_disk_del"
end
module Device_nic = struct
type t =
{
backend_domid : domid;
devid : int;
mtu : int;
model : string;
mac : int array;
ip : string;
bridge : string;
ifname : string;
script : string;
nictype : nic_type;
}
external add : t -> domid -> unit = "stub_xl_device_nic_add"
external del : t -> domid -> unit = "stub_xl_device_nic_del"
end
module Device_pci = struct
type t =
{
func : int;
dev : int;
bus : int;
domain : int;
vdevfn : int32;
vfunc_mask : int32;
msitranslate : bool;
power_mgmt : bool;
}
external add : t -> domid -> unit = "stub_xl_device_pci_add"
external remove : t -> domid -> unit = "stub_xl_device_pci_remove"
external shutdown : domid -> unit = "stub_xl_device_pci_shutdown"
end
module Diskinfo = struct
type t =
{
backend : string;
backend_id : int32;
frontend : string;
frontend_id : int32;
devid : int;
state : int;
evtch : int;
rref : int;
}
end
module Nicinfo = struct
type t =
{
backend : string;
backend_id : int32;
frontend : string;
frontend_id : int32;
devid : int;
state : int;
script : string;
mac : int array;
evtch : int;
rref_tx : int;
rref_rx : int;
}
end
module Physinfo = struct
type t =
{
threads_per_core : int32;
cores_per_socket : int32;
max_cpu_id : int32;
nr_cpus : int32;
cpu_khz : int32;
total_pages : int64;
free_pages : int64;
scrub_pages : int64;
nr_nodes : int32;
hw_cap : int32 array;
phys_cap : int32;
}
external get : unit -> t = "stub_xl_physinfo_get"
end
module Sched_credit = struct
type t =
{
weight : int;
cap : int;
}
external domain_get : domid -> t = "stub_xl_sched_credit_domain_get"
external domain_set : domid -> t -> unit = "stub_xl_sched_credit_domain_set"
end
(* END OF AUTO-GENERATED CODE *)
module Topologyinfo = struct
type t =
{
core : int;
socket : int;
node : int;
}
external get : unit -> t = "stub_xl_topologyinfo"
end
external button_press : domid -> button -> unit = "stub_xl_button_press"
external send_trigger : domid -> string -> int -> unit = "stub_xl_send_trigger"
external send_sysrq : domid -> char -> unit = "stub_xl_send_sysrq"
external send_debug_keys : domid -> string -> unit = "stub_xl_send_debug_keys"
let _ = Callback.register_exception "xl.error" (Error "register_callback")
[-- Attachment #4: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2011-05-12 11:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-11 9:48 tools: ocaml build error Christoph Egger
2011-05-11 10:16 ` Ian Campbell
2011-05-11 10:14 ` Christoph Egger
2011-05-11 10:45 ` Ian Campbell
2011-05-11 11:26 ` Christoph Egger
2011-05-11 11:45 ` Christoph Egger
2011-05-12 10:53 ` Christoph Egger
2011-05-12 10:57 ` Ian Campbell
2011-05-12 11:28 ` Christoph Egger [this message]
2011-05-12 11:59 ` Ian Campbell
2011-05-12 12:53 ` Christoph Egger
2011-05-18 8:32 ` Christoph Egger
2011-05-18 8:49 ` Ian Campbell
2011-05-24 10:08 ` Christoph Egger
2011-05-24 10:46 ` Ian Jackson
2011-05-24 16:52 ` tools: ocaml build error [and 1 more messages] Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DCBC450.70805@amd.com \
--to=christoph.egger@amd.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.