Sowohl RedHat als auch SUSE haben eine lange Linux-Unternehmenstradition und konnten diese Pakete erstellen und für sie testen. Im Laufe der Zeit wird es weitere Beispiele für Pakete geben, die auf Ubuntu getestet wurden. Tatsächlich funktionieren viele solcher Pakete seit dem letzten Jahr getestet mit Ubuntu. Da Canonical Vereinbarungen mit mehr Anbietern trifft, wird es mehr Ubuntu-zertifizierte Pakete geben.
Zu Ihrer ersten Frage: Wenn Sie ein Programm erstellen möchten, das auf allen Distributionen ausgeführt wird, erstellen Sie eine statische (im Vergleich zu einer dynamischen) ausführbare Datei. Eine statically-linked
ausführbare Datei ist nicht von den Systembibliotheken abhängig. Sie kann daher zwischen Distributionen verwendet werden, sofern die Architektur (z. B. Intel / AMD) dieselbe ist.
Hier ist ein Programm,
int main(void)
{
printf("Hello, World!\n");
return 0;
}
Lassen Sie uns wie gewohnt kompilieren,
$ 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
$
Was können Sie mit diesem VHDL-Programm machen? Holen Sie sich die .rpm-Datei und konvertieren Sie sie mit alien in .deb . Dann installieren. Wenn es funktioniert hat, bist du in Ordnung. Wenn dies nicht funktioniert, ermitteln Sie ldd
mit, welche Bibliotheksdatei fehlt. Erstellen Sie im schlimmsten Fall eine virtuelle Maschine für diese anderen Linux-Distributionen und führen Sie das Programm dort aus.