今日Libre Officeを起動して使おうとしたところ
「Javaが必要だけど無いよ!」って言われてしまった。
んなこたぁない・・・はず(汗
だって少し前までは普通に使ってたんだもの。
で、設定から確認してみると確かにJavaの項目が消えている。
???
どゆこと?
Javaが消えてる!
Libre Office BASEにはJavaが必要
Libre Office Calcからデータベース(BASE)に書き込むマクロを書いたファイルを使っています。
それが今日起動しようとしたら何故か出来ませんでした。
冒頭にも書いた通り「Javaが必要だよ!」って言われちゃう。(´・_・`)
でもアンインストールした記憶はないし・・・はて?
ターミナルを開いて
% java -version
で確認。
うん、ないって。
Javaが見つからないって。(なんでやねん
思い当たるのは Homebrew のアップデート。
JavaもHomebrewから入れていたので、アップデートする段階でなにかあったかなと。
パッチツールを使って無理やりMojaveをインストールして使っているため、CPU命令で一部齟齬が出て処理がうまく出来ない時があるのでそのあたりの不具合かなと。(具体的にはffmpeg関連、x264とか)
そう言えば数週間前にアップデートした際にインストール済みのフォーミュラもアップデートされたような。
その中にjavaもあったのかな。(記憶は定かじゃないけど十分あり得る)
一応インストール済みのものを確認してみる。
brew list
うん、入ってる。入ってるやん。
openjdkってちゃんとある。じゃなんで?
シンボリックリンクは何故か消えていたけど。
まぁとりあえずJavaの再インストールなどしてみる。
% brew reinstall java
そしてリンクがないので作成。
でもダメだった。
ならバージョンを落とすか。
サーチをかけて Java11 があるのを確認(現時点ではVer16がhomebrewにある最新)
% brew search java ==> Formulae app-engine-java java javacc jslint4java pdftk-java google-java-format java11 javarepl libreadline-java
そちらをインストールすれどもバージョン確認するだけでやっぱりエラー発生。
(ログファイルの先頭一部)
# # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x000000010564eaa3, pid=12880, tid=7939 # # JRE version: (16.0.2) (build ) # Java VM: OpenJDK 64-Bit Server VM (16.0.2+0, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64) # Problematic frame: # V [libjvm.dylib+0x613aa3] MemoryPool::record_peak_memory_usage()+0x3d # # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # #
Fatal error…
む〜
ならばoracleから持ってくるかとインストーラdmgをDL&インストール。
バージョンは17
→ Java download
Libre Officeの 設定 > 詳細 からみてみると・・・
おっけー、無事に使えるようになりました。
OpenJDKを使う場合
・・・でもちょい待ち、なんか色々調べてて視界の端に”有償”の文字が踊った事がなかったか。(※その後また変わったらしい)
ね、まぁ、こゆ時は普通に openjdk でしょ。余計なしがらみ無さそうだし。
てことで一応Oracleの方はアンインストール。
そして見つけてきたOpenJDKをDL&インストール。
こちらも問題なく認識されました。
現在はこれで動いています。
Oracle JDKとOpenJDKの違い
Oracle JDKとOpenJDKの違いについて。
基本的には同じ、らしいです。
OpenJDK +アルファ なのがOracle JDKだとか。
インストーラが付いてたり商用利用が有償だったり。(※Oracle JDKも17からライセンスが再度変わって無償で利用できるそうです(参考サイト))
個人で、かつ開発に使うでもないならどちらでもいいのかなと。
自分は詳しくないので気になる方は本家サイトなどでご確認を。
まとめ
納品書を印刷するからちとびびった。
なぜ突然今日になって使えないの!って。
メッセージからJavaが認識されてないことはすぐにわかったものの、
実際確かめてみるとHomebrewで入れたものはちゃんと入ってるし、
でもなぜかシンボリックリンクは削除されてるし、
再インストールした後にリンクを作成してもバージョン確認だけでFatal error(致命的なエラー)吐くし・・・
正直何が悪いのかよくわかりません。
Homebrewにあるフォーミュラに問題があるのか、こちらのハードの問題なのか。
でもOracle JDKなり、OpenJDKなりをインストールすれば一応使えるようになるのでご報告しておきます。
それでは。
コメント