Sie sind nicht angemeldet.

1

04.06.2015, 12:47

BLock OpenMPI mit MPICH

Hallo zusammen,

ich kämpfe gerade beim Update mit einem Block, von dem ich nicht weiss, wie ich den lösen soll:
[blocks B ] sys-cluster/openmpi ("sys-cluster/openmpi" is blocking sys-cluster/mpich-3.1.3-r99)
[blocks B ] sys-cluster/mpich ("sys-cluster/mpich" is blocking sys-cluster/openmpi-1.8.4-r99)

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(sys-cluster/mpich-3.1.3-r99:0/0::science, ebuild scheduled for merge) pulled in by
>=sys-cluster/mpich-3.1.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,cxx?,fortran?,romio?,threads?] (>=sys-cluster/mpich-3.1.3-r1[abi_x86_32(-),abi_x86_64(-),cxx,fortran,romio,threads]) required by (virtual/mpi-2.0-r4:0/0::science, ebuild scheduled for merge)

(sys-cluster/openmpi-1.8.4-r99:0/0::science, installed) pulled in by
sys-cluster/openmpi required by @selected
>=sys-cluster/openmpi-1.8.4-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,cxx?,fortran?,romio?,threads?] (>=sys-cluster/openmpi-1.8.4-r3[abi_x86_32(-),abi_x86_64(-),cxx,fortran,romio,threads]) required by (virtual/mpi-2.0-r4:0/0::science, ebuild scheduled for merge)


virtual/mpi habe ich bereits deinstalliert. Ideen? Ich bin auf ~x86-System unterwegs. Danke.

Gen-Too

2

04.06.2015, 13:46

Du nutzt die Pakete aus dem science-Overlay. Gibt es dazu einen Grund?

An sonsten zu dem Fehler:
Überprüfe bitte mit

Quellcode

1
emerge -pv sys-cluster/openmpi virtual/mpi
Ob folgende Use-Flags abi*?,cxx?,fortran?,romio?,threads? bei beiden Paketen identisch gesetzt sind.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

04.06.2015, 16:00

Das mit dem Science-Overlay hat historische Gründe, ob ich das noch brauche weiss ich nicht genau. Damals war die openmpi-version dort neuer, mpich habe ich gar nicht installiert.
Wie kann ich wieder auf die default-openmpi zurückswitchen?

Ansonsten:

Quellcode

1
2
[ebuild   R   *] sys-cluster/openmpi-1.8.4-r99::science  USE="cxx fortran ipv6 romio threads -cma -cuda -heterogeneous -mpi-threads -numa -vt" ABI_X86="32 (64) (-x32)" OPENMPI_FABRICS="-knem -ofed -open-mx -psm" OPENMPI_OFED_FEATURES="-connectx-xrc -control-hdr-padding -dynamic-sl -failover -rdmacm -udcm" OPENMPI_RM="-pbs -slurm" 0 KiB
[ebuild  N     ] virtual/mpi-2.0-r4::science  USE="cxx fortran romio threads" ABI_X86="32 (64) (-x32)" 0 KiB


Das sieht identisch aus.

4

04.06.2015, 16:05

Versuche mal auf die Portage-Versionen umzusteigen.

Falls Du bei science bleiben willst, dann maskiere sys-cluster/mpich. Aus irgend einem Grund möchte Portage openmpi durch mpich ersetzen. Beide haben ja mehr oder weniger die selbe Funktion. Wenn maskiert, vielleicht sagt Portage dann genauer wieso es lieber mpich haben will..
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

5

04.06.2015, 17:37

Wie steige ich in dem Fall auf die Portage-Version um? Ich habe andere Pakete aus science die ich behalten möchte und er präferiert science, weil das mpi dort neuer ist.

6

04.06.2015, 20:03

Es gibt zwei Wege:
1) Der harte Weg: Du maskierst alle Pakete aus dem Overlay in der /etc/portage/package.mask

Quellcode

1
*/*::overlay-name

und demaskierst nur das was Du benötigst in der /etc/portage/package.unmask

Quellcode

1
foo/bar::overlay-name


2) der sanfte Weg: Du veränderst die Prioritäten der Repositories. Portage hat den Wert -1000. Die Overlays sind standardmäßig drunter. Bei welchen Werten die Overlays landen weiss ich jetzt nicht, nutze aktuell keine. Aber das siehst Du in der Ausgabe von

Quellcode

1
emerge --info --verbose

Mit folgenden Einträgen in der /etc/portage/repos.conf kannst Du die Prioritäten ändern.

Quellcode

1
2
[overlay-name]
priority -1000 

Falls repos.conf ein Verzeichnis ist, schaue Dich dort um. Ggf. reicht es die layman.conf dort drin zu editieren.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

7

05.06.2015, 08:24

Hm, den "sanften Weg", dem Overlay eine niedrigere Priorität zu geben würde ich eher nicht machen - denn dann wäre das Overlay im dem Sinne kein Overlay mehr welches dem portagetree gegenüber vorgezogen würde.

3) Möglichkeit: Gibt das gewünschte Repo mit dem emerge Kommando direkt mit an:

Quellcode

1
emerge -av --oneshot foo/bar::gentoo
(oder auch ohne --oneshot, dann wird das Paket auch mitsamt dem Repo mit ins world aufgenommen).
Ich würde den von bell vorgeschlagenen "harten Weg" bevorzugen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »josef.95« (05.06.2015, 08:30)