linuxBean14.04(33)失敗したLibreOfficeSDKの例を再make:その1

2015-06-14

旧ブログ

t f B! P L

前の関連記事:linuxBean14.04(32)GNU Make Debugger, Remake:その3


linuxBean14.04(29)LibreOfficeDev5.0SDKの例を一括でmakeするでエラーがでてうまくmakeできなかったファイルを修正します。まずは/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironmentにある例です。

DevelopersGuide_OfficeDev_DesktopEnvironmentのnativeview.cのコンパイルは断念

make -C nativelib/unix 
make[1]: ディレクトリ `/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/nativelib/unix' に入ります
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/slo/nativeview
gcc -c -fpic -O -I. -I/home/pq/libreoffice5.0_sdk/LINUXexample.out/inc -I/home/pq/libreoffice5.0_sdk/LINUXexample.out/inc/examples -I../../../../../../include -I"/usr/include" -I"/usr/include/linux" -DUNX -DGCC -DLINUX -DCPPU_ENV=gcc3 -o/home/pq/libreoffice5.0_sdk/LINUXexample.out/slo/nativeview/nativeview.o nativeview.c
nativeview.c:36:22: fatal error: X11/Xlib.h: そのようなファイルやディレクトリはありません
 #include <X11/Xlib.h>
DevelopersGuide_OfficeDev_DesktopEnvironment.logをみるとX11/Xlib.hがないのが原因のようです。

[ubuntu] Xlib.h: No such file or directory [Archive] - Ubuntu Forumsを読んでlibx11-devをインストール。

nativeview.c:38:27: fatal error: X11/Intrinsic.h: そのようなファイルやディレクトリはありません
 #include <X11/Intrinsic.h>
まだひっかかります。

Ubuntu - 特定のファイルが含まれるパッケージを探す - Qiitaを読んでlibxt-devをインストール。

nativeview.c:40:18: fatal error: jawt.h: そのようなファイルやディレクトリはありません
 #include "jawt.h"
まだダメです。

Xlib.hとかXutil.hとかがないって言われたら... - ぱなしの女王 ~今日からはじめる覚え書き~を読んでxorg-devをインストール。


変化無し、、、

Ubuntu – Ubuntu パッケージ検索の「パッケージの内容を検索」でjawt.hを検索してgcj-4.8-jdkにあることがわかったのでこれをインストール。


これでファイルがないというエラーがでなくなりましたが、今度はヘッダファイルやソースファイルnativeview.cの内容に関するエラーが多発して私にはもうお手上げです。

どうしたものかと考えた末、nativeview.cのコンパイル結果のものを使わないものだけmakeすることを考えました。

remakeでnativeview.cの出力ファイル名がlibnativeview.soであるとわかる


nativeview.cのMakefile、/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/nativelib/unix/MaikefileをlinuxBean14.04(29)LibreOfficeDev5.0SDKの例を一括でmakeするで設定したGeanyで開いて、ビルド→setsdkenv。

linuxBean14.04(32)GNU Make Debugger, Remake:その3でやったremakeのinfo targetsでターゲット名一覧を得ます。

remake --debugger

info targets

この二つのコマンドの結果、nativeview.cのコンパイル結果がわかりました。

Makefile:64:
/home/pq/libreoffice5.0_sdk/LINUXexample.out/lib/libnativeview.so

さて、このlibnativeview.soを使ってる部分をコメントアウトしようと思って、 /opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironmentにあるjavaファイルを検索してみましたが何もひっかかってきませんでした。

(あとでJavaからCの処理を呼ぶ方法(JNI/JNA/SWIG) - Qiitaで読んで、libnativeview.soはJNIとういう方法でJavaからはnativeviewという名前で呼ばれるということを知りました。

「nativeview」で検索するとDocumentView.java、FunctionHelper.java、JavaWindowPeerFake.java、NativeView.javaの4つのjavaファイルがひっかかってきました。)

ダウンロードできるlibnativeview.soを発見


どうしたものかとlibnativeview.soでネットを検索してみるとこれがダウンロードできるサイトがありました。

libnativeview.so - noa-libre - NOA Fork to support LibreOffice - Google Project Hosting


View raw fileをクリックするとlibnativeview.soをダウンロードできました。

もうこれを使ってmakeすることにしました。

ダウンロードしたlibnativeview.soを/home/pq/libreoffice5.0_sdk/LINUXexample.out/libに保存しました。

nativeview.cをコンパイルする部分をコメントアウトしてmake成功


/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile、をファイルマネージャで右クリック→アプリーケーションで開く→Leafpad(root)。
.PHONY : $(SUBDIR)
$(SUBDIR) :
 # $(MAKE) -C $@
nativeview.cをコンパイルするMakefileを呼び出している96行目をコメントアウトして保存します。

このMakefileをGeanyで開いてビルド→setsdkenv。

make

うまくいきました。
# make -C nativelib/unix   
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
"/usr/bin/javac"  -classpath "/opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv" -d /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv CustomizeView.java Desk.java DocumentView.java FunctionHelper.java Interceptor.java IOnewayLink.java IShutdownListener.java JavaWindowPeerFake.java NativeView.java OfficeConnect.java OnewayExecutor.java StatusListener.java StatusView.java ViewContainer.java 
rm -f /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv/DesktopExample.jar
mkdir -p /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
cd /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv && "/usr/bin/jar" cvfm DesktopExample.jar DesktopExample.mf CustomizeView.class Desk.class DocumentView.class FunctionHelper.class Interceptor.class IOnewayLink.class IShutdownListener.class JavaWindowPeerFake.class NativeView.class OfficeConnect.class OnewayExecutor.class StatusListener.class StatusView.class ViewContainer.class CustomizeView\$ClickListener.class DocumentView\$1.class DocumentView\$Reactor.class
マニフェストが追加されました
CustomizeView.classを追加中です(入=2697)(出=1345)(50%収縮されました)
Desk.classを追加中です(入=939)(出=627)(33%収縮されました)
DocumentView.classを追加中です(入=5841)(出=3006)(48%収縮されました)
FunctionHelper.classを追加中です(入=10324)(出=5314)(48%収縮されました)
Interceptor.classを追加中です(入=7513)(出=3592)(52%収縮されました)
IOnewayLink.classを追加中です(入=220)(出=155)(29%収縮されました)
IShutdownListener.classを追加中です(入=140)(出=113)(19%収縮されました)
JavaWindowPeerFake.classを追加中です(入=1336)(出=644)(51%収縮されました)
NativeView.classを追加中です(入=1446)(出=839)(41%収縮されました)
OfficeConnect.classを追加中です(入=1454)(出=789)(45%収縮されました)
OnewayExecutor.classを追加中です(入=2125)(出=1075)(49%収縮されました)
StatusListener.classを追加中です(入=5338)(出=2754)(48%収縮されました)
StatusView.classを追加中です(入=3034)(出=1595)(47%収縮されました)
ViewContainer.classを追加中です(入=2763)(出=1533)(44%収縮されました)
CustomizeView$ClickListener.classを追加中です(入=2043)(出=1079)(47%収縮されました)
DocumentView$1.classを追加中です(入=187)(出=151)(19%収縮されました)
DocumentView$Reactor.classを追加中です(入=1233)(出=741)(39%収縮されました)
"/usr/bin/jar" uvf /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv/DesktopExample.jar -C ../../../../classes 'com/sun/star/lib/loader/Loader.class' -C ../../../../classes 'com/sun/star/lib/loader/Loader$Drain.class' -C ../../../../classes 'com/sun/star/lib/loader/Loader$CustomURLClassLoader.class' -C ../../../../classes 'com/sun/star/lib/loader/Loader$Drain.class' -C ../../../../classes 'com/sun/star/lib/loader/InstallationFinder.class' -C ../../../../classes 'com/sun/star/lib/loader/InstallationFinder$StreamGobbler.class' -C ../../../../classes 'com/sun/star/lib/loader/WinRegKey.class' -C ../../../../classes 'com/sun/star/lib/loader/WinRegKeyException.class' -C ../../../../classes 'win/unowinreg.dll'
com/sun/star/lib/loader/Loader.classを追加中です(入=7991)(出=3793)(52%収縮されました)
com/sun/star/lib/loader/Loader$Drain.classを追加中です(入=739)(出=444)(39%収縮されました)
com/sun/star/lib/loader/Loader$CustomURLClassLoader.classを追加中です(入=1363)(出=666)(51%収縮されました)
com/sun/star/lib/loader/InstallationFinder.classを追加中です(入=8900)(出=4859)(45%収縮されました)
com/sun/star/lib/loader/InstallationFinder$StreamGobbler.classを追加中です(入=960)(出=542)(43%収縮されました)
com/sun/star/lib/loader/WinRegKey.classを追加中です(入=4779)(出=2432)(49%収縮されました)
com/sun/star/lib/loader/WinRegKeyException.classを追加中です(入=475)(出=287)(39%収縮されました)
win/unowinreg.dllを追加中です(入=12288)(出=1712)(86%収縮されました)
--------------------------------------------------------------------------------
Please use the following command to execute the example!
-
make DesktopExample.run
------
If you want to run the file please set your
CLASSPATH = /opt/libreofficedev5.0/sdk/../program/classes/juh.jar:/opt/libreofficedev5.0/sdk/../program/classes/jurt.jar:/opt/libreofficedev5.0/sdk/../program/classes/ridl.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoloader.jar:/opt/libreofficedev5.0/sdk/../program/classes/unoil.jar::/home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv
Start the example with jar -jar
--------------------------------------------------------------------------------
このまま実行してみます。
pq@pq-VirtualBox:/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment$ make DesktopExample.run
"/usr/bin/java"  -Dcom.sun.star.lib.loader.unopath="/opt/libreofficedev5.0/sdk/../program" -jar /home/pq/libreoffice5.0_sdk/LINUXexample.out/class/OfficeDevDesktopEnv/DesktopExample.jar
Connected to a running office ...
invalid name!
Exception in thread "main" java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at com.sun.star.lib.loader.Loader.main(Loader.java:129)
Caused by: java.lang.UnsatisfiedLinkError: NativeView.getNativeWindow()J
 at NativeView.getNativeWindow(Native Method)
 at NativeView.getHWND(NativeView.java:158)
 at NativeView.setVisible(NativeView.java:85)
 at FunctionHelper.createViewFrame(FunctionHelper.java:361)
 at DocumentView.createFrame(DocumentView.java:215)
 at Desk.main(Desk.java:87)
 ... 5 more
Exception in thread "Thread-0" java.lang.NullPointerException
 at StatusView.shutdown(StatusView.java:249)
 at DocumentView.shutdown(DocumentView.java:331)
 at ViewContainer.run(ViewContainer.java:214)
Terminalにはなんかいろいろメッセージがでてきますが、とりあえず起動しました。


これが何の例なのかはまたそのうち、、、

2015.6.21追記。起動にはopenJDKのインストールとOracle版Javaのアンインストールが必要でした。

まずlinuxBean設定ウィザードでOracle版Javaのアンイストールします。
(なぜかPyChamまでアンインストールされてしまいました、、、なぜ?。NetBeans8が起動できなくなりました。PyCharmは再インストールして解決しました。)



Synapticパッケージマネージャでdefault-jdkを指定するとopenJDK7がインストールされました。

default-jdk-docもインストールしておくとNetBeansでAPIの解説がみれます。

これでこの例の起動ができました。

opneJDKをインストールしてもOracle版Javaをアンインストールしないと起動しませんでした。
Caused by: java.lang.UnsatisfiedLinkError: /home/pq/libreoffice5.0_sdk/LINUXexample.out/lib/libnativeview.so: libjawt.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
openJDKが認識されていないとlibjawt.soがないといわれます。

Oracle版Javaのlibjawt.soなどが入っていてもダメでした。)

参考にしたサイト


[ubuntu] Xlib.h: No such file or directory [Archive] - Ubuntu Forums
libx11-devをインストールするとXlib.hがインストールされました。

Ubuntu - 特定のファイルが含まれるパッケージを探す - Qiita
libxt-devをインストールするとIntrinsic.hがインストールされました。

Xlib.hとかXutil.hとかがないって言われたら... - ぱなしの女王 ~今日からはじめる覚え書き~
xorg-devのインストールでもXlib.hがインストールされるようです。

Ubuntu – Ubuntu パッケージ検索
「パッケージの内容を検索」でパッケージのなかのファイルを検索できます。

JavaからCの処理を呼ぶ方法(JNI/JNA/SWIG) - Qiita
今回の例ではJNIが使われていました。

次の関連記事:linuxBean14.04(34)失敗したLibreOfficeSDKの例を再make:その2

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