RedHatとSUSEはどちらもエンタープライズLinuxの長い伝統を持ち、それらのパッケージを作成してテストすることができました。時間が経つにつれて、Ubuntuで動作するようにテストされたパッケージの例がさらに増えるでしょう。実際、昨年からこのようなパッケージの多くは、Ubuntuで動作するようにテストされています。Canonicalがより多くのベンダーと契約を結ぶにつれて、Ubuntu認定パッケージがさらに増えていきます。
最初の質問:すべてのディストリビューションで実行するプログラムを作成する場合は、静的(動的と比較して)実行可能ファイルを作成します。statically-linked
実行可能ファイルは、したがって限り(例えば、インテル/ AMDなど)アーキテクチャが同じであるように、分布間動作することができ、システムライブラリに依存しません。
これがプログラムです
int main(void)
{
printf("Hello, World!\n");
return 0;
}
通常通りコンパイルしましょう。
$ gcc helloworld.c -o helloworld
$ ./helloworld
Hello, World!
$ ldd helloworld
libc.so.6 => /lib/libc.so.6 (0x00007f3cc3481000)
...
$
$ gcc helloworld.c -static -o helloworld_static
$ ./helloworld
Hello, World!
$ ldd helloworld_static
not a dynamic executable
$
それで、あなたはそのVHDLプログラムで何ができますか?.rpmファイルを取得し、alienを使用して.debに変換します。次にインストールします。うまくいったなら、大丈夫です。動作しない場合は、ldd
どのライブラリファイルが欠落しているかを把握するために使用します。最悪のシナリオでは、これらの他のLinuxディストリビューション用の仮想マシンを作成し、そこでプログラムを実行します。