2017-08-22 3 views
1

私はUbuntu 16.04のTinyOsで作業しています。 私は点滅プログラムを実行すると、次のエラーが発生します。点滅プログラム実行中のエラー

[INFO] script 
     2538 bytes in ROM 
      56 bytes in RAM 
[INFO] size (toolchain): 
    text data  bss  dec  hex filename 
    2596  2  56 2654  a5e build/telosb/main.exe 
[INFO] generating symbol table 
[INFO] generating listing 
[INFO] creating ihex file 
[INFO] writing TOS image 
[INFO] writing TOS buildinfo 
[INFO] running the wiring check 
<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use  
-classpath instead. 
.Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit. 
../../support/make/Makerules:362: recipe for target 'wiring_check' failed 
make: *** [wiring_check] Error 1 

誰もがこのエラーが発生する理由についてどんな考えを持っていますか?

答えて

0

これは、TinyOSビルドツールチェーンが最新(バージョン9)のJavaで推奨されなくなったJava機能を使用しようとしているために発生します。あなたはこの古いバージョンに古いJavaのJREバージョンをインストールしてJAVA_HOMEを設定する必要があります。

  • 最初の端末でjava -versionを入力して、現在のJavaのバージョンを確認してください。バージョン9以降でない場合は、停止します。これはおそらく必要な解決策ではありません。 「Java SEの」(SEは、我々が必要とするものである「標準版」の略)の下でJava download page for older versions
  • から
  • ゴー、古いバージョンを選択します。 TinyOSは公式にバージョン1.4と5をサポートしていますが、私が使用しているバージョンであるため、バージョン7は問題なく動作します。バージョン8も正常に機能するかもしれません。
  • 「Java SE Runtime Environment」の下で、Linux x86(Ubuntu 32ビットを使用している場合)またはLinux x64(64ビット)を選択します。ターミナルにuname -iと入力すると、32ビットか64ビットかを知ることができます。 '.tar.gz'で終わるバージョンを選択します(.rpmは他の種類のLinux用です)。 Oracleアカウントを使用してログインするか、アカウントがない場合はサインアップする必要があります。
  • .tar.gzファイルをダウンロードします。このバージョンのJavaを保持するシステム上の場所を決めることができます。あなたはホームディレクトリのどこかに置いておいてもかまいませんが、通常はこの種のプログラムを '/ usr/local/java'に置いています。ファイルを保存したい場合は、sudo cpを使用する必要があります。例えば、sudo cp -r jre-8u73-linux-x64.tar.gz /usr/local/javaファイル名はです)
  • 圧縮された.tar.gzファイルからファイルを抽出する必要があります。たとえば、sudo tar xvzf /usr/local/java/jre-8u73-linux-x64.tar.gz
  • (オプション)を削除できます。
  • ダウンロードしたJavaを実行する権限があることを確認する必要があります。たとえば、使用することができます
  • 最後に、あなたが作成したjavaフォルダの場所を指すようにJAVA_HOME環境変数を設定する必要があります。 many ways to do thisがあります。 export JAVA_HOME=/usr/local/java/jre-8u73-linux-x64 export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
  • あなたはまた、sudo update-java-alternatives --set /path/to/java/version
  • を実行して、古いバージョンを使用してのUbuntuを伝えるために必要がある場合があります:私は次のようで(java-env.shのようなものをと呼ばれる)を/etc/profile.dディレクトリにファイルを作成示唆します新しい端末ウィンドウを開いて、java -versionが古いバージョンを提供していることを確認します。

あなたのメインマシンに古いバージョンのJavaを本当に残したくないので、より良いアプローチは、TinyOSのためだけに独立した開発用VM環境を作成することです。あなたはVagrantのようなものを使ってこれを行うことができます。これを行う方法は長すぎるため、their documentationをチェックしてください。

+0

これを行う方法を教えてください。 –

+0

私は答えをより詳細に更新しました。 –