I’m working on an AddIn to use on Calc ( source: GitHub - beothorn/ClojureCalc: A libreoffice Calc Add-In to evaluate clojure expressions ) 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?