On Mon, Sep 16, 2013 at 08:05:45AM -0600, Jerry James wrote:
On Sun, Sep 15, 2013 at 4:28 PM, Richard W.M. Jones
<rjones(a)redhat.com> wrote:
> This is a compiler-internal error with using the -g option.
>
> It means that the (file, line) location number has line == 0 and the
> compiler refuses to emit DWARF info with line == 0 because (according
> to the comment in the source) clang fails to process such files.
>
> Because camlp5 is a preprocessor it's probably generating fake line
> number info.
>
> Up to you how far you want to diagnose and/or fix this. TBH I
> wouldn't bother trying too hard to fix this. Just don't use -g on the
> affected files if possible, or turn off debuginfo on the whole
> package.
Since the pa_lisp.ppo file handed to ocamlopt is some kind of binary
blob, I did not make any attempt to fix this.
I guess that will be the binary form of the OCaml AST. Something
along the lines of this may work:
camlp5o pr_o.cmo pa_lisp.ppo
Note: you'll have to use the camlp5o from camlp5 (not camlp4o from
OCaml) since I guess the binary format will have diverged since the
Great Parting Of The Preprocessors back in '06.
It took some gross
Makefile hackery, but the build now works by not using -g on this and
a couple of other affected files.
Thanks for looking at it anyhow.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org