人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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自体を対応されるものに入れ替えて試されますか?

●質問者: ruzxa
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

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

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







==経緯==

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/java-archive-downloads-javase14-419411.html#j2sdk-1.4.2_30-sol-JPR
より今まではちらっとどこかでみた情報よりamd64のバージョンをいれておりましたが今回は


solaris-amd64、linux-ia64、windows-ia64

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


1 ● mjy
ベストアンサー

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 

ruzxaさんのコメント
ご回答ありがとうございます。 openjdk8とやらで動くのですね、今日は時間なので明日夕方頃に調べてubuntuにいれて試してみます。 もし差支えなければ簡単に環境について教えて頂けると幸いです。 >js-symbolic-executor というのは何に使う物なのでしょうか。 多少間違いを含む可能性もあるためconclic testingでググって頂けるとや日本語サイトも多く参考になるかと思います。 js-symbolic-executorはjavascriptのテスト自動生成に関する何かです。正直な所、英語が得意ではなくドキュメントを3度ほど目を通しましたが、具体的にどこまでできるのかといった事は把握できておらず実際に扱ってみて調査する次第です。 個人的な見解ですが、条件分岐の制約をSAT(充足可能性問題)により解き(symbolic testingいうらしい)、PATHを解析することにより単体テスト(ホワイトボックステスト)として入力を自動で洗い出すものになるかとおもいます。 更にその考えを進めたものとしてconclic testingというものもありまして、C言語対応で参考になるかわかりませんが面白いサイトを載せておきます。 path crawler http://pathcrawler-online.com/doSendExample こちらはsymbolic testingを一段階進めたものでして、もしSATで解けない問題があった場合に適当に数値をいれてPATHを調べるといったものです。更にテストプログラムを自動で生成・実行します。とても見やすく、テスト入力の値を限定したりなど色々とできました。 ご回答ありがとうございました!

mjyさんのコメント
なるほど、テストケースを適当に作ると条件分岐によって、どのケースでもテスト実行されないコードが生じうるという問題に対する、テストケース作成自動化によるアプローチということでしょうか。 難しいですね、頑張ってください。 JDK に関しては、たまたま手元の環境が jdk8 でしたが Ubuntu 標準の物でよい筈です。 以下の手順で動くかと思います。 >|sh| # 必要な物のインストール sudo apt-get install aptitude sudo aptitude update sudo aptitude safe-upgrade sudo aptitude install build-essential sudo aptitude install default-jdk sudo aptitude install ant sudo aptitude install flex bison byacc sudo aptitude install libgmp-dev sudo aptitude install subversion # js-symbolic-executor のダウンロード svn checkout http://js-symbolic-executor.googlecode.com/svn/trunk/ js-symbolic-executor-read-only cd js-symbolic-executor-read-only/js-symbolic-executor/ # 使用する Java の設定(毎回面倒なら ~/.profile 等に仕込んでおく) export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") # コンパイル ant ant test # テスト用 JavaScript の用意 echo 'function f(a,b,c,d){var n=0; if(a)n+=1; if(b)n+=1; if(c)n+=1; if(d)n+=1; return n;}' >try.js # 実行 LD_LIBRARY_PATH=../cvc3/lib:../cvc3/java/lib java -jar lib/js-symbolic-executor.jar ./try.js f 100 1 2 3 4 <

mjyさんのコメント
>|sh| # 必要な物のインストール sudo apt-get install aptitude sudo aptitude update sudo aptitude safe-upgrade sudo aptitude install build-essential sudo aptitude install default-jdk sudo aptitude install ant sudo aptitude install flex bison byacc sudo aptitude install libgmp-dev sudo aptitude install subversion # js-symbolic-executor のダウンロード svn checkout http://js-symbolic-executor.googlecode.com/svn/trunk/ js-symbolic-executor-read-only cd js-symbolic-executor-read-only/js-symbolic-executor/ # 使用する Java の設定(毎回面倒なら ~/.profile 等に仕込んでおく) export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") # コンパイル ant ant test # テスト用 JavaScript の用意 echo 'function f(a,b,c,d){var n=0; if(a)n+=1; if(b)n+=1; if(c)n+=1; if(d)n+=1; return n;}' >try.js # 実行 LD_LIBRARY_PATH=../cvc3/lib:../cvc3/java/lib java -jar lib/js-symbolic-executor.jar ./try.js f 100 1 2 3 4 ||<

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に基づいている。ということで大丈夫かと思いますが。

ruzxaさんのコメント
再度上記OpenJDK1.8.0_40にてチャレンジしてみたところ通りました。。。! cvc3jniがないと怒られていたのですが、今回は無くても動きました。 まだ理由を理解しきれていませんが、後程調査していきたいと思います。 mjy様、わかりやすく教えて頂きありがとうございました!!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