OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
こめかみ

OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#1

投稿記事 by こめかみ » 12年前

お久しぶりです&はじめまして。
ちょっと久々に来たら掲示板のインターフェースが大きく変化していて混乱してます。
質問に変なところがあったらご指摘お願いします。

現在OpenGLによる3Dプログラムの開発の一環でVRML2.0の3Dデータを読み込ませるライブラリを探してインストールしようとしています。

使用している環境はCygwin上でgccでC言語を使っています。


必要があったので単純にVRML2.0の座標や色情報を読み込ませてOpenGLプログラム上に表示させる関数は自作したのですが、VRMLローダーはフリーで公開されているという指摘を受けて、それを探して比較する必要に迫られています。

数週間ほど調査と検索はしたものの、私の現在の読解力では理解できる情報が今のところ見つけられず、頼れる知人も身近におらず、C言語なんでも質問掲示板のみなさんの助けをお借りしたいと思い質問をさせていただきました。

現在までに調べた情報とそれに伴う試行錯誤を簡単に記述します。
足りない情報があったらご指摘ください。

1.
http://www.komoto.org/opengl/sample12.html
こちらのページのサンプルは動かせたが読み込ませられてのは添付してあったVRMLの1.0であり、こちらで用意したVRML2.0には対応していなかった。

2.
http://www.mikamama.com/daily/199805.html
VRML2GLというツールが過去に配布されてたらしい情報をつかんだが今検索してもリンク切ればかりで配布元もミラーも見つけられなかった。

3.
http://www.google.co.jp/search?gcx=w&so ... 24&bih=683
シンプルにVRMLloaderと検索してもJAVAのAPIの情報ばかりでてきて目的のものを見つけられなかった。

4.
ARToolKitのサンプルをVisualStudio上で動かすとVRMLデータを読み込ませて表示させるものがあるので、
調べてみると内部でおそらくOpenVRMLというモノが使われていた。
そのライブラリを単体で探してきてOpenGLと組み合わせれば狙いのVRML2.0の読み込みができるのではないかと考えダウンロードしたが
http://openvrml.org/

私にunix系のプログラム環境をインストールする知識が乏しく、何週間もひっかかって泥沼状態になっている。



質問を整理すると、まずVRML2.0をOpenGLプログラム上に確実に読み込ませられるフリーのライブラリを探しているということです。

その希望をOpenVRMLで満たせられるのなら本当にお手数ですが、インストールからサンプルを動かすまでの御指導をお願いできませんでしょうか、configureやらmakeやら調べながら手探りで動かしているものの自分がやっていることがあってるのかのかどうかも判断できず行き詰まっています。

よろしくお願いいたします。

必要な情報やサンプルプログラム等ありましたらご指摘ください。用意いたします。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#2

投稿記事 by beatle » 12年前

VRMLについては全く知識がありませんので、どんなライブラリがいいかは知らないのですが、
OpenVRMLのインストールはお手伝いできるかもしれません。

まず、OpenVRMLのインストールには最低限
Boost (at least 1.37) <http://boost.org>
libltdl (non-Windows only) <http://www.gnu.org/software/libtool/>
libxml (non-Windows only) <http://xmlsoft.org>
の3つのライブラリを先にインストールする必要があるようです。

そこは大丈夫でしょうか。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#3

投稿記事 by こめかみ » 12年前

リンク先をみましたが正直足がすくんでいます。

むずかしいですけど頑張ります。

>まず、OpenVRMLのインストールには最低限
>Boost (at least 1.37) <http://boost.org>
>libltdl (non-Windows only) <http://www.gnu.org/software/libtool/>
>libxml (non-Windows only) <http://xmlsoft.org>
>の3つのライブラリを先にインストールする必要があるようです。

それをどうやって判断したのか教えていただけませんでしょうか。
どこに書いてありますか?
http://openvrml.org/
こういう情報の探し方からわからないと今後に差し支えると思いますのでよろしければ…
お願いいたします。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#4

投稿記事 by beatle » 12年前

こめかみ さんが書きました:>まず、OpenVRMLのインストールには最低限
>Boost (at least 1.37) <http://boost.org>
>libltdl (non-Windows only) <http://www.gnu.org/software/libtool/>
>libxml (non-Windows only) <http://xmlsoft.org>
>の3つのライブラリを先にインストールする必要があるようです。

それをどうやって判断したのか教えていただけませんでしょうか。
どこに書いてありますか?
http://openvrml.org/
こういう情報の探し方からわからないと今後に差し支えると思いますのでよろしければ…
お願いいたします。
端的に言うと、ダウンロードしたOpenVRMLのtarボールの中にあったREADMEを読みました。
(tarボールというのはソースコードの圧縮ファイルのことです。*.tar.gzというやつ。)

まずhttp://openvrml.org/downloadからSourceForgeに行って、openvrml-0.18.8.tar.gzをダウンロードします。
そしてopenvrml-0.18.8.tar.gzを解凍すると、中にREADMEが入っています。
READMEの134行目から「Prerequisites」の説明があります。

Unix系のOS用のソフトウェアは、伝統的にconfigureやREADMEを含んだtarボールで配布されています。
そんなソフトウェアのインストール方法はREADMEに書いてあります。

ちなみに、上記3つのライブラリは、Ubuntuならaptで全てインストールできます。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#5

投稿記事 by こめかみ » 12年前

なるほど一応理解しました。

aptコマンドはたぶんcygwinには無いようなのでcyg-apt等検索したのですが自力では設定できませんでした。
apt無しで手動で設定できるでしょうか。それともUbuntuの開発環境を用意した方が効率が良いでしょうか…

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#6

投稿記事 by beatle » 12年前

こめかみ さんが書きました:なるほど一応理解しました。

aptコマンドはたぶんcygwinには無いようなのでcyg-apt等検索したのですが自力では設定できませんでした。
apt無しで手動で設定できるでしょうか。それともUbuntuの開発環境を用意した方が効率が良いでしょうか…
apt無しでも、各ライブラリのソースを持ってきて、コンパイル&インストールすれば大丈夫です。
aptを使うよりもちろん大変ですけれど、aptなどの便利なシステムが無いころは皆自分でコンパイルしていました。
(まあその頃私は産まれていませんので体験したわけではありませんが。)

で、boostだけはconfigure & make & make installでインストールできませんので
https://sites.google.com/site/boostjp/howtobuild
を参考にインストールしてください。

/usr以下にインストールすれば良いと思います。
/home/username以下にインストールしてもいいのですが、OpenVRMLのコンパイル時に
boostをインストールした場所を指定しないといけなくなって、面倒です。

まあ、おすすめはLinux環境で開発することですね。
cygwinだとmakeがとても遅いですし。
最後に編集したユーザー beatle on 2011年11月11日(金) 18:25 [ 編集 1 回目 ]

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#7

投稿記事 by こめかみ » 12年前

ご指導ありがとうございます。
まずはCygwinでやってみようと思います。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#8

投稿記事 by ISLe » 12年前

boostはsetup.exeからインストールできますよ。

configureスクリプトを覗いてみるとCygwinの文字列が見つかるので対応しているようです。

作業自体は簡単です。
Cygwinのbashシェル上で作業してください。
  1. openvrml-0.18.8.tar.gzを適当なディレクトリに展開します。
  2. configureというファイルのあるディレクトリに移動します。
  3. ./configure
    とコマンドを打って実行します。
  4. make
    とコマンドを打って実行します。
  5. makeが成功したら
    make install
    とコマンドを打って実行します。
以上です。

makeまでは展開したディレクトリ以外に書き込むことは無いので安心して試行錯誤してください。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#9

投稿記事 by beatle » 12年前

boostはcygwinのパッケージになっているんですね。知りませんでした。

http://cygwin.com/packages/
で探したところ、OpenVRMLのコンパイルに必要なlibxml2-devel, libltdl7, libjpeg-develもパッケージになっていますね。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#10

投稿記事 by こめかみ » 12年前

どうもありがとうございます。

たぶん一応最初の3件の
>Boost (at least 1.37) <http://boost.org>
>libltdl (non-Windows only) <http://www.gnu.org/software/libtool/>
>libxml (non-Windows only) <http://xmlsoft.org>
はインストールはできました。

cygwinへのOpenVRMLのインストールがうまくいったらcygwin以外の古めのunix環境にもopenVRMLをインストールすることになる可能性があるのであえてsetup.exeじゃない方法で地道にインストールできるようになっておこうと思います…


休日の自宅の開発環境での作業なので学校に行ったらまたインストールやり直しですが、いったんできたことなら学校でもすぐまたできると思うので今日もできるトコロまでやってみます。もしかしたら月曜にまたふりだしにもだったような質問するかもしれません…よろしくおねがいします。
beatle さんが書きました: で探したところ、OpenVRMLのコンパイルに必要なlibxml2-devel, libltdl7, libjpeg-develもパッケージになっていますね。

