LibreOffice(61)linuxBeanでJavaの例をmake

2015-02-01

旧ブログ

t f B! P L

前の関連記事:LibreOffice(60)列挙型enumのリンクの辞書を生成する


Windows7 64bitではLibreOffice(19)Javaの例をmakeするで失敗したデベロッパーズガイドのJavaの例がlinuxBeanではあっさり動きました。

LibreOffice SDKをインストールしてデベロッパーガイドの例のソースファイルを得る


ますインストールしてあるLibreOfficeと同じバージョンのLibreOffice SDKをインストールします。

今回はLibreOffice4.3.5のSDKをダウンロードしました。

インストールはlinuxBean(11)LibreOfficeのインストールと同様にしてダウンロードしたLibreOffice_4.3.5_Linux_x86_deb_sdk.tar.gzファイルをファイルマネージャで右クリック→ここでファイルを展開。

解凍されたフォルダにあるDEBSフォルダに入ってツール→現在のフォルダを端末で開く。

sudo dpkg -i *.deb

これでインストールができます。

インストールが完了すると/opt/libreoffice4.3/sdk フォルダができています。

/opt/libreoffice4.3/sdk/examples/DevelopersGuide にはApache OpenOffice Developer's Guideに書いてある例のソースファイルがChapter名のフォルダに分類されてMakefileとともに入っています。

setsdkenv_unixでsetsdkenv_unix.shを作成する


LibreOffice(16)LibreOffice 4.1 SDKをインストールでやったWindowsのときと違ってlinuxBeanではとても楽に作成できました。

追加でインストールが必要なアプリはzipだけでした。

(2015.2.8追記。C++コンパイラを必要とするMakefileもあるのでg++もインストールしておいたほうがよいです。LibreOffice(64)Professional UNO example参照。)

gzipではだめなようなのでlinuxBeanのメニュー→設定→Synapticパッケージマネージャ。

パッケージを検索ボタンでzipを検索します。


zipの先頭のチェックボックスをインストールを指定にして「適用」。

/usr/bin にインストールされました。

ファイルマネージャで/opt/libreoffice4.3/sdk を開いてツール→現在のフォルダを端末で開く。

sh setsdkenv_unix と入力してEnter。

あとはすべての質問にEnterを押してデフォルトを選択するだけで設定完了します。
pq@linuxBean:/opt/libreoffice4.3/sdk$ sh setsdkenv_unix

 ************************************************************************
 *
 *  You have to configure your SDK environment first before you can
 *  use it. The configuration has to be done only once.
 *
 ************************************************************************

 Enter the Office installation directory [/opt/libreoffice4.3/sdk/..]: 
 Enter GNU make (3.79.1 or higher) tools directory [/usr/bin]: 
 Enter zip (2.3 or higher) tool directory [/usr/bin]: 
 Enter cat tool directory [/bin]: 
 Enter sed tool directory [/bin]: 
 C++ compilers where for example a language binding exist:
  - Solaris, Sun WorkShop 6 update 1 C++ 5.2 2000/09/11 or higher
  - Linux, GNU C++ compiler, gcc version 4.0.1 or higher
  - MacOS, GNU C++ compiler, gcc version 4.0.1 or higher
 Enter the directory of the C++ compiler, the directory
 where the compiler is located (optional) [/usr/bin]: 
 Enter Java SDK (1.5, recommendation is 1.6 or higher) installation directory  (optional) [/usr]: 
 Default output directory is in your HOME directory.
 Enter an existent directory if you prefer a different output directory (optional) [/home/pq]: 
 Automatic deployment of UNO components (YES/NO) [YES]: 

 ************************************************************************
 * ... your SDK environment has been prepared.
 * For each time you want to use this configured SDK environment, you
 * have to run the "setsdkenv_unix" script file!
 * Alternatively can you source one of the scripts
 *   "/home/pq/libreoffice4.3_sdk/linuxBean/setsdkenv_unix.sh"
 * to get an environment without starting a new shell.
 ************************************************************************


 ************************************************************************
 *
 * SDK environment is prepared for Linux
 *
 * SDK = /opt/libreoffice4.3/sdk
 * Office = /opt/libreoffice4.3/sdk/..
 * URE = /opt/libreoffice4.3/ure-link
 * Make = /usr/bin
 * Zip = /usr/bin
 * cat = /bin
 * sed = /bin
 * C++ Compiler = /usr/bin
 * Java = /usr
 * SDK Output directory = /home/pq/libreoffice4.3_sdk
 * Auto deployment = YES
 *
 ************************************************************************
/home/pq(ユーザー名)/libreoffice4.3_sdk/linuxBean(コンピューター名)フォルダにsetsdkenv_unix.shファイルができました。

このファイルに設定事項が保存されているので消去してはいけません。

次からは/opt/libreoffice4.3/sdk/setsdkenv_unixを実行するとこの設定ファイルから読み込んでシェルを設定してくれます。

手間を省くためにランチャにsetsdkenv_unixを登録する


Terminalを起動するたびにこの環境設定は設定しないといけませんので、ランチャを作って簡単に設定できるようにします。

