前の関連記事: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
(あとで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が使われていました。
0 件のコメント:
コメントを投稿