えーと、OpenVRMLのreadmeとあわせて読んでいるのですが、次にOptional dependenciesにかいてある

libpng <http://www.libpng.org/pub/png/libpng.html>
libjpeg <http://www.ijg.org>
FreeType <http://freetype.org>
Fontconfig <http://fontconfig.org>
XULRunner <https://developer.mozilla.org/En/XULRunner>
Java Development Kit <http://java.sun.com/j2se/>
OpenGL/Mesa <http://mesa3d.org>
GTK+ <http://gtk.org>
GtkGLExt <http://gtkglext.sourceforge.net>
libcurl <http://curl.haxx.se/libcurl/>
D-Bus <http://www.freedesktop.org/wiki/Software/dbus>
GNOME <http://gnome.org>
SDL <http://libsdl.org>
Doxygen <http://doxygen.org>

これらのインストールが必要だという理解であっているでしょうか。
それとも最低限必要という最初の3件さえインストールすればOpenVRMLはもうインストールできてしまうのでしょうか…?

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#11

投稿記事 by ISLe » 12年前

パッケージを導入する方が安全だと思いますけど。

とりあえずmakeまで進めて、途中エラーメッセージを見て、何が足りないかはっきりしたものからインストールしていったら良いんじゃないでしょうか。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#12

投稿記事 by beatle » 12年前

こめかみ さんが書きました:えーと、OpenVRMLのreadmeとあわせて読んでいるのですが、次にOptional dependenciesにかいてある

libpng <http://www.libpng.org/pub/png/libpng.html>
libjpeg <http://www.ijg.org>
FreeType <http://freetype.org>
Fontconfig <http://fontconfig.org>
XULRunner <https://developer.mozilla.org/En/XULRunner>
Java Development Kit <http://java.sun.com/j2se/>
OpenGL/Mesa <http://mesa3d.org>
GTK+ <http://gtk.org>
GtkGLExt <http://gtkglext.sourceforge.net>
libcurl <http://curl.haxx.se/libcurl/>
D-Bus <http://www.freedesktop.org/wiki/Software/dbus>
GNOME <http://gnome.org>
SDL <http://libsdl.org>
Doxygen <http://doxygen.org>

これらのインストールが必要だという理解であっているでしょうか。
それとも最低限必要という最初の3件さえインストールすればOpenVRMLはもうインストールできてしまうのでしょうか…?
それはconfigureのオプションに依ります。configureスクリプトは
$ ./configure --help
とやると沢山オプションの説明が出てきます。
例えば「--disable-jpeg-textures」オプションですが、「disable support for rendering JPEG textures」と説明がある通り、JPEGテクスチャのサポートを無効にするオプションです。このオプションを
$ ./configure --disable-jpeg-textures
のように指定しますと、JPEGテクスチャのサポート部分をコンパイルしない設定になります。こうすることで恐らくlibjpegのインストールが不要になります。

というように、豊富なオプションを全部disableにすれば、「Optional dependencies」を入れる必要がなくなる、というわけでございます。

まあ、全部のOptional dependenciesをインストールしてからconfigureするのも一つの手ですが、configureは足りないライブラリがあると(完全ではないですが)「~~のライブラリが見つからないよ」
と教えてくれます(configureの動作はそこでストップします)。このメッセージが出たら、その都度足りないライブラリを入れる、という方法もあります。
こうすると、必要最低限のOptional dependenciesを入れることができるようになります。

しかしconfigureの依存ライブラリチェックは人が書くものでして、時には記述漏れがあります。「完全ではない」というのはこのことです。
configureは成功するけどmakeでエラーになる(特に file not found 系のエラー)場合があるのです。
そんな時は、エラーをググるなどして原因を特定し解決します。file not foundエラーなら、そのファイルが含まれるライブラリを特定し、それも追加でインストールするという作業が必要になります。
私もOpenVRMLをconfigure & makeしてみましたが、libjpegは正にこのタイプでした。configureではlibjpegのチェックをしていないものと思われます。

最後に、(ご存知かもしれませんが)OpenVRMLが依存するライブラリをインストールする際は、devパッケージというものをインストールしてください。
devパッケージというのは、共有ライブラリ(.soファイル、cygwinでいう.dllファイル)と、そのライブラリを用いた開発ができるヘッダーファイルのセットになったパッケージです。
普通にconfigure & makeでインストールすればヘッダーファイルも一緒にインストールできると思いますが、UbuntuのAPTとかcygwinのsetup.exeとかでパッケージをインストールするときは
意識的にdevパッケージを選択しないとヘッダーファイルがインストールされません。
まあ、今回はconfigure & makeをすると仰っているので、蛇足情報でした。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#13

投稿記事 by こめかみ » 12年前

ありがとうございます。

どうにかご指導を参考にインストールしてみたいと思います。



>最後に、(ご存知かもしれませんが)OpenVRMLが依存するライブラリをインストールする際は、devパッケージというものをインストールしてください。
>devパッケージというのは、共有ライブラリ(.soファイル、cygwinでいう.dllファイル)と、そのライブラリを用いた開発ができるヘッダーファイルのセットになったパッケージです。
>普通にconfigure & makeでインストールすればヘッダーファイルも一緒にインストールできると思いますが、UbuntuのAPTとかcygwinのsetup.exeとかでパッケージをインストールするときは
>意識的にdevパッケージを選択しないとヘッダーファイルがインストールされません。
>まあ、今回はconfigure & makeをすると仰っているので、蛇足情報でした。

ご存知ありませんでした…
もしかして最初の三つもdevパッケージというのじゃないといけなかったのでしょうか…?
そういえばdevって名前のついたパッケージが選択するとき並んでいたような…見直してみます。

ISLe さんが書きました:パッケージを導入する方が安全だと思いますけど。

とりあえずmakeまで進めて、途中エラーメッセージを見て、何が足りないかはっきりしたものからインストールしていったら良いんじゃないでしょうか。
すみません、cygwinでインストールするだけが目的なら私も確実なほうを選びたいのですが、コレが成功したら別のunix環境へのインストールもしなくてはならないので、そのたびに質問しにくるのもご迷惑だと思い、なるべく普遍的な手段を理解しておきたいと思いました。
ご助言ありがとうございます。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#14

投稿記事 by こめかみ » 12年前

苦戦の末結局setup.exeを使っております…OpenVRMLが必要な機能を備えてるかどうか、まずはインストールを成功させて確認してみたいと考えなおして方針を変えました。発言が二転三転してすみません…

Optional dependenciesのうちsetup.exeでインストールできないのは

XULRunner <https://developer.mozilla.org/En/XULRunner>
Java Development Kit <http://java.sun.com/j2se/>
GtkGLExt <http://gtkglext.sourceforge.net>
SDL <http://libsdl.org>

この4つだと思うのですが、この前提が間違っていたら指摘をお願いします。

現在の状況ですが、
setup.exeでcygwinを一通り更新した後、
OpenVRMLの.configureを実行すると
メッセージの最後の方に(全部だと長いので重要そうにみえる下4行だけ記述します)


checking for sdl-config... no
configure: error: in `/usr/openvrml-0.18.8':
configure: error: SpiderMonkey is required for Script node JavaScript support
See `config.log' for more details


このような(おそらく)エラーメッセージが出ました。
JavaScript がなんとかとあるので
Java Development Kit <http://java.sun.com/j2se/>
のインストールが足りないと判断し試みたのですが、英語のドキュメントを読み解けずいったん断念し、
OpenVRMLの

./configure --help

ででてくるオプションをみて、

./configure --disable-script-node-javascript --disable-script-node-java

今度はこのようにjavaに関連してそうなものをインストールしないように設定しました。
次に出てきたエラーメッセージの一番下4行ですが

checking for sdl-config... no
configure: error: in `/usr/openvrml-0.18.8':
configure: error: GtkGLExt is required to build the XEmbed control
See `config.log' for more details

と、java関連のエラーが消え、今度は

GtkGLExt <http://gtkglext.sourceforge.net>

が足りないというエラーメッセージなのだと判断しました。

GtkGLExtをdisableしたいのですが、どれがGtkGLExtをdisableするオプションなのか私の読解力では判断できませんでした、
GtkGLExtはdisableできるのでしょうか。


ちなみにGtkGLExtもインストールしてみようとしてみたのですが、
./configure
の段階でエラーメッセージがでてきてしまい、詰まっています。

よろしくお願いします。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#15

投稿記事 by ISLe » 12年前

こめかみ さんが書きました:configure: error: SpiderMonkey is required for Script node JavaScript support
Google翻訳などの翻訳サービスを使ってみてはいかがですか。こんなふうに。

