更新: この問題は解決されました。解決策については、この回答の一番下までスクロールしてください。
うん、たまたま見つけた気がする…。根本的な原因が何かはまだわかりませんが、どの症状が起動の問題を引き起こしているかはわかっています。
基本的に、ビルドプロセスとデルタパック、および次のjarファイル/フォルダーの競合状態に関連していると思います:
フォルダー: org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520
対。
Jar : org.eclipse.equinox.launcher.gtk.linux.x86_64_1.0.200.v20090519.jar
私がつまずいた箇所は、私がよく見たビルド中のいくつかのメッセージでしたが、実際には考えたことはありませんでした:
[java] [eclipse.generateFeature] バンドル org.eclipse.equinox.launcher.gtk.linux.x86: [java] [eclipse.generateFeature] 別のシングルトン バージョンが選択されました: org.eclipse.equinox.launcher.gtk.linux.x86_1。 0.200.v20090520
これは、処理されたビルドが別のものを選択したように聞こえます...?!? 私には奇妙に思えます。
動作していた場合、このjarファイルが抽出され(そのため、org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520という名前のフォルダーになりました)、このフォルダーにはeclipse_1206.soというファイルが含まれていました.
機能していなかった場合、org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520という名前のフォルダーもありましたが、ファイルeclipse_1206.soはこのフォルダーにはありませんでした。
また、ローカルの Ubuntu マシンでそれを確認したところ、動作しない場合に Debian マシンよりも多くの出力が得られました。
Ubuntuで動作していなかったとき、私は次のようなものを得ました:
$ ./日食
(.:26981): GLib-GObject-WARNING **: 無効な (NULL) ポインター インスタンス
(.:26981): GLib-GObject-CRITICAL **: g_signal_connect_data: アサーション `G_TYPE_CHECK_INSTANCE (インスタンス)' が失敗しました
(.:26981): Gtk-CRITICAL **: gtk_settings_get_for_screen: アサーション `GDK_IS_SCREEN (画面)' が失敗しました
(.:26981): GLib-GObject-CRITICAL **: g_object_get: アサーション `G_IS_OBJECT (オブジェクト)' が失敗しました
gboolean' is
invalid or out of range for property
(.:26981): GLib-GObject-WARNING **:タイプ `gboolean' のタイプ visible' の値 "TRUE"
(.:26981): Gtk-CRITICAL **: gtk_settings_get_for_screen: アサーション `GDK_IS_SCREEN (画面)' が失敗しました
(.:26981): GLib-GObject-CRITICAL **: g_object_get: アサーション `G_IS_OBJECT (オブジェクト)' が失敗しました
(.:26981): Gtk-WARNING **: GtkWindow の画面が設定されていません。ウィンドウを使用する前に、常に GtkWindow の画面を設定する必要があります
(.:26981): Gdk-CRITICAL **: gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(.:26981): Pango-CRITICAL **: pango_context_set_font_description: アサーション `context != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_context_set_base_dir: アサーション `context != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_context_set_language: アサーション `context != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_new: アサーション `context != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_text: アサーション `layout != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_attributes: アサーション `layout != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_alignment: アサーション `layout != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_ellipsize: アサーション `PANGO_IS_LAYOUT (レイアウト)' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: アサーション `PANGO_IS_LAYOUT (レイアウト)' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_set_width: アサーション `layout != NULL' が失敗しました
(.:26981): Pango-CRITICAL **: pango_layout_get_extents: アサーション `layout != NULL' が失敗しました
(.:26981): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: アサーション `GDK_IS_SCREEN (画面)' が失敗しました
(.:26981): Gtk-CRITICAL **: gtk_settings_get_for_screen: アサーション `GDK_IS_SCREEN (画面)' が失敗しました
(.:26981): Gtk-CRITICAL **: gtk_icon_size_lookup_for_settings: アサーション `GTK_IS_SETTINGS (設定)' が失敗しました
(.:26981): Gtk-WARNING **: 無効なアイコン サイズ 6
(.:26981): Gtk-CRITICAL **: gtk_icon_theme_load_icon: アサーション `GTK_IS_ICON_THEME (icon_theme)' が失敗しました セグメンテーション違反
ホストされたDebianマシン (vserver.de) では、上記の最初の質問で説明したように出力がありません。
おそらく、ビルド プロセス中に前者が使用されることもあれば、後者が使用されることもありました。現時点では理由を説明できません。また、フォルダはプレーン _x86 (32 ビット) アーキテクチャ用であるのに対し、jar は x86_64 (64 ビット) アーキテクチャ用であることにも気付きました。build.propertiesでx86_64を指定しなかったため、64が選択された理由がまったくわかりません。
また、このファイルはorg.eclipse.equinox.launcher.gtk.linux.x86_64_1.0.200.v20090519.jar (...x86_64... に注意してください)
結論
根本的な原因は、ある種の一貫性のない/壊れた/めちゃくちゃなターゲット プラットフォームまたはデルタ パックを持っていることだと思います。多分私はヘッドレス PDE ビルドを行う方法で何か間違ったことをしているのかもしれませんが、うまくいくように見えたので、これまでのところわかりませんでした...時々...そして時々そうではありません:)
一致するフォルダーをeclipse_1206.soファイルを含むフォルダーと交換することで、上記のステートメントを確認したところ、突然機能しました。再現可能。そのため、Linux で同様の起動時の問題が発生した場合は、equinox ランチャー フォルダー / jar (例: org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520)にeclipse_1206.soが存在するかどうかを確認してください。
それまでの間、根本的な原因とビルドを適切にセットアップする方法を調査し、それをブログ投稿に書き留めます。
これまでに助けようとしてくれたすべての人に感謝します。
クリストフ
更新ソリューション:
解決策は、3.5 バージョン用の新しい Eclipse Deltapack をダウンロードし、ターゲット プラットフォームのすべての ..launcher.. プラグインを新しいものに置き換えることでした。問題は、eclipse_1206.soファイルが見つからない破損したランチャー プラグインでした。
2010/03/01 更新: 別のメモとして、SVN はデフォルトでファイル拡張子 .so を無視することがわかりました。これも問題の原因でした。上記で説明した私の解決策は、これまでのところローカルでのみ機能していましたが、これは正しかったです。しかし、今日、ビルドサーバーから出てくるビルドが最終的に正しいかどうかを確認したかったのですが、驚いたことに..それらはまだ壊れていました。すぐにランチャー プラグイン フォルダーを確認したところ、eclipse_1206.so が再び見つからないことがわかりました。次に、SVN リポジトリを確認しましたが、実際にはファイルがありませんでした。ここで説明したように、SVN はデフォルトでこれらのファイルを無視することが判明しました: SVN はデフォルトで .so ファイルを無視します。