virtualbox上でのubuntu,unix,linux対応ツールの選び方(solaris-amd64,ia64,x64)


==環境==
virtualbox上でUBUNTUを構築(ubuntu-ja-14.04-desktop-amd64.iso

ホスト側はwindows7 x64です。

$uname -a
Linux marU 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$lshw
*-cpu
製品: Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz

==質問==
適切な形容の仕方がわからず調べきれておりません。
ご存知の範囲で、参考になりそうな、検索ワードや、urlなどを教えて頂けると幸いです。

1.windowsで動くアプリケーションの対象(移植性)を制限するものとしてOSとプロセッサx86,x64より決まっていました。
Unix(Linuxやその他)では、アプリケーションの制限はプロセッサにより決まっている事が多いのは、OSに関してはUNIXやlinuxとしてある基準を設けているため大雑把にしか指定されないと思って宜しいでしょうか?

2.vm上(virtualbox)で、今回ツールを導入する際はどのようにしたらよろしいでしょうか?
solaris-amd64、linux-ia64、windows-ia64いずれにおいても合う気がしません。
ia64は入らず、solaris-amd64は導入中ですが普通のjdkとは異なるので少々時間がかかりそうです。
次の対応として、OS自体を対応されるものに入れ替えて試されますか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/11/25 11:57:41
id:ruzxa

質問者から

ruzxa2014/11/24 15:54:38

3.環境より質問なのですが、unameやisoファイルにおいてamd64(x86-64)と指定されております。これはvm上でうまくそのようなプロセッサの環境を作っているのでしょうか?

4.solaris-amd64というのはsolaris(UNIXOSの一種)かつamd64プロセッサにて動作すべきものという意味で宜しいでしょうか?

なお、solaris,AMD64(x86-64),ia64,などの概要や経緯については勉強しております。





==経緯==

js-symbolic-executorというツールを利用しております。(https://code.google.com/p/js-symbolic-executor/)

cvc3jniというファイルが生成されておらず、antは通ったものの実行時において問題があったのではないかと探しております。

>-source 1.4よりjdk4を入れてみることになりました。

     [exec] make[1]: ディレクトリ `/js-symbolic-executor/js-symbolic-executor-read-only/cvc3/java' に入ります
     [exec] if [ ! -d obj ]; then mkdir -p obj; fi
     [exec] /usr/local/java/jdk1.8.0_40/bin/javac  -Xlint -g -source 1.4 -sourcepath src \
     [exec] 	-d obj src/cvc3/JniUtils.java
     [exec] 警告: [options] ブートストラップ・クラスパスが-source 1.4と一緒に設定されていません
     [exec] 警告: [options] ソース値1.4は廃止されていて、今後のリリースで削除される予定です
     [exec] 警告: [options] ターゲット値1.4は廃止されていて、今後のリリースで削除される予定です
     [exec] 警告: [options] 廃止されたオプションについての警告を表示しないようにするには、-Xlint:オプションを使用します。
     [exec] 警告4個
     [exec] /usr/local/java/jdk1.8.0_40/bin/javac  -Xlint -g -source 1.4 -sourcepath src \
     [exec] 	-d obj src/cvc3/Cvc3Exception.java
     [exec] 警告: [options] ブートストラップ・クラスパスが-source 1.4と一緒に設定されていません
     [exec] 警告: [options] ソース値1.4は廃止されていて、今後のリリースで削除される予定です
     [exec] 警告: [options] ターゲット値1.4は廃止されていて、今後のリリースで削除される予定です
     [exec] 警告: [options] 廃止されたオプションについての警告を表示しないようにするには、-Xlint:オプションを使用します。
     [exec] /usr/local/java/jdk1.8.0_40/bin/javac  -Xlint -g -source 1.4 -sourcepath src \
     [exec] 	-d obj src/cvc3/TypecheckException.java

http://www.oracle.com/technetwork/java/javasebusiness/downloads/...

より今まではちらっとどこかでみた情報よりamd64のバージョンをいれておりましたが今回は


solaris-amd64、linux-ia64、windows-ia64

のみとなっており、何をいれるべきか疑問に思い質問させて頂きました。

ベストアンサー

id:mjy No.1

回答回数70ベストアンサー獲得回数22

Unix においても基本的に違う OS のバイナリは動きません。
ソースコードレベルでの移植性がある事は多いですね。
POSIX の範囲内で書かれていたり、メジャーなライブラリが差を吸収していたりするので。

もちろん、CPU アーキテクチャが違っても動きません。
ただ x64 は x86 と互換性があるので、x64 上で x86 のバイナリを動かす事はできます。
ライブラリも x86 の物を揃えておく必要がありますが。


古い Java を使おうとされている様ですね。(やめた方がいいと思いますが)
古すぎて x64 用の物が無いのかもしれません。
その場合 x86 用の物を使います。(j2sdk-1_4_2_19-linux-i586.bin とか)
ですが、それが依存しているライブラリも全部 x86 用を用意しなければなりません。(Ubuntu ならそんなに難しくは無いですが)


js-symbolic-executor というのは何に使う物なのでしょうか。
ドキュメントが無いので謎です。
どかに使用事例などあるのでしょうか。
興味があります。

ちなみに、openjdk-8-jdk で動いてますよ。

LD_LIBRARY_PATH=../cvc3/lib:../cvc3/java/lib/ java -jar lib/js-symbolic-executor.jar ./try.js f 100 1 2 3 4 
他3件のコメントを見る
id:ruzxa

度々ご回答ありがとうございます。
手順まで示して頂き本当に助かります。
お蔭様で一つ一つ手順を確認しつつもスムーズに進める事ができました。
また、いくつか参考になるコマンドがありましたので、今後の勉強にさせて頂きます。

こちらの手順よりJDK1.8.0.25を導入しました。
http://askubuntu.com/questions/464755/how-to-install-openjdk-8-on-14-04

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

To automatically set up the Java 8 environment variables
sudo apt-get install oracle-java8-set-default

Check it
java -version

ただ、JDK1.8.0_25や_20では動作しない様です。
1.8.0_40や1.9では動作するようでした。

ちなみに、こちらのサイトはOpenJDKに含めて宜しいでしょうか?
https://jdk8.java.net/download.html

>These early access release downloads of the JRE and JDK are based on code available on OpenJDK at the time they were built and might not include the latest security patches.

JDKおよびJREについては、その時に利用可能なOpenJDKに基づいている。ということで大丈夫かと思いますが。

2014/11/25 11:07:13
id:ruzxa

再度上記OpenJDK1.8.0_40にてチャレンジしてみたところ通りました。。。!

cvc3jniがないと怒られていたのですが、今回は無くても動きました。
まだ理由を理解しきれていませんが、後程調査していきたいと思います。

mjy様、わかりやすく教えて頂きありがとうございました!!!

2014/11/25 11:57:09

その他の回答0件)

id:ruzxa

質問者から

ruzxa2014/11/24 15:01:03

質問文を編集しました。詳細はこちら

id:mjy No.1

回答回数70ベストアンサー獲得回数22ここでベストアンサー

Unix においても基本的に違う OS のバイナリは動きません。
ソースコードレベルでの移植性がある事は多いですね。
POSIX の範囲内で書かれていたり、メジャーなライブラリが差を吸収していたりするので。

もちろん、CPU アーキテクチャが違っても動きません。
ただ x64 は x86 と互換性があるので、x64 上で x86 のバイナリを動かす事はできます。
ライブラリも x86 の物を揃えておく必要がありますが。


古い Java を使おうとされている様ですね。(やめた方がいいと思いますが)
古すぎて x64 用の物が無いのかもしれません。
その場合 x86 用の物を使います。(j2sdk-1_4_2_19-linux-i586.bin とか)
ですが、それが依存しているライブラリも全部 x86 用を用意しなければなりません。(Ubuntu ならそんなに難しくは無いですが)


js-symbolic-executor というのは何に使う物なのでしょうか。
ドキュメントが無いので謎です。
どかに使用事例などあるのでしょうか。
興味があります。

ちなみに、openjdk-8-jdk で動いてますよ。

LD_LIBRARY_PATH=../cvc3/lib:../cvc3/java/lib/ java -jar lib/js-symbolic-executor.jar ./try.js f 100 1 2 3 4 
他3件のコメントを見る
id:ruzxa

度々ご回答ありがとうございます。
手順まで示して頂き本当に助かります。
お蔭様で一つ一つ手順を確認しつつもスムーズに進める事ができました。
また、いくつか参考になるコマンドがありましたので、今後の勉強にさせて頂きます。

こちらの手順よりJDK1.8.0.25を導入しました。
http://askubuntu.com/questions/464755/how-to-install-openjdk-8-on-14-04

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

To automatically set up the Java 8 environment variables
sudo apt-get install oracle-java8-set-default

Check it
java -version

ただ、JDK1.8.0_25や_20では動作しない様です。
1.8.0_40や1.9では動作するようでした。

ちなみに、こちらのサイトはOpenJDKに含めて宜しいでしょうか?
https://jdk8.java.net/download.html

>These early access release downloads of the JRE and JDK are based on code available on OpenJDK at the time they were built and might not include the latest security patches.

JDKおよびJREについては、その時に利用可能なOpenJDKに基づいている。ということで大丈夫かと思いますが。

2014/11/25 11:07:13
id:ruzxa

再度上記OpenJDK1.8.0_40にてチャレンジしてみたところ通りました。。。!

cvc3jniがないと怒られていたのですが、今回は無くても動きました。
まだ理由を理解しきれていませんが、後程調査していきたいと思います。

mjy様、わかりやすく教えて頂きありがとうございました!!!

2014/11/25 11:57:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません