Archive for Februar, 2009

OpenMPI auf Solaris

Donnerstag, Februar 12th, 2009

Problem

Während meines Studiums komme ich nicht umhin auch mal ein wenig an Software herumzufrickeln – eine davon ist ein KSWS (komplexes SoftWare-System). Zu viert versuchen wir einen Petrinetz-Analyse-Tool aufzubohren, damit es netzwerkfähig wird. Durch den enormen Arbeitsspeicher verbrauch kommt es bei großen Netzen zu Engpässen. Dies versuchen wir dadurch zu umgehen, dass wir die einzelnen Zustände/Schaltvorgänge in einem Cluster zu verteilen, wozu OpenMPI zum Einsatz kommen sollte. Von einem Betreuer erfuhren wir dann, dass sein Nightly-Build-Script auf einem Solaris läuft. Dies stellte ihn vor das Problem, dass er nun versuchen müsste ein OpenMPI auf Solaris zur Verfügung zu stellen, was sich jedoch als schwieriger herausstellte als ihm lieb war.

pkgsrc auf Solaris

Ich habe nun schon die eine oder andere Sache mit pkgsrc zu tun gehabt – ein Paketmanagement, dass ursprünglich aus der NetBSD-Ecke kommt. Durch die enorme Portabilität läuft es auf vielen Betriebssystemen wie z.B. Windows – oder eben auch Solaris. Via CVS war pkgsrc schnell ausgecheckt (wie das geht, siehe pkgsrc-Handbuch) und dann ging das Suchen los: pkgsrc auf Solaris, ohne root-Zugriff in irgendeinen Ordner. Das pkgsrc-Handbuch half mir leider nicht viel weiter, also habe ich joerg@netbsd.org mal ein wenig dazu befragt. Er gab mir den Hinweis, dass ich nur ein –prefix beim bootstraping brauche. Der erste Versuch damit gab mir dann die Meldung, dass ich root-Zugriff brauche um durchzulaufen ODER ein –unprivileged benutze. Hier nun mal meine Konfiguration:

  • pkgsrc-Tree liegt ausgepackt unter: /users/wwwstud/ug003/pkgsrc/cvs
  • pkgsrc-Installation wird unter: /users/wwwstud/ug003/pkgsrc/pkgsrc liegen

Um nun pkgsrc zu installieren, wechselt man nach /users/wwwstud/ug003/pkgsrc/cvs/bootstrap und führt ein:

./bootstrap \

--prefix=/users/wwwstud/ug003/pkgsrc/pkgsrc \

--unprivileged

aus, was zumindest auf SunOS ekas 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V440 problemlos durchlief. Danach hat man eigentlich alles zur Hand, was man braucht. Was man natürlich noch beachten muss ist das, was einem pkgsrc zum Schluss des bootstraps noch als Hinweis gibt:

Please remember to add /users/wwwstud/ug003/pkgsrc/pkgsrc/bin to your PATH environment variable and /users/wwwstud/ug003/pkgsrc/pkgsrc/man to your MANPATH environment variable, if necessary.

An example mk.conf file with the settings you provided to „bootstrap“ has been created for you. It can be found in:

/users/wwwstud/ug003/pkgsrc/pkgsrc/etc/mk.conf

You can find extensive documentation of the NetBSD Packages Collection in /users/wwwstud/ug003/pkgsrc/cvs/doc/pkgsrc.txt.

Hopefully everything is now complete.
Thank you

Das hoffe ich dann natürlich auch, zumal mein eigentliches Problem mit OpenMPI damit noch nicht gelöst ist, denn dies gibts nur im WiP (Work-In-Progress)-Tree von pkgsrc.

pkgsrc WiP-Tree

Den WiP-Tree erhält man ebenfalls über CVS. Die Anleitung dazu gibt es auf den sourceforge-Seiten des pkgsrc-wip projects. Danach ist der WiP-Tree bei mir dann z.B. unter /users/wwwstud/ug003/pkgsrc/cvs/wip zu finden und man kann im Ordner openmpi ein bmake install clean durchführen. Am Ende hat man dann ein laufendes OpenMPI, dass ohne root-Zugriff auskommt – hoffte ich.