Test the SDK

Miklos Vajna vmiklos at collabora.co.uk
Tue Sep 16 05:13:24 PDT 2014


Hi Stephan,

On Tue, Sep 16, 2014 at 01:26:39PM +0200, Stephan Bergmann <sbergman at redhat.com> wrote:
> (you should configure the SDK to do automatic deployment of
> extensions, and one of the example extensions asks you to accept an
> example license on stdin during deployment).

That being said, does it work for you on master to actually run one of
those examples?

Here is what I tried:

rm -rf ~/libreoffice4.4_sdk/
cd instdir/sdk
./setsdkenv_unix (just accept the defaults)

(setsdkenv_unix gives a warning:

sh: /home/vmiklos/git/libreoffice/master/instdir/sdk/config.guess:
Permission denied

Though possibly that's harmless.)

Then:

cd examples/cpp/DocumentLoader
make

Gives:

----
$ make
mkdir -p /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/misc
rm -f /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/misc/oosdk_cpp_types.flag
"/home/vmiklos/git/libreoffice/master/instdir/sdk/bin/cppumaker" -Gc -O/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/inc "/home/vmiklos/git/libreoffice/master/instdir/ure-link/share/misc/types.rdb" "/home/vmiklos/git/libreoffice/master/instdir/sdk/../program/types/offapi.rdb"
echo flagged > /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/misc/oosdk_cpp_types.flag
mkdir -p /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/obj/DocumentLoader
gcc -c -fpic -fvisibility=hidden -O -I. -I/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/inc -I/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/inc/examples -I../../../include -I/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/inc/DocumentLoader -DUNX -DGCC -DLINUX -DCPPU_ENV=gcc3 -DHAVE_GCC_VISIBILITY_FEATURE -o/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/obj/DocumentLoader/DocumentLoader.o DocumentLoader.cxx
mkdir -p /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/bin
mkdir -p /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/misc/DocumentLoader
g++ -Wl,--allow-shlib-undefined -Wl,-export-dynamic -Wl,-z,defs -Wl,--no-whole-archive -L"/home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/lib" -L"/home/vmiklos/git/libreoffice/master/instdir/sdk/lib" -L"/home/vmiklos/git/libreoffice/master/instdir/ure-link/lib" -o /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/bin/DocumentLoader /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/obj/DocumentLoader/DocumentLoader.o \
  -luno_cppuhelpergcc3 -luno_cppu -luno_salhelpergcc3 -luno_sal 
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libreglo.so, needed by /home/vmiklos/git/libreoffice/master/instdir/sdk/lib/libuno_cppuhelpergcc3.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libunoidllo.so, needed by /home/vmiklos/git/libreoffice/master/instdir/sdk/lib/libuno_cppuhelpergcc3.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libxmlreaderlo.so, needed by /home/vmiklos/git/libreoffice/master/instdir/sdk/lib/libuno_cppuhelpergcc3.so, not found (try using -rpath or -rpath-link)
--------------------------------------------------------------------------------
The example loads the "test.odt" document in the DocumentLoader example directory.
If you want to load your own document, please use:
  DocumentLoader -env:URE_MORE_TYPES="<fileurl_office_types_rdb>" "filename" [connection_url]
-
Use the following command to execute the example!
-
make DocumentLoader.run
-
NOTE: This example does not use the new UNO bootstrap mechanism, it uses still a socket
      connection. The example use the defaultBootstrap_InitialComponentContext method and provides
      the additional office types via the UNO environment variable -env:URE_MORE_TYPES=...
      Before you can run this example you have to start your office in listening mode.
-
  soffice "--accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager"
--------------------------------------------------------------------------------
----

(Notice the ld warnings)

And when I try to run it:

make DocumentLoader.run

I would expect that I get some failure due to no soffice is listening on
port 2083, but instead I get:

----
cd /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/bin &&
DocumentLoader
-env:URE_MORE_TYPES=file://"/home/vmiklos/git/libreoffice/master/instdir/sdk/../program/types/offapi.rdb"
"/home/vmiklos/git/libreoffice/master/instdir/sdk/examples/cpp/DocumentLoader/test.odt"
/bin/sh: DocumentLoader: command not found
make: *** [DocumentLoader.run] Error 127
----

Not sure if this is just a configuration issue (though I remember this
used to work at some strange on this machine), or some recent
regression. I did not try to bisect it yet.

I also tried to change DocumentLoader to ./DocumentLoader manually, but
then it seems there is some missing rpath on the produced binary:

$ (cd /home/vmiklos/libreoffice4.4_sdk/LINUXexample.out/bin && ./DocumentLoader -env:URE_MORE_TYPES=file://"/home/vmiklos/git/libreoffice/master/instdir/sdk/../program/types/offapi.rdb" "/home/vmiklos/git/libreoffice/master/instdir/sdk/examples/cpp/DocumentLoader/test.odt")
./DocumentLoader: error while loading shared libraries: libuno_cppuhelpergcc3.so.3: cannot open shared object file: No such file or directory

Does this ring a bell? At this points I gave up. ;-)

Thanks,

Miklos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20140916/b26ee7d6/attachment.sig>


More information about the LibreOffice mailing list