Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Problem compiling an idl with idlc

I'm working on an AddIn to use on Calc ( source: https://github.com/beothorn/ClojureCalc ) and I'm having a problem when compilind an idl. This addin used to compile without problems on an older libreoffice sdk (4.3 I think) but it upgraded to 5.0.2.2 together with my ubuntu and now it doesn't compile anymore. The error message isn't too helpful either because it points to a line that doesn't exists, or I am interpreting the error message wrong.

Here's how I'm running idlc

/usr/lib/libreoffice/sdk/bin/idlc -C -O /home/lucas/dev/clojurecalc/ClojureCalc/build/idl/urd -I /home/lucas/dev/clojurecalc/ClojureCalc/src -I /usr/lib/libreoffice/sdk/idl /home/lucas/dev/clojurecalc/ClojureCalc/src/com/github/beothorn/clojurecalc/ClojureCalc.idl

and the output

Compiling: /home/lucas/dev/clojurecalc/ClojureCalc/src/com/github/beothorn/clojurecalc/ClojureCalc.idl
<command-line>:1 [62:62] : Statement can not be parsed: syntax error, unexpected $undefined  
/usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl:80 [42:42] : Statement can not be parsed: definitions  
/usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl:94 [5:8] : Statement can not be parsed: syntax error, unexpected IDL_VOID  
(... more 14 errors ...)  
/usr/lib/libreoffice/sdk/bin/idlc.bin: detected 16 errors/usr/lib/libreoffice/sdk/bin/idlc.bin Version 1.1

but line 80 on /usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl is a comment, so I don't know what is happening.

Here is the idl:

#include <com/sun/star/lang/XLocalizable.idl>
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/table/XCellRange.idl>

module com { module github { module beothorn { module clojurecalc {
    interface XClojureCalc {
        /// used to set an add-in locale for formatting reasons for example
        [optional] interface ::com::sun::star::lang::XLocalizable;

        string strfmt([in] string str, [in] sequence<any> args);
        string cljEval([in] string exp, [in] sequence<any> substituteVals);
        string cljs([in] string exp, [in] sequence<any> substituteVals);
        string cljn([in] string exp, [in] sequence<any> substituteVals);
        string cljToRange([in] string exp, [in] string title, [in] com::sun::star::table::XCellRange cells);
    };
}; }; }; };

So, should the error message from idlc point point to /usr/lib/libreoffice/sdk/idl/com/sun/star/uno/? or 80 is not the line with the problem and means something else?

Problem compiling an idl with idlc

I'm working on an AddIn to use on Calc ( source: https://github.com/beothorn/ClojureCalc ) and I'm having a problem when compilind an idl. This addin used to compile without problems on an older libreoffice sdk (4.3 I think) but it upgraded to 5.0.2.2 together with my ubuntu and now it doesn't compile anymore. The error message isn't too helpful either because it points to a line that doesn't exists, or I am interpreting the error message wrong.

Here's how I'm running idlc

/usr/lib/libreoffice/sdk/bin/idlc -C -O /home/lucas/dev/clojurecalc/ClojureCalc/build/idl/urd -I /home/lucas/dev/clojurecalc/ClojureCalc/src -I /usr/lib/libreoffice/sdk/idl /home/lucas/dev/clojurecalc/ClojureCalc/src/com/github/beothorn/clojurecalc/ClojureCalc.idl

and the output

Compiling: /home/lucas/dev/clojurecalc/ClojureCalc/src/com/github/beothorn/clojurecalc/ClojureCalc.idl
<command-line>:1 [62:62] : Statement can not be parsed: syntax error, unexpected $undefined  
/usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl:80 [42:42] : Statement can not be parsed: definitions  
/usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl:94 [5:8] : Statement can not be parsed: syntax error, unexpected IDL_VOID  
(... more 14 errors ...)  
/usr/lib/libreoffice/sdk/bin/idlc.bin: detected 16 errors/usr/lib/libreoffice/sdk/bin/idlc.bin Version 1.1

but line 80 on /usr/lib/libreoffice/sdk/idl/com/sun/star/uno/XInterface.idl is a comment, so I don't know what is happening.

Here is the idl:

#include <com/sun/star/lang/XLocalizable.idl>
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/table/XCellRange.idl>

module com { module github { module beothorn { module clojurecalc {
    interface XClojureCalc {
        /// used to set an add-in locale for formatting reasons for example
        [optional] interface ::com::sun::star::lang::XLocalizable;

        string strfmt([in] string str, [in] sequence<any> args);
        string cljEval([in] string exp, [in] sequence<any> substituteVals);
        string cljs([in] string exp, [in] sequence<any> substituteVals);
        string cljn([in] string exp, [in] sequence<any> substituteVals);
        string cljToRange([in] string exp, [in] string title, [in] com::sun::star::table::XCellRange cells);
    };
}; }; }; };

So, should the error message from idlc point point to /usr/lib/libreoffice/sdk/idl/com/sun/star/uno/? or 80 is not the line with the problem and means something else?