gccまたはQtCreaterを使用してUbuntuで生成されたELFバイナリファイルがある場合、このバイナリをRHELなどの別のLinuxディストリビューションで実行できますか?
(純粋なCLIプログラムができますが、GUIプログラムが依存すると思いますが)
32ビットバイナリは64ビットマシンで実行できますか、またはその逆ですか?異なるLinuxディストリビューションのELFバイナリ
1
A
答えて
1
はい。 ELFバイナリは、アーキテクチャが互換性がある限り、異なるシステム上で実行できます。つまり、32ビットx86 ELFは、64ビットx64システム上で実行できます。
つまり、プログラムが開始されるわけではありません。それでもすべてのランタイム依存性が満たされている必要があります。これには、プログラムによって使用されるすべての共有ライブラリが含まれます。実行中のマシンで使用できない場合、プログラムは機能しません。
objdump -p <program | grep NEEDED
で必要な共有ライブラリを確認できます。あなたのtagetシステムで利用できない場合は、SOファイルを配布してLD_LIBRARY_PATH
を変更してロードすることもできます。
共有ライブラリが満たされていても、プログラムは正常に動作するとは限りません。設定ファイル、フォント、システムサービス、カーネル機能が欠けているかもしれません...あなたがサポートしたいすべてのディストリビューションでそれをテストしなければなりません。
PS:問題はCLIとGUIプログラムの間では概念的に異なります。 GUIプログラムはそれほど多くの依存関係を持つ傾向があります。
関連する問題
- 1. 奇妙なELFバイナリ
- 2. スクリプトは、ELFバイナリ
- 3. "すべて"のLinuxディストリビューションで動作するバイナリを作成
- 4. 異なるLinuxディストリビューションでのシェルスクリプトの動作
- 5. 異なるLinuxディストリビューションのpythonシステム属性 "__file__"の不一致
- 6. 異なるLinuxディストリビューションを対象としたQtアプリケーションの作成
- 7. ELFバイナリでのインポート名
- 8. 独自のARM ELFバイナリ
- 9. Linux ELFファイルセクション名
- 10. Linuxディストリビューションでのバージョンアップ
- 11. Linux用GCC(slitazディストリビューション)
- 12. Linuxディストリビューション、RailsとIDE
- 13. HDInsightクラスタのLinuxディストリビューション情報
- 14. 最小限のLinuxディストリビューション
- 15. Tomcatに使うLinuxディストリビューションは?
- 16. Linux実行時のELFセクションの "反復"
- 17. バイナリアプリケーションをLinuxディストリビューションに配布する
- 18. 共有ライブラリとLinux(elf)のリンク
- 19. どのLinuxディストリビューションのPHP Webサイトコーディング
- 20. 複数のLinuxディストリビューションの単一インストールドキュメント
- 21. プログラマのプライベートサーバ向けのLinuxディストリビューション
- 22. ルートディレクトリの '/ data'を含むLinuxディストリビューション?
- 23. Android開発ワークステーションの推奨Linuxディストリビューション
- 24. 2つの異なるLinuxディストリビューションからpython locustスクリプトを実行する際のエラー
- 25. 典型的なLinuxディストリビューションの中で最も古いコード
- 26. ELFバイナリのデフォルトシグナルハンドラのコードはどこにありますか?
- 27. Linux上でC++ 14を使用し、異なるLinuxリリースをターゲットにした出荷バイナリ
- 28. Linuxのqtバイナリへのコマンドラインパラメータ
- 29. 下線のLinuxディストリビューションおよび/またはバージョンは、次の仕事のために異なることができます異なるホストOS
- 30. .textセクションをLinuxの4Kアラインメントアドレスに分割する方法ELF
これはいくつかの要因(リンケージ、依存関係など)によって異なります。 – rkosegi
x86_64プログラムはIA-32システムでは動作しません。ただし、IA-32プログラムはx86_64システムで実行する必要があります。 – Michas