(VRMLに埋め込まれる)ScriptノードでJavaScriptをサポートするために、SpiderMonkeyが必要だというわけです。
ちなみにJavaとJavaScriptは別物です。
こめかみ さんが書きました:configure: error: GtkGLExt is required to build the XEmbed control
XEmbedコントロールをビルドするために、GtkGLExtが必要だというのですから、XEmbedコントロールをビルドしないように指定すれば良いです。
--disable-xembed     do not build the XEmbed control
XEmbedはX Window Systemのためのものらしいので必要ないでしょう。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#16

投稿記事 by こめかみ » 12年前

ありがとうございます。翻訳ももちろん活用してるのですがなかなか読み解けなくて…お世話になります…

このままできるところまでやってみます。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#17

投稿記事 by こめかみ » 12年前

一応…examples(サンプルプログラム?)も外してしまったのはサンプルプログラムを求めてる身としては支障がありそうで嫌だったのですが、まずはインストールしてみるためにオプションで外しました。


./configure --disable-script-node-javascript --disable-xembed --disable-playe r --disable-mozilla-plugin --disable-examples

meke

make install


このような手順ででインストールに必要な手順は踏めたかと思います。。。
エラーのようなメッセージもあるのですが、内容を見たところオプションをいくつも外した結果設定できない個所がエラーとして出ているのではないかと推測しました。

このあとどのようにすすめていけばOpenVRMLのサンプルを動かしていけるのか、もちろんreadmeなど自力で調べることも続けるのですが、手を差し伸べていただけると嬉しいです。

examplesはやはり必須なのかなどの情報だけでも、調査の方針を確定できるのでありがたいです。
よろしくお願いいたします。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#18

投稿記事 by beatle » 12年前

こめかみ さんが書きました:一応…examples(サンプルプログラム?)も外してしまったのはサンプルプログラムを求めてる身としては支障がありそうで嫌だったのですが、まずはインストールしてみるためにオプションで外しました。

このような手順ででインストールに必要な手順は踏めたかと思います。。。
エラーのようなメッセージもあるのですが、内容を見たところオプションをいくつも外した結果設定できない個所がエラーとして出ているのではないかと推測しました。
「エラーのようなメッセージ」が気になるところですが、
/usr/lib/libopenvrml*.so
/usr/include/openvrml/openvrml-common.h
などが生成されていれば、とりあえずのインストールはできていると思います。
こめかみ さんが書きました:このあとどのようにすすめていけばOpenVRMLのサンプルを動かしていけるのか、もちろんreadmeなど自力で調べることも続けるのですが、手を差し伸べていただけると嬉しいです。

examplesはやはり必須なのかなどの情報だけでも、調査の方針を確定できるのでありがたいです。
よろしくお願いいたします。
--disable-examplesオプションを指定しつつサンプルプログラムを動かしたいというわけですね。
exampleディレクトリのうち、sdl-viewerはSDLに依存しますが、pretty-printは恐らくSDLなしで動きます。
(Makefile.amを読めばSDLに依存しなさそうだと分かります。)
そこで、手動でpretty-printだけをコンパイルすればいいのではないかと思います。
お試し下さい。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#19

投稿記事 by こめかみ » 12年前

すみません遅くなりました。

>「エラーのようなメッセージ」が気になるところですが、
>/usr/lib/libopenvrml*.so
>/usr/include/openvrml/openvrml-common.h
>などが生成されていれば、とりあえずのインストールはできていると思います。

生成されていませんでした…

「エラーのようなメッセージ」等の読解を進めた後、どうしようもなかったら
インストールが足りないと推測している。

XULRunner <https://developer.mozilla.org/En/XULRunner>
Java Development Kit <http://java.sun.com/j2se/>
GtkGLExt <http://gtkglext.sourceforge.net>
SDL <http://libsdl.org>

これらのインストールをやっていきたいと思います。


一応「エラーのようなメッセージ」を含む、インストール時に出てきたメッセージをすべて記載しておきます。
何か有意義な手掛かりがあるようでしたらご指導よろしくお願いします。



/usr/openvrml-0.18.8
$ ./configure --disable-script-node-javascript --disable-xembed --disable-playe
r --disable-mozilla-plugin --disable-examples
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking how to run the C++ preprocessor... g++ -E
checking for gcj... gcj
checking dependency style of gcj... gcc3
checking dependency style of gcj... (cached) gcc3
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC...
checking if gcj static flag -static works... no
checking if gcj supports -c -o file.o... no
checking if gcj supports -c -o file.o... (cached) no
checking whether the gcj linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.18.0... yes
checking for gcj... gcj -C
checking for gcjh... gcjh -jni
checking for jar... jar
checking for doxygen... /usr/bin/doxygen
checking for Rez... no
checking if the compiler supports the gcc visibility attribute... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking jni.h usability... yes
checking jni.h presence... yes
checking for jni.h... yes
checking if JNI function signatures use const... no
checking for boost_thread-mt library... yes
checking for XML... yes
checking for PNG... yes
checking for FONTCONFIG... yes
checking for FREETYPE... yes
checking if FreeType callback function signatures use const... yes
checking for JS... no
checking for JS_Init in -ljs... no
checking jsapi.h usability... no
checking jsapi.h presence... no
checking for jsapi.h... no
checking whether JSVAL_TO_DOUBLE returns a pointer... no
checking whether JSPropertyOp uses jsid... yes
checking whether SpiderMonkey uses type-specific root functions... no
checking whether JSNative has the JSFastNative signature... no
checking whether SpiderMonkey has JSStrictPropertyOp... no
checking for DBUS_G... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking for GTKGL... no
checking for GNOMEUI... yes
checking for GIO... yes
checking for CURL... yes
checking for MOZILLA_PLUGIN... no
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... no
configure: WARNING: JAVA_HOME has not been set. JAVA_HOME must be set at run ti
me to locate libjvm.
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating models/Makefile
config.status: creating models/audio/Makefile
config.status: creating models/textures/Makefile
config.status: creating src/Makefile
config.status: creating src/libopenvrml/openvrml-config.h
config.status: creating src/libopenvrml-gl/openvrml-gl-config.h
config.status: creating src/script/Makefile
config.status: creating src/script/java/Makefile
config.status: creating src/script/java/vrml/Makefile
config.status: creating src/script/java/vrml/field/Makefile
config.status: creating src/script/java/vrml/node/Makefile
config.status: creating data/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating openvrml.pc
config.status: creating openvrml-gl.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing tests/atconfig commands




