Am 03.09.2010 21:21, schrieb Thomas Hertweck:
Ich stimme Dir da im Prinzip voll und ganz zu. Deswegen basieren unsere standard build hosts auch auf RHEL4 und RHEL5, und wir haben genau wie andere Firmen einige OS, die als offiziell unterstuetzt gelten. Wenn allerdings ein customer kommt und nach etwas anderem fragt, dann wird ein Marketing- und Business-Manager sicher nicht sagen, "sorry, geht nicht", und wir koennen einem Customer, der seine 1000 thin clients vielleicht gerade auf 11.3 upgedatet hat, schlecht sagen, "sorry, das war ne ganz schlechte Idee fuer eine Produktionsumgebung, Du musst Deine 1000 thin clients leider wieder downgraden". Das ist vermutlich einer der Hauptunterschiede zwischen der kommerziellen und der klassischen open source Umgebung, da mag so etwas vielleicht funktionieren. Und dann landet eben am Ende eine Anfrage auf meinem Tisch, da im Prinzip gilt, der Kunde ist Koenig (manches open source Projekt koennte sich von der Einstellung manchmal echt eine Scheibe abschneiden), und ich muss schauen, ob wir das nun hinbekommen oder nicht. Wenn Du mir garantieren kannst, dass auf SLES gebaute Software spaeter einwandfrei auf openSUSE 11.2 und 11.3 laeuft, bin ich gerne bereit, diesen Weg zu gehen und unsere Software auf SLES zu bauen. Bisher wollte mir aber niemand diese Garantie geben...
Sag das doch gleich. Ich hab da jetzt mal etwas in ner VM rumexperimentiert und mir den Intel-Compiler runtergeladen. Folgendes funktioniert hier: - Repo hinzufügen welcher auch gcc-4.3 hat: % zypper ar -r \ http://download.opensuse.org/repositories/devel:/gcc/openSUSE_11.3/devel:gcc... - gcc 4.3 installieren: % zypper in gcc43-c++ libstdc++43-devel-32bit libstdc++-devel-32bit Der icc verwendet "gcc --print-search-dirs" um die Pfade zu den Headerdateien zu finden. Wir müssen ihm also den alten gcc unterjubeln, ohne am System was zu verändern: % mkdir gcc43 % cd gcc43 % ln -s /usr/bin/gcc-4.3 gcc % ln -s /usr/bin/gcc-4.3 cc % ln -s /usr/bin/g++-4.3 g++ % ln -s /usr/bin/g++-4.3 c++ Und dann also % export PATH=$(readlink -f $PWD):$PATH Ich hab mal % . /opt/intel/Compiler/11.1/069/bin/iccvars.sh intel64 gemacht und dann % cat test.cc
#include <iostream> #include <iomanip>
int main(int argc, char *argv[]) { std::cout << "Test" << std::endl; return 0; } % icc -o test test.cc
Ohne den gcc-4.3 gibt das dir von Dir beschriebene Fehlermeldung. HTH. Und ohne Deine Software zu kennen werde ich mich hüten Dir zu garantieren dass die auf SLES gebaute Software auch auf openSUSE 10.3 läuft. Aber wenn man's richtig[tm] macht, geht das schon. ;) Gruß, Bernhard