デスクトップにある「ランチャの追加と関連付け」をダブルクリックするかファイルマネージャで/home/ユーザー名/.local/share/applications を開きます。

linuxBean(6)Shutterで1クリックで画面キャプチャと同様にしてランチャを作成します。


xfce4-terminal -e "/opt/libreoffice4.3/sdk/setsdkenv_unix" --working-directory="/opt/libreoffice4.3/sdk/examples/DevelopersGuide"

コマンドはこんなに長くなっています。

本当はLibreOffice(19)Javaの例をmakeするでやったようにアイコンにMakefileをドロップしたらそのフォルダ名を引数にしてターミナルを開きたかったのですが、やり方がわかりませんでした。(2015.11.1追記。ランチャアイコンにドロップすればよいのでした。実例はlinuxBean14.04(87)ipynbファイルをnbconvertするシェルスクリプトへ。)

「ターミナルを実行する」というオプションをチェックすると単にTerminalが起動するだけでコマンドが実行されませんでした。

そのためxfce4-terminalのオプションでコマンドを指定しました。

「ディレクトリの編集」もここに%fとか%uを入れておくとドロップしたファイルのディレクトリでTerminalを立ちあがるのかな、と思ったのですが無理でした。

「ディレクトリに編集」にフォルダのパスを入れておくと/home/ユーザー名/.local/share/applications のアイコンをダブルクリックするとちゃんとそのパスでTerminalが立ち上がるのに、ランチャにいれるとホームフォルダからしか立ち上がりませんでした。

そのためワーキングディレクトリもxfce4-terminalのオプションで指定しました。
 ************************************************************************
 *
 * SDK environment is prepared for Linux
 *
 * SDK = /opt/libreoffice4.3/sdk
 * Office = /opt/libreoffice4.3/sdk/..
 * URE = /opt/libreoffice4.3/ure-link
 * Make = /usr/bin
 * Zip = /usr/bin
 * cat = /bin
 * sed = /bin
 * C++ Compiler = /usr/bin
 * Java = /usr
 * SDK Output directory = /home/pq/libreoffice4.3_sdk
 * Auto deployment = YES
 *
 ************************************************************************

pq@linuxBean:/opt/libreoffice4.3/sdk/examples/DevelopersGuide$ 
作成したsetsdkenvアイコンをダブルクリックするとmakeできる環境設定がされた状態でデベロッパーズガイドの例のフォルダでTerminalが起動します。

FirstStepsのJavaの例をmakeする


LibreOffice 4.3 SDK - Developer's Guide Examples

FirstStepsには三つの例が入っておりいずれも緑丸がついているのでmake後runターゲットで実行可能です。

setsdkenvアイコンで起動したTerminalからcd FirstSteps でFirstStepsの例のフォルダに入り、makeと打ち込みます。
--------------------------------------------------------------------------------
Please use one of the following commands to execute the examples!
-
make FirstUnoContact.run
make FirstLoadComponent.run
make HelloTextTableShape.run
--------------------------------------------------------------------------------
こうでてくればmake成功です。

/home/ユーザー名/libreoffice4.3_sdk/LINUXexample.out/class/FirstStepsExamples フォルダにjarファイルなどができているはずです。

makeしたJavaの例を実行する


setsdkenvアイコンをダブルクリックしてTerminalを起動してFirstStepsフォルダに移動してmake FirstUnoContact.runとしてみた結果です。
pq@linuxBean:/opt/libreoffice4.3/sdk/examples/DevelopersGuide$ cd FirstSteps
pq@linuxBean:/opt/libreoffice4.3/sdk/examples/DevelopersGuide/FirstSteps$ make FirstUnoContact.run
"/usr/bin/java"  -Dcom.sun.star.lib.loader.unopath="/opt/libreoffice4.3/sdk/../program" -jar /home/pq/libreoffice4.3_sdk/LINUXexample.out/class/FirstStepsExamples/FirstUnoContact.jar
Connected to a running office ...
remote ServiceManager is available
ちゃんと動いています。

コマンドを忘れたときはmakeと打てば再度メニューを表示してくれます。


make FirstLoadComponent.run ではCalcが起動してこのようになりました。


make HelloTextTableShape.run を実行するとWriterとCalcとDrawが起動して上記の内容が入力されました。

Windows7 64bitで挫折してからここにくるまでにまる1年も経ってしまいましたね。

さてまた、Developer's Guideを読むとしますか。

参考にしたサイト


Apache OpenOffice Developer's Guide - Apache OpenOffice Wiki
PDF版の表紙にはOpenOffice.org 3.1 Developer's Guideと書いてあります。

Windowsユーザーに教えるLinuxの常識(8):bashで始めるシェルスクリプト基礎の基礎 (1/2) - @IT
.shファイルなのにダブルクリックで起動しない理由がわかり、とても参考になりました。

LibreOffice 4.3 SDK - Developer's Guide Examples
/opt/libreoffice4.3/sdk/examples/DevelopersGuide/examples.htmlと同じものです。

次の関連記事:LibreOffice(62)Javaの例をNetBeansでブレークポイントを設定する

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