/usr/openvrml-0.18.8
$ make
make all-recursive
make[1]: Entering directory `/usr/openvrml-0.18.8'
Making all in doc
make[2]: Entering directory `/usr/openvrml-0.18.8/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/openvrml-0.18.8/doc'
Making all in models
make[2]: Entering directory `/usr/openvrml-0.18.8/models'
Making all in audio
make[3]: Entering directory `/usr/openvrml-0.18.8/models/audio'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/audio'
Making all in textures
make[3]: Entering directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Entering directory `/usr/openvrml-0.18.8/models'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models'
make[2]: Leaving directory `/usr/openvrml-0.18.8/models'
Making all in src
make[2]: Entering directory `/usr/openvrml-0.18.8/src'
make all-recursive
make[3]: Entering directory `/usr/openvrml-0.18.8/src'
Making all in script
make[4]: Entering directory `/usr/openvrml-0.18.8/src/script'
Making all in java
make[5]: Entering directory `/usr/openvrml-0.18.8/src/script/java'
Making all in vrml
make[6]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml'
Making all in field
make[7]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
CLASSPATH=../../../../../src/script/java:./../../../../../src/script/java:$CLASS
PATH gcj -C -d ../../../../../src/script/java SFBool.java SFColor.java SFDoub
le.java SFFloat.java SFImage.java SFInt32.java SFNode.java SFRotation.java SFStr
ing.java SFTime.java SFVec2d.java SFVec2f.java SFVec3d.java SFVec3f.java MFBool.
java MFColor.java MFDouble.java MFFloat.java MFInt32.java MFNode.java MFRotation
.java MFString.java MFTime.java MFVec2d.java MFVec2f.java MFVec3d.java MFVec3f.j
ava ConstSFBool.java ConstSFColor.java ConstSFDouble.java ConstSFFloat.java Cons
tSFImage.java ConstSFInt32.java ConstSFNode.java ConstSFRotation.java ConstSFStr
ing.java ConstSFTime.java ConstSFVec2d.java ConstSFVec2f.java ConstSFVec3d.java
ConstSFVec3f.java ConstMFBool.java ConstMFColor.java ConstMFDouble.java ConstMFF
loat.java ConstMFInt32.java ConstMFNode.java ConstMFRotation.java ConstMFString.
java ConstMFTime.java ConstMFVec2d.java ConstMFVec2f.java ConstMFVec3d.java Cons
tMFVec3f.java
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.inter
nal.compiler.batch.GCCMain
at gnu.java.lang.MainThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.b
atch.GCCMain not found in gnu.gcj.runtime.SystemClassLoader{urls=[], parent=gnu.
gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at gnu.java.lang.MainThread.run(Unknown Source)
make[7]: *** [classnoinst.stamp] Error 1
make[7]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/usr/openvrml-0.18.8/src/script/java'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/usr/openvrml-0.18.8/src/script'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/openvrml-0.18.8/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/openvrml-0.18.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/openvrml-0.18.8'
make: *** [all] Error 2




/usr/openvrml-0.18.8
$ make install
Making install in doc
make[1]: Entering directory `/usr/openvrml-0.18.8/doc'
make[2]: Entering directory `/usr/openvrml-0.18.8/doc'
make[2]: Nothing to be done for `install-exec-am'.
/bin/sh /usr/openvrml-0.18.8/install-sh -d /usr/local/share/doc/openvrml-0.18.8/
manual \
/usr/local/share/javadoc/openvrml-0.18.8/resources \
/usr/local/share/javadoc/openvrml-0.18.8/vrml/node \
/usr/local/share/javadoc/openvrml-0.18.8/vrml/field
/usr/bin/install -c -m 644 ./manual/*.css ./manual/*.html ./manual/*.js ./manual
/*.map ./manual/*.md5 ./manual/*__incl.png ./manual/*__inherit__graph*.png ./man
ual/bc_s.png ./manual/closed.png ./manual/doxygen.png ./manual/formula.repositor
y ./manual/form_*.png ./manual/graph_legend.png ./manual/inherit_graph_*.png ./m
anual/nav_f.png ./manual/nav_h.png ./manual/open.png ./manual/tab_a.png ./manual
/tab_b.png ./manual/tab_h.png ./manual/tab_s.png ./manual/OGL_sm_wht.png ./manua
l/x3d-white-on-black.png \
/usr/local/share/doc/openvrml-0.18.8/manual
/usr/bin/install -c -m 644 ./javadoc/*.html ./javadoc/package-list ./javadoc/sty
lesheet.css \
/usr/local/share/javadoc/openvrml-0.18.8
/usr/bin/install -c -m 644 ./javadoc/resources/inherit.gif \
/usr/local/share/javadoc/openvrml-0.18.8/resources
/usr/bin/install -c -m 644 ./javadoc/vrml/*.html \
/usr/local/share/javadoc/openvrml-0.18.8/vrml
/usr/bin/install -c -m 644 ./javadoc/vrml/field/*.html \
/usr/local/share/javadoc/openvrml-0.18.8/vrml/field
/usr/bin/install -c -m 644 ./javadoc/vrml/node/*.html \
/usr/local/share/javadoc/openvrml-0.18.8/vrml/node
make[2]: Leaving directory `/usr/openvrml-0.18.8/doc'
make[1]: Leaving directory `/usr/openvrml-0.18.8/doc'
Making install in models
make[1]: Entering directory `/usr/openvrml-0.18.8/models'
Making install in audio
make[2]: Entering directory `/usr/openvrml-0.18.8/models/audio'
make[3]: Entering directory `/usr/openvrml-0.18.8/models/audio'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/audio'
make[2]: Leaving directory `/usr/openvrml-0.18.8/models/audio'
Making install in textures
make[2]: Entering directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Entering directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/textures'
make[2]: Leaving directory `/usr/openvrml-0.18.8/models/textures'
make[2]: Entering directory `/usr/openvrml-0.18.8/models'
make[3]: Entering directory `/usr/openvrml-0.18.8/models'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models'
make[2]: Leaving directory `/usr/openvrml-0.18.8/models'
make[1]: Leaving directory `/usr/openvrml-0.18.8/models'
Making install in src
make[1]: Entering directory `/usr/openvrml-0.18.8/src'
make install-recursive
make[2]: Entering directory `/usr/openvrml-0.18.8/src'
Making install in script
make[3]: Entering directory `/usr/openvrml-0.18.8/src/script'
Making install in java
make[4]: Entering directory `/usr/openvrml-0.18.8/src/script/java'
Making install in vrml
make[5]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml'
Making install in field
make[6]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
CLASSPATH=../../../../../src/script/java:./../../../../../src/script/java:$CLASS
PATH gcj -C -d ../../../../../src/script/java SFBool.java SFColor.java SFDoub
le.java SFFloat.java SFImage.java SFInt32.java SFNode.java SFRotation.java SFStr
ing.java SFTime.java SFVec2d.java SFVec2f.java SFVec3d.java SFVec3f.java MFBool.
java MFColor.java MFDouble.java MFFloat.java MFInt32.java MFNode.java MFRotation
.java MFString.java MFTime.java MFVec2d.java MFVec2f.java MFVec3d.java MFVec3f.j
ava ConstSFBool.java ConstSFColor.java ConstSFDouble.java ConstSFFloat.java Cons
tSFImage.java ConstSFInt32.java ConstSFNode.java ConstSFRotation.java ConstSFStr
ing.java ConstSFTime.java ConstSFVec2d.java ConstSFVec2f.java ConstSFVec3d.java
ConstSFVec3f.java ConstMFBool.java ConstMFColor.java ConstMFDouble.java ConstMFF
loat.java ConstMFInt32.java ConstMFNode.java ConstMFRotation.java ConstMFString.
java ConstMFTime.java ConstMFVec2d.java ConstMFVec2f.java ConstMFVec3d.java Cons
tMFVec3f.java
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.inter
nal.compiler.batch.GCCMain
at gnu.java.lang.MainThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.b
atch.GCCMain not found in gnu.gcj.runtime.SystemClassLoader{urls=[], parent=gnu.
gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at gnu.java.lang.MainThread.run(Unknown Source)
make[6]: *** [classnoinst.stamp] Error 1
make[6]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
make[5]: *** [install-recursive] Error 1
make[5]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/usr/openvrml-0.18.8/src/script/java'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/usr/openvrml-0.18.8/src/script'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/usr/openvrml-0.18.8/src'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/usr/openvrml-0.18.8/src'
make: *** [install-recursive] Error 1

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#20

投稿記事 by beatle » 12年前

完全にエラーですね。makeが完了してませんので、make installも実行できていません。
configure: WARNING: JAVA_HOME has not been set. JAVA_HOME must be set at run ti
me to locate libjvm.
これがポイントだと思います。今は時間がなくて調べられませんが、このワーニングを解決できたら前進すると思います。

アバター
bitter_fox
記事: 607
登録日時: 13年前
住所: 大阪府

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#21

投稿記事 by bitter_fox » 12年前

beatle さんが書きました:完全にエラーですね。makeが完了してませんので、make installも実行できていません。
configure: WARNING: JAVA_HOME has not been set. JAVA_HOME must be set at run ti
me to locate libjvm.
これがポイントだと思います。今は時間がなくて調べられませんが、このワーニングを解決できたら前進すると思います。
環境変数JAVA_HOMEが設定されていないという警告ですね。
JAVA_HOMEはほかのアプリケーションがJDK(Java Development Kit)を使用する場合などに参照されます。

取りあえずJDKをインストールして、JAVA_HOMEにJDKをインストールしたディレクトリを設定しましょう。

http://www.javadrive.jp/install/jdk/index5.html
http://www.oracle.com/technetwork/jp/ja ... index.html

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#22

投稿記事 by こめかみ » 12年前

本当にありがとうございます。
なんとしてもインストールしてみます。。。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#23

投稿記事 by こめかみ » 12年前

何度もすみません。

現在

jdk-7u1-linux-i586.tar.gz

をインストールし、再びOpenVRMLにおいて

./configure --disable-script-node-javascript --disable-xembed --disable-player --disable-mozilla-plugin --disable-examples

を入力しました。
後に出てくる警告メッセージが少し変化したものの、
WARNINGがでるのは変わらず原因を特定できていません。

configure: WARNING: no libjvm found at JAVA_HOME

このような警告メッセージが出ます。

cygwinのコマンドライン上でjavacと入力すると、文字化けはあるもののオプションに関するエラーメッセージが出てくるのでJDKのインストール自体はできているのではないかと思います。
何が足りないのでしょうか。
JDKの環境変数は

変数名:JAVA_HOME
変数値:C:\cygwin\usr\jdk1.7.0_01

で設定しました。

またlibjvmをjdk1.7.0_01ディレクトリ内で検索したところ
C:\cygwin\usr\jdk1.7.0_01\jre\lib\i386\client
C:\cygwin\usr\jdk1.7.0_01\jre\lib\i386\server
の二か所にlibjvm.soというファイルがありましたので
JAVA_HOMEで設定したディレクトリ内にlibjvmがみつからないという警告も対処法がわかりません。

こういう場合どのように解決していけばいいのでしょうか。
いまはひたすらlibjvmをキーワードに検索をかけたりしています。。。

よろしくおねがいします。


参考に現在出てくるメッセージの全体を記載します。

/usr/openvrml-0.18.8
$ ./configure --disable-script-node-javascript --disable-xembed --disable-playe
r --disable-mozilla-plugin --disable-examples
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking how to run the C++ preprocessor... g++ -E
checking for gcj... gcj
checking dependency style of gcj... gcc3
checking dependency style of gcj... (cached) gcc3
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC...
checking if gcj static flag -static works... no
checking if gcj supports -c -o file.o... no
checking if gcj supports -c -o file.o... (cached) no
checking whether the gcj linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.18.0... yes
checking for gcj... gcj -C
checking for gcjh... gcjh -jni
checking for jar... jar
checking for doxygen... /usr/bin/doxygen
checking for Rez... no
checking if the compiler supports the gcc visibility attribute... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking jni.h usability... yes
checking jni.h presence... yes
checking for jni.h... yes
checking if JNI function signatures use const... no
checking for boost_thread-mt library... yes
checking for XML... yes
checking for PNG... yes
checking for FONTCONFIG... yes
checking for FREETYPE... yes
checking if FreeType callback function signatures use const... yes
checking for JS... no
checking for JS_Init in -ljs... no
checking jsapi.h usability... no
checking jsapi.h presence... no
checking for jsapi.h... no
checking whether JSVAL_TO_DOUBLE returns a pointer... no
checking whether JSPropertyOp uses jsid... yes
checking whether SpiderMonkey uses type-specific root functions... no
checking whether JSNative has the JSFastNative signature... no
checking whether SpiderMonkey has JSStrictPropertyOp... no
checking for DBUS_G... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking for GTKGL... no
checking for GNOMEUI... yes
checking for GIO... yes
checking for CURL... yes
checking for MOZILLA_PLUGIN... no
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... no
checking for JNI_CreateJavaVM in -ljvm... no
configure: WARNING: no libjvm found at JAVA_HOME
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating models/Makefile
config.status: creating models/audio/Makefile
config.status: creating models/textures/Makefile
config.status: creating src/Makefile
config.status: creating src/libopenvrml/openvrml-config.h
config.status: creating src/libopenvrml-gl/openvrml-gl-config.h
config.status: creating src/script/Makefile
config.status: creating src/script/java/Makefile
config.status: creating src/script/java/vrml/Makefile
config.status: creating src/script/java/vrml/field/Makefile
config.status: creating src/script/java/vrml/node/Makefile
config.status: creating data/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating openvrml.pc
config.status: creating openvrml-gl.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing tests/atconfig commands

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#24

投稿記事 by beatle » 12年前

cygwinなので、java_homeは
/cygdrive/hoge
のようにする必要があるかもです。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#25

投稿記事 by ISLe » 12年前

いくらCygwinでもLinuxバイナリのJDKは動かないと思いますけど。

makeのエラーは、gcj(gcc-java)のコンパイル時に、eclipseのパッケージが読み込まれて不具合が発生しているようです。
例外メッセージにorg.eclipse.jdt.~の文字列があります。

ウィンドウズ用jdkはeclipseといっしょにインストールしてあったのではないでしょうか。
ウィンドウズ側でCLASSPATHとか余計な環境変数が設定されていて混線しているようです。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#26

投稿記事 by こめかみ » 12年前

ISLe さんが書きました:いくらCygwinでもLinuxバイナリのJDKは動かないと思いますけど。

makeのエラーは、gcj(gcc-java)のコンパイル時に、eclipseのパッケージが読み込まれて不具合が発生しているようです。
例外メッセージにorg.eclipse.jdt.~の文字列があります。

ウィンドウズ用jdkはeclipseといっしょにインストールしてあったのではないでしょうか。
ウィンドウズ側でCLASSPATHとか余計な環境変数が設定されていて混線しているようです。
Cygwinはunixのように使えるという程度の理解でした。unix用のプログラムは動かすのは無理があるんですね…

おっしゃる通りCLASSPATHなどconfigureを混乱させそうな環境変数が複数ありましたので削除しました。
windows用のjava環境は最新のものをインストールしなおし、LinuxバイナリのJDKは削除しました。

現在

ユーザー環境変数
変数名:Path
変数値:/cygdrive/c/Program Files/Java/jdk1.7.0_01/bin

システム環境変数
変数名:JAVA_HOME
変数値:/cygdrive/c/Program Files/java/jdk1.7.0_01


と設定し、下のように./configureしたのですが、
変わらず
configure: WARNING: no libjvm found at JAVA_HOME
のメッセージは出てきます。

C:\Program Files\Javaの中を検索したところ今度は
libjvmというファイルが見つからなかったので存在していないようです。
自力でも解決するため調べてるのですが、またお世話になります…


一応、現在でてくるのメッセージを記載します。


/usr/openvrml-0.18.8
$ ./configure --disable-script-node-javascript --disable-xembed --disable-playe
r --disable-mozilla-plugin --disable-examples
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking how to run the C++ preprocessor... g++ -E
checking for gcj... gcj
checking dependency style of gcj... gcc3
checking dependency style of gcj... (cached) gcc3
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC...
checking if gcj static flag -static works... no
checking if gcj supports -c -o file.o... no
checking if gcj supports -c -o file.o... (cached) no
checking whether the gcj linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.18.0... yes
checking for gcj... gcj -C
checking for gcjh... gcjh -jni
checking for jar... jar
checking for doxygen... /usr/bin/doxygen
checking for Rez... no
checking if the compiler supports the gcc visibility attribute... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking jni.h usability... yes
checking jni.h presence... yes
checking for jni.h... yes
checking if JNI function signatures use const... no
checking for boost_thread-mt library... yes
checking for XML... yes
checking for PNG... yes
checking for FONTCONFIG... yes
checking for FREETYPE... yes
checking if FreeType callback function signatures use const... yes
checking for JS... no
checking for JS_Init in -ljs... no
checking jsapi.h usability... no
checking jsapi.h presence... no
checking for jsapi.h... no
checking whether JSVAL_TO_DOUBLE returns a pointer... no
checking whether JSPropertyOp uses jsid... yes
checking whether SpiderMonkey uses type-specific root functions... no
checking whether JSNative has the JSFastNative signature... no
checking whether SpiderMonkey has JSStrictPropertyOp... no
checking for DBUS_G... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking for GTKGL... no
checking for GNOMEUI... yes
checking for GIO... yes
checking for CURL... yes
checking for MOZILLA_PLUGIN... no
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... no
checking for JNI_CreateJavaVM in -ljvm... no
configure: WARNING: no libjvm found at JAVA_HOME
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating models/Makefile
config.status: creating models/audio/Makefile
config.status: creating models/textures/Makefile
config.status: creating src/Makefile
config.status: creating src/libopenvrml/openvrml-config.h
config.status: creating src/libopenvrml-gl/openvrml-gl-config.h
config.status: creating src/script/Makefile
config.status: creating src/script/java/Makefile
config.status: creating src/script/java/vrml/Makefile
config.status: creating src/script/java/vrml/field/Makefile
config.status: creating src/script/java/vrml/node/Makefile
config.status: creating data/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating openvrml.pc
config.status: creating openvrml-gl.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing tests/atconfig commands

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#27

投稿記事 by beatle » 12年前

環境変数に空白文字が入っているのはまずいかもしれません。
C:\JDKなどにインストールしなおせないでしょうか。

それから、長いメッセージはspoilタグで囲むといいです。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#28

投稿記事 by こめかみ » 12年前

beatle さんが書きました:環境変数に空白文字が入っているのはまずいかもしれません。
C:\JDKなどにインストールしなおせないでしょうか。

それから、長いメッセージはspoilタグで囲むといいです。

C直下にJavaというフォルダを作ってインストールし直してみましたが解決しませんでした…

現在の状況です

ユーザー環境変数
変数名:Path
変数値:/cygdrive/c/Java/jdk1.7.0_01/bin

システム環境変数
変数名:JAVA_HOME
変数値:/cygdrive/c/Java/jdk1.7.0_01


spoilタグというのをやってみようとしたら

BBCode を使用するにはパーミッションが必要です

とのメッセージがでてきました。どうすれば許可されるのでしょうか…



/usr/openvrml-0.18.8
$ ./configure --disable-script-node-javascript --disable-xembed --disable-playe
r --disable-mozilla-plugin --disable-examples
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking how to run the C++ preprocessor... g++ -E
checking for gcj... gcj
checking dependency style of gcj... gcc3
checking dependency style of gcj... (cached) gcc3
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC...
checking if gcj static flag -static works... no
checking if gcj supports -c -o file.o... no
checking if gcj supports -c -o file.o... (cached) no
checking whether the gcj linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.18.0... yes
checking for gcj... gcj -C
checking for gcjh... gcjh -jni
checking for jar... jar
checking for doxygen... /usr/bin/doxygen
checking for Rez... no
checking if the compiler supports the gcc visibility attribute... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking jni.h usability... yes
checking jni.h presence... yes
checking for jni.h... yes
checking if JNI function signatures use const... no
checking for boost_thread-mt library... yes
checking for XML... yes
checking for PNG... yes
checking for FONTCONFIG... yes
checking for FREETYPE... yes
checking if FreeType callback function signatures use const... yes
checking for JS... no
checking for JS_Init in -ljs... no
checking jsapi.h usability... no
checking jsapi.h presence... no
checking for jsapi.h... no
checking whether JSVAL_TO_DOUBLE returns a pointer... no
checking whether JSPropertyOp uses jsid... yes
checking whether SpiderMonkey uses type-specific root functions... no
checking whether JSNative has the JSFastNative signature... no
checking whether SpiderMonkey has JSStrictPropertyOp... no
checking for DBUS_G... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking for GTKGL... no
checking for GNOMEUI... yes
checking for GIO... yes
checking for CURL... yes
checking for MOZILLA_PLUGIN... no
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... no
checking for JNI_CreateJavaVM in -ljvm... no
configure: WARNING: no libjvm found at JAVA_HOME
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating models/Makefile
config.status: creating models/audio/Makefile
config.status: creating models/textures/Makefile
config.status: creating src/Makefile
config.status: creating src/libopenvrml/openvrml-config.h
config.status: creating src/libopenvrml-gl/openvrml-gl-config.h
config.status: creating src/script/Makefile
config.status: creating src/script/java/Makefile
config.status: creating src/script/java/vrml/Makefile
config.status: creating src/script/java/vrml/field/Makefile
config.status: creating src/script/java/vrml/node/Makefile
config.status: creating data/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating openvrml.pc
config.status: creating openvrml-gl.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing tests/atconfig commands

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#29

投稿記事 by beatle » 12年前

cygwinではlibxxx.soはxxx.dllみたいな名前になったような気がします。
jvm.dllも存在しませんか?

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#30

投稿記事 by こめかみ » 12年前

jvm.dllありました!

C:\Java\jdk1.7.0_01\jre\bin\client

C:\Java\jdk1.7.0_01\jre\bin\server

加えて言うなら
C:\Java\jre7\bin\client
のなかにも。

ということは。?えと
なにか設定ファイルをを書き換えて指定しなおす必要があるということでしょうか。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#31

投稿記事 by beatle » 12年前

ほほう・・・。それはちょっと困りましたね。configureスクリプトの基となるconfigure.acに

コード:

LDFLAGS="-L$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/client -L$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/server $LDFLAGS"
と書いてあるんです。お察しの通り、$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/clientとか$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/serverには
jvm.dllが有りませんので、libjvmが見つからないというエラーになっています。

本当はconfigure.acを書き換えてautoreconfしたりするのですが、そうする前にダメ元で
$JAVA_HOME/lib/i386/clientと$JAVA_HOME/lib/$i386/serverにjvm.dllをコピーしてみてください。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#32

投稿記事 by こめかみ » 12年前

beatle さんが書きました: 本当はconfigure.acを書き換えてautoreconfしたりするのですが、そうする前にダメ元で
$JAVA_HOME/lib/i386/clientと$JAVA_HOME/lib/$i386/serverにjvm.dllをコピーしてみてください。
$記号は省略ということでしょうか…
C:\Java\jdk1.7.0_01\jre\lib\i386

client と serverフォルダを作ってそれぞれのjvm.dllコピーしてconfigureしてみました。

実行結果には依然
configure: WARNING: no libjvm found at JAVA_HOME
とでてきます…




/usr/openvrml-0.18.8
$ ./configure --disable-script-node-javascript --disable-xembed --disable-playe
r --disable-mozilla-plugin --disable-examples
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking how to run the C++ preprocessor... g++ -E
checking for gcj... gcj
checking dependency style of gcj... gcc3
checking dependency style of gcj... (cached) gcc3
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC...
checking if gcj static flag -static works... no
checking if gcj supports -c -o file.o... no
checking if gcj supports -c -o file.o... (cached) no
checking whether the gcj linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared
libraries... yes
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.18.0... yes
checking for gcj... gcj -C
checking for gcjh... gcjh -jni
checking for jar... jar
checking for doxygen... /usr/bin/doxygen
checking for Rez... no
checking if the compiler supports the gcc visibility attribute... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking jni.h usability... yes
checking jni.h presence... yes
checking for jni.h... yes
checking if JNI function signatures use const... no
checking for boost_thread-mt library... yes
checking for XML... yes
checking for PNG... yes
checking for FONTCONFIG... yes
checking for FREETYPE... yes
checking if FreeType callback function signatures use const... yes
checking for JS... no
checking for JS_Init in -ljs... no
checking jsapi.h usability... no
checking jsapi.h presence... no
checking for jsapi.h... no
checking whether JSVAL_TO_DOUBLE returns a pointer... no
checking whether JSPropertyOp uses jsid... yes
checking whether SpiderMonkey uses type-specific root functions... no
checking whether JSNative has the JSFastNative signature... no
checking whether SpiderMonkey has JSStrictPropertyOp... no
checking for DBUS_G... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking for GTKGL... no
checking for GNOMEUI... yes
checking for GIO... yes
checking for CURL... yes
checking for MOZILLA_PLUGIN... no
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... no
checking for JNI_CreateJavaVM in -ljvm... no
configure: WARNING: no libjvm found at JAVA_HOME
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating models/Makefile
config.status: creating models/audio/Makefile
config.status: creating models/textures/Makefile
config.status: creating src/Makefile
config.status: creating src/libopenvrml/openvrml-config.h
config.status: creating src/libopenvrml-gl/openvrml-gl-config.h
config.status: creating src/script/Makefile
config.status: creating src/script/java/Makefile
config.status: creating src/script/java/vrml/Makefile
config.status: creating src/script/java/vrml/field/Makefile
config.status: creating src/script/java/vrml/node/Makefile
config.status: creating data/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating openvrml.pc
config.status: creating openvrml-gl.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing tests/atconfig commands

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#33

投稿記事 by beatle » 12年前

$記号は変数を表す記号ですから、普通の文字列で置き換えるときは$は要りません。
jvm.dllじゃなくてjvm.libだったかもしれません。
僕も今cygwinにインストールしてます。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#34

投稿記事 by こめかみ » 12年前

あ、ファイルそのものではなく文字列をコピーということでしたか…

すみませんすみません。お手数おかけしますやってみます。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#35

投稿記事 by beatle » 12年前

いやいや。jvm.libというファイルをclientとserverディレクトリにコピーするということです。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#36

投稿記事 by こめかみ » 12年前

beatle さんが書きました: 僕も今cygwinにインストールしてます。
ありがとうございます…

すみません混乱しています…もうちょっと冷静に読み返してみます…

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#37

投稿記事 by beatle » 12年前

混乱を招きやすいところだとは思います。
僕の説明を補足するとこういうことです。

JAVA_HOMEが/cygdrive/c/Java/jdk1.7.0_01の場合、
$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/clientは
/cygdrive/c/Java/jdk1.7.0_01/lib/i386/client
に相当します。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#38

投稿記事 by beatle » 12年前

とりあえず警告が消えたのでご報告いたします。
$JAVA_HOME/lib/jvm.lib を $JAVA_HOME/lib/i386/client/libjvm.a にコピー
$JAVA_HOME/jre/bin/client/jvm.dll を $JAVA_HOME/lib/i386/client/libjvm.dll.a にコピー
の2つをしたところ、警告が消えました。まだmakeはしてませんが、お試しあれ。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#39

投稿記事 by こめかみ » 12年前

beatle さんが書きました:混乱を招きやすいところだとは思います。
僕の説明を補足するとこういうことです。

JAVA_HOMEが/cygdrive/c/Java/jdk1.7.0_01の場合、
$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/clientは
/cygdrive/c/Java/jdk1.7.0_01/lib/i386/client
に相当します。
理解できたと思います。
beatle さんが書きました: $JAVA_HOME/lib/i386/clientと$JAVA_HOME/lib/$i386/serverにjvm.dllをコピーしてみてください。
「$i386」というのは記述ミスでしょうか
あげあしをとる意図は無くて本当に自信が無くての質問です…

beatle さんが書きました:とりあえず警告が消えたのでご報告いたします。
$JAVA_HOME/lib/jvm.lib を $JAVA_HOME/lib/i386/client/libjvm.a にコピー
$JAVA_HOME/jre/bin/client/jvm.dll を $JAVA_HOME/lib/i386/client/libjvm.dll.a にコピー
の2つをしたところ、警告が消えました。まだmakeはしてませんが、お試しあれ。
ありがとうございます。やってみます。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#40

投稿記事 by beatle » 12年前

こめかみ さんが書きました:「$i386」というのは記述ミスでしょうか
あげあしをとる意図は無くて本当に自信が無くての質問です…
はい。ミスです。さっき気づいたのですが、直したら混乱するかなと思って放置しました。

で、少し残念なお知らせです。cygwinのパッケージにある最新版のgcjだと、gcjのバグのせいで
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.batch.GCCMain
などというエラーがでてmakeできません。(もしかしたらこめかみさんの環境だと成功するかもしれませんので、一回は試してみてください)
参考http://old.nabble.com/gcj-fails-to-comp ... 06077.html

gccの最新版のソースコードを持ってきてconfigure & makeしてインストールする必要がありそうです。
道のりは長いです。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#41

投稿記事 by こめかみ » 12年前

beatle さんが書きました: 道のりは長いです。
了解です。無料で時間割いておしえてもらってるので泣き言は言いませんw
gcjが何かとか調べるのは明日に後回しするとしまして…

こちらの環境でもWARNINGは無くなりましたのでmakeしてみたところ同じエラー文がでてきました。
学校に居ていい時間過ぎてしまっているので続きは明日に…

またよろしくおねがいします。

一応エラーメッセージ貼って終わります。


idoken@idolab-mouse01 /usr/openvrml-0.18.8
$ make
make all-recursive
make[1]: Entering directory `/usr/openvrml-0.18.8'
Making all in doc
make[2]: Entering directory `/usr/openvrml-0.18.8/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/openvrml-0.18.8/doc'
Making all in models
make[2]: Entering directory `/usr/openvrml-0.18.8/models'
Making all in audio
make[3]: Entering directory `/usr/openvrml-0.18.8/models/audio'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/audio'
Making all in textures
make[3]: Entering directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models/textures'
make[3]: Entering directory `/usr/openvrml-0.18.8/models'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/openvrml-0.18.8/models'
make[2]: Leaving directory `/usr/openvrml-0.18.8/models'
Making all in src
make[2]: Entering directory `/usr/openvrml-0.18.8/src'
make all-recursive
make[3]: Entering directory `/usr/openvrml-0.18.8/src'
Making all in script
make[4]: Entering directory `/usr/openvrml-0.18.8/src/script'
Making all in java
make[5]: Entering directory `/usr/openvrml-0.18.8/src/script/java'
Making all in vrml
make[6]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml'
Making all in field
make[7]: Entering directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
CLASSPATH=../../../../../src/script/java:./../../../../../src/script/java:$CLASS
PATH gcj -C -d ../../../../../src/script/java SFBool.java SFColor.java SFDoub
le.java SFFloat.java SFImage.java SFInt32.java SFNode.java SFRotation.java SFStr
ing.java SFTime.java SFVec2d.java SFVec2f.java SFVec3d.java SFVec3f.java MFBool.
java MFColor.java MFDouble.java MFFloat.java MFInt32.java MFNode.java MFRotation
.java MFString.java MFTime.java MFVec2d.java MFVec2f.java MFVec3d.java MFVec3f.j
ava ConstSFBool.java ConstSFColor.java ConstSFDouble.java ConstSFFloat.java Cons
tSFImage.java ConstSFInt32.java ConstSFNode.java ConstSFRotation.java ConstSFStr
ing.java ConstSFTime.java ConstSFVec2d.java ConstSFVec2f.java ConstSFVec3d.java
ConstSFVec3f.java ConstMFBool.java ConstMFColor.java ConstMFDouble.java ConstMFF
loat.java ConstMFInt32.java ConstMFNode.java ConstMFRotation.java ConstMFString.
java ConstMFTime.java ConstMFVec2d.java ConstMFVec2f.java ConstMFVec3d.java Cons
tMFVec3f.java
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.inter
nal.compiler.batch.GCCMain
at gnu.java.lang.MainThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.b
atch.GCCMain not found in gnu.gcj.runtime.SystemClassLoader{urls=[], parent=gnu.
gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at gnu.java.lang.MainThread.run(Unknown Source)
make[7]: *** [classnoinst.stamp] Error 1
make[7]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml/field'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/usr/openvrml-0.18.8/src/script/java/vrml'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/usr/openvrml-0.18.8/src/script/java'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/usr/openvrml-0.18.8/src/script'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/openvrml-0.18.8/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/openvrml-0.18.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/openvrml-0.18.8'
make: *** [all] Error 2

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#42

投稿記事 by beatle » 12年前

gcjはgccの一部ですね。java用のコンパイラです。
gcc自体のコンパイルはubuntu上で何度かやっていますので、大体勝手は分かります。
cygwin上ではmakeが遅いので、もしかしたら一回configure & makeするだけで半日以上掛かるかもしれません。
Core i7のubuntu上でやっても1時間くらいはかかりますので。

で、ここで提案なのですが、cygwinでの環境構築は一旦諦めて、Ubuntuでやってみませんか?
Windows機しかなくてもVirtualBoxという素晴らしいエミュレータがあります。
僕自身VirtualBox+UbuntuでOpenVRMLのインストールを試したのですが、かなりすんなりとインストールできました。
現在は、サンプルプログラムに渡すファイルがなくてサンプルが試せない、という段階です。

これからcygwinでgccをビルドするよりも、VirtualBoxでUbuntuを入れる方が、OpenVRMLのインストールという目標に
早く到達する可能性があります。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#43

投稿記事 by こめかみ » 12年前

帰宅しました。なるほど魅力的な提案なので、是非その案で進めさせていただきたいと思います。

ただ、Windows上でのunix環境のエミュレータ設定は一度つまずいた経験があります。環境の構築中にまたどこかで引っかかって延々お世話になる可能性が高いです…
それでも手を差し伸べていただけるなら、大変ありがたく思います。よろしくお願いいたします。m(_ _)m

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#44

投稿記事 by ISLe » 12年前

ターゲットは何でも良かったのでしょうか。

ちなみにgcjのエラーは、gcjコマンドの代わりにgcj-3コマンドを使うか、ecj.jarを拾ってくるかすれば良いです。
後者は「gcj ecj.jar」とかで検索してみてください。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#45

投稿記事 by こめかみ » 12年前

ISLe さんが書きました:ターゲットは何でも良かったのでしょうか。

ちなみにgcjのエラーは、gcjコマンドの代わりにgcj-3コマンドを使うか、ecj.jarを拾ってくるかすれば良いです。
後者は「gcj ecj.jar」とかで検索してみてください。

gcjのエラーの件ありがとうございます。調べながら試させていただきます。


現段階の最終目標としてはcygwinで動かせるのが望ましいのですが、
OpenVRMLが当初の目的であるVRML2.0の読み込みにどの程度対応しているのかを検証するために環境構築するのが優先すべきことだと判断しました。

時間をかけてOpenVRMLをcygwinにインストールしても、OpenGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリとして希望通りのものでなかった場合にはまた別の方針に変えなければいけないことを考えると、
より速やかインストールが可能なら、どんな環境でもいいのでまずはOpenVRMLのサンプルプログラムを動かして検証するべきだと今は考えています。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#46

投稿記事 by こめかみ » 12年前

まちがえました。希望通りというかそもそも比較対照になるようなものなのかどうかの検証をしたいということでした。
それで比較対照になるようなものだったらcygwinにもインストールする必要がでてきます。
記事編集しなおしたい。。。編集機能は会員(?)にならないと使えなくなってしまったんでしょうか。登録しようかな…

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#47

投稿記事 by beatle » 12年前

ISLeさんのアドバイス通りecj.jarを導入したところ、
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.batch.GCCMain
のエラーはなくなり、コンパイルが進むようになりました。
http://cso236.seesaa.net/article/225773772.html

makeを開始してからしばらくすると、
mv: cannot stat `libopenvrml/openvrml/local/.deps/libopenvrml_libopenvrml_la-parse_vrml.Tpo': No such file or directory
というエラーがでて、makeがストップします。
もう一度makeをすると先に進みますが、またしばらくしてopenvrml::local::parse_vrml関数が定義されてないよとエラーがでます(ldのundefined reference toエラー)。
たしかにlibopenvrml_libopenvrml_la-parse_vrml.oファイルのサイズは288バイト(小さすぎる)ですし、nmコマンドで見てもなんのシンボルも含まれていませんでした。
つまり空のオブジェクトファイルということです。これではundefined reference toエラーが出るのは当然です。

いろいろ調査して、configureに--enable-libtool-lockをつければいいという情報を得ましたがそれも効果はありませんでした。
現在のところ僕にはこの問題の解決策は分かっていませんので、他の方のアドバイスを待ちたいと思います。

11/18 9:18追記
ちなみに僕は openvrml-0.18.8 の中に build ディレクトリを新しく作り、 cd build してから ../configure hogehoge としております。
その前提で以下書きます。
cd openvrml-0.18.8/build/src して、そこで以下のコマンドをうちます。

コード:

$ g++ -DHAVE_CONFIG_H -I. -I../../src -I.. -I../src/libopenvrml -I../../src/libopenvrml -I../../src/local/libopenvrml-dl -DOPENVRML_LIBDIR_=\"/usr/local/lib\" -DOPENVRML_PKGDATADIR_=\"/usr/local/share/openvrml\" -DOPENVRML_PKGLIBDIR_=\"/usr/local/lib/openvrml\" -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DBOOST_FILESYSTEM_VERSION=2 -I/usr/include/freetype2 -I/usr/include/libxml2 -g -O2 -MT libopenvrml/openvrml/local/libopenvrml_libopenvrml_la-parse_vrml.lo -MD -MP -MF libopenvrml/openvrml/local/.deps/libopenvrml_libopenvrml_la-parse_vrml.Tpo -c ../../src/libopenvrml/openvrml/local/parse_vrml.cpp -o libopenvrml/openvrml/local/libopenvrml_libopenvrml_la-parse_vrml.o
その後

コード:

$ objdump -d libopenvrml/openvrml/local/libopenvrml_libopenvrml_la-parse_vrml.o
とすると、オブジェクトファイルが空であることが確認できます。

../../src/libopenvrml/openvrml/local/parse_vrml.cppは大きく分けて
  • 21 - 23行: インクルード部
  • 25 - 32行: bool openvrml::local::anonymous_stream_id関数の定義
  • 34 - 93行: 無名名前空間
  • 95 - 182行: void openvrml::local::parse_vrml関数の定義
となっています。試しにvoid openvrml::local::parse_vrml関数の定義を #if 0 と #endif で囲んで再度コンパイルしてみると、オブジェクトファイルは空ではなくなります。

つまりどうしろという解決策は未だ分かりませんが、とりあえずご報告まで。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#48

投稿記事 by beatle » 12年前

とりあえず私の想像としては、GCCの実行時のスタックサイズが足りなくて、parse_vrml.cppのコンパイルができていない、というものです。
parse_vrml.cppは内部でBoost.Spiritを使っています。Boost.Spirit(に限らずBoostの多くのライブラリ)はテンプレートがバリバリ使われており、コンパイラへの負荷がとても大きいです。
テンプレートはコンパイラが処理すべきソースコード量を大幅に増やします。

cygwinで各アプリケーションが使えるスタックサイズはデフォルトで2MB (ulimit -sで確認できます) です。これが足りてないんじゃないかと思っています。
Linuxなら
$ ulimit -s hoge
でスタックサイズを増やせるらしいのですが、cygwinだとそれが許可されていません。
参考:http://cygwin.com/ml/cygwin/2003-03/msg01394.html
gcc自体のスタックサイズを増やすには、gcc自体のコンパイル時点で 「-Wl,--stack,8388608」みたいなオプションを付けなければいけません。

以上の想像があたっていれば、gccの自前ビルドは必須になりますね。cygwinにこだわるならば。

11/18 10:46追記
Ubuntuでulimit -Ss hogeでスタックサイズを変えながら実験してみたところ、
ulimit -Ss 2048 => g++がsegmentation faultで死亡
ulimit -Ss 3072 => コンパイル終了
ということで、cygwinの初期設定2048だとギリギリ失敗するみたいですね。Boost.Spirit凶悪ですね。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#49

投稿記事 by こめかみ » 12年前

うわあ、解説にbeatleさんの説明しきれない経験則が含まれてきて戦々恐々しています。
…cygwinでのインストールにこだわると、みなさんのような経験豊富な方ならともかく今の私には実力的に不釣り合いなのかなと思えてきました…
このまま手とり足とり解決に導いてもらっても自分が何やっているのか後で説明および再現できる自信が無いです…

あの…beatleさんの提案の、VirtualBoxを用いたubuntuでのインストールに切り替えてしまうのは身勝手でしょうか…

自分がなぜcygwinにこだわっていたのか考え直したのですが、OpenGLプログラムをCygwin上で行うノウハウを有効活用したいという理由が大きかったようで、調べたところubuntuでのOpenGLのインストールは(たぶん)そんなに難しくなさそうなので…あとは共同で作業している人たちにubuntuの設定ノウハウを自力で説明できればcygwinにこだわらざるを得ない状況も変えられるのではないかと考えました。

VirtualBox+Ubuntuでインストールがすんなりできたという情報があるのならまずそれを試してみたいです…本当に話が二転三転してすみません…

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#50

投稿記事 by beatle » 12年前

VirtualBox + Ubuntuにします?
共同作業者の方々がLinuxに抵抗なければそれが良いと思います。
まあ、UbuntuはLinux初めてでも比較的とっかかりやすいと思いますが。
こめかみ さんが書きました:VirtualBoxを用いたubuntuでのインストールに切り替えてしまうのは身勝手でしょうか
あそこまで苦労してcygwinでOpenVRML動作は厳しいと判断したんです。勇断でしょう。

もしVirtualBoxのインストールとVirtualBox上へのUbuntuのインストールが分からなければ、トピックを変えてから質問してくださいね。
#会員登録おすすめです。チャットもできますし。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#51

投稿記事 by こめかみ » 12年前

beatle さんが書きました:VirtualBox + Ubuntuにします?
共同作業者の方々がLinuxに抵抗なければそれが良いと思います。
まあ、UbuntuはLinux初めてでも比較的とっかかりやすいと思いますが。
こめかみ さんが書きました:VirtualBoxを用いたubuntuでのインストールに切り替えてしまうのは身勝手でしょうか
あそこまで苦労してcygwinでOpenVRML動作は厳しいと判断したんです。勇断でしょう。

もしVirtualBoxのインストールとVirtualBox上へのUbuntuのインストールが分からなければ、トピックを変えてから質問してくださいね。
#会員登録おすすめです。チャットもできますし。

ありがとうございます。また躓いたら別トピックで質問させていただきます。よろしくお願いいたします。

区切りの為にこのトピックは解決とさせていただきます。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#52

投稿記事 by ISLe » 12年前

OpenVRMLの検証はUbuntuのほうが早く済むでしょうね。

ただ、Ubuntuで作った実行ファイルはウィンドウズで動かないですよ。
ウィンドウズ上で連携して動かしてたプログラムがあったりするとVirtualBoxのあっちとこっちでやり取りする方法を考えないといけないですよ。
そういう意味合いでターゲットは何でも良いのかと質問したのですけど。


これまたちなみにですが、Cygwinの実行ファイルはウィンドウズの実行形式なので、スタックサイズは実行ファイル毎に記録されています。
バイナリエディタ等で実行ファイルを書き換えればスタックサイズを増やすことができます。
スタックサイズの場所はPEヘッダとかPEフォーマットで検索すれば分かります。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#53

投稿記事 by beatle » 12年前

/bin/g++-4.exeのIMAGE_OPTIONAL_HEADER32ヘッダのSizeOfStackReserveを見てみたら
0x00200000
となっていました。つまり2048KBですね。
ちなみに、/bin/g++-4.exeの0xe0から4バイトがSizeOfStackReserveです。
で、ここを増やしたり0にしてみたりしましたが、g++-4の動作は変わりませんでした。
ISLe さんが書きました:バイナリエディタ等で実行ファイルを書き換えればスタックサイズを増やすことができます。
すごく興味があるのですが、具体的にどこを書き換えたらいいか分かりますか?

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#54

投稿記事 by beatle » 12年前

自己解決しました。C++コンパイラの本体は/lib/gcc/i686-pc-cygwin/4.5.3/cc1plus.exeなので、それを書き換えればOKでした。
こめかみさん、parse_vrml.cppのコンパイルができ、makeが前進しました。

ただし、まだ他のエラーでmakeが止まりますが。

こめかみ

Re: OpemGLプログラムにVRML2.0による3Dモデルを読み込ませるライブラリについて

#55

投稿記事 by こめかみ » 12年前

ISLe さんが書きました:OpenVRMLの検証はUbuntuのほうが早く済むでしょうね。

ただ、Ubuntuで作った実行ファイルはウィンドウズで動かないですよ。
ウィンドウズ上で連携して動かしてたプログラムがあったりするとVirtualBoxのあっちとこっちでやり取りする方法を考えないといけないですよ。
そういう意味合いでターゲットは何でも良いのかと質問したのですけど。


これまたちなみにですが、Cygwinの実行ファイルはウィンドウズの実行形式なので、スタックサイズは実行ファイル毎に記録されています。
バイナリエディタ等で実行ファイルを書き換えればスタックサイズを増やすことができます。
スタックサイズの場所はPEヘッダとかPEフォーマットで検索すれば分かります。
ウィンドウズにはなるべく依存しないような開発をしているので大丈夫…の筈…です…そういったことについても実際にubuntuで動かして体験で確認してみたいと思います。
cygwinでもまだインストールできる道があるようなのは嬉しいです。

今日というか昨日(金曜)の一日でVirtualBox への Ubuntu の設定とインターネット環境の設定がなんとかできましたので。せっかくなのでいったんこの環境でOpenGLとOpenVRMLのインストールに取り組みたいと思います。問題解決のご協力本当にありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る