[lo-4.2] regview fails to show rdb files
Stephan Bergmann
sbergman at redhat.com
Tue Dec 10 02:59:56 PST 2013
On 12/10/2013 05:18 AM, Neeraj Rai wrote:
> I pulled a 4.2 version on Nov 23 and again today. Both seem to show this
> behaviour.
> The regview doesn't show the rdb file
>
> $./instdir/ure/bin/regview ./instdir/program/types/oovbaapi.rdb
> open registry "./instdir/program/types/oovbaapi.rdb" failed
>
> I created an rdb file using idlc and regmerge, which has no such issue.
> I suspect this is causing some other unexplained issues for me on centos
> 6.2.
> Has anyone else run into this ?
> Any advise on how to approach would be appreciated.
Beginning with LO 4.1, we move away from the old .rdb format for UNOIDL
type data and gradually replace it with a new format (that is more
compact and faster to process).
The LO SDK still uses the old format for now. If you build .rdb files
for external applications or LO extensions, you will do so with the
existing SDK tools (idlc, regmerge, regview) and the generated files are
in the old format.
The .rdb files that are included in LO itself (ure/share/misc/types.rdb,
program/types/offapi.rdb, program/types/oovbaapi.rdb) already use the
new format since LO 4.1. This should be mostly transparent to SDK
users, as most of the tools that operate on .rdb files (cppumaker,
javamaker, etc.) will accept both the old and the new format as input.
(And at runtime, the URE and LO of course also accept both formats now.)
Only the low-level tools regmerge and regview have not been updated,
they continue to only work with the old format. However, beginning with
LO 4.2, there is a new tool unoidl-read to convert any .rdb file (both
old and new format) into readable form. For now, it is only a
build-time tool (in workdir; and if you call it manually you need to
extend LD_LIBRARY_PATH so it finds its libs), and you call it with the
rdb file to translate, preceded by any rdb files necessary to resolve
types mentioned in later rdb files.
That is, to show the content of instdir/program/types/oovbaapi.rdb on
Linux, do
> LD_LIBRARY_PATH=instdir/ure/lib workdir/LinkTarget/Executable/unoidl-read instdir/ure/share/misc/types.rdb instdir/program/types/offapi.rdb instdir/program/types/oovbaapi.rdb
(And yes, I really need to write all this down somewhere...)
Stephan
More information about the LibreOffice
mailing list