# [gelöst] slot conflict

## xilinx

Hi,

brauche wieder einmal eure Hilfe...

Also ich möchte den qt-creator installieren und habe dies mit

```

emerge qt-creator

```

in Aauftrag gegeben. Leider kams zu einem Slotkonflikt, der wie folgt aussieht:

```

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.2h-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by

    >=dev-libs/openssl-0.9.8g:*[bindist=] required by (dev-libs/botan-1.10.12:0/0::gentoo, ebuild scheduled for merge)

                                ^^^^^^^^                                                                                                                  

  (dev-libs/openssl-1.0.2h-r2:0/0::gentoo, installed) pulled in by

    >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.2_p2-r1:0/0::gentoo, installed)

                                ^^^^^^^^                                                                                                     

    dev-libs/openssl:0[bindist=] required by (dev-qt/qtnetwork-5.6.1:5/5.6::gentoo, ebuild scheduled for merge)

                       ^^^^^^^^                                                                                                                    

It might be possible to solve this slot collision

by applying all of the following changes:

   - dev-libs/botan-1.10.12 (Change USE: +bindist)

   - dev-libs/openssl-1.0.2h-r2 (Change USE: +bindist)

The following USE changes are necessary to proceed:

 (see "package.use" in the portage(5) man page for more details)

# required by dev-qt/qt-creator-3.6.1::gentoo

# required by qt-creator (argument)

>=dev-libs/botan-1.10.12 threads -bindist

# required by dev-libs/botan-1.10.12::gentoo[ssl]

# required by dev-qt/qt-creator-3.6.1::gentoo

# required by qt-creator (argument)

>=dev-libs/openssl-1.0.2h-r2 -bindist

Would you like to add these changes to your config files? [Yes/No] 

```

Ich lese daraus, dass dev-libs/openssl-1.0.2h-r2 das +bindist flag braucht und dann bei der Lösung wird dann noch gesagt, dass dev-libs/botan-1.10.12 ebenfalls das bindist flag braucht. (das bindist flag habe ich global im make.conf file gesetzt)

Ich versteh nicht wieso dann am Ende in den USE changes dem openssl und botan das bindist flag genommen wird.

```
>=dev-libs/botan-1.10.12 threads -bindist

>=dev-libs/openssl-1.0.2h-r2 -bindist

```

Ich habe schon versucht die USE changes zu übernehmen, aber der slot conflict besteht trotzdem noch weiter.

Wo ist mein Denkfehler und wie kann ich des fixen  :Question: 

Vielen Dank im Voraus für jegliche Hilfe  :Smile: Last edited by xilinx on Sun Sep 04, 2016 8:07 pm; edited 1 time in total

----------

## LuxJux

Ich möchte mich hier mal mit einklinken, weil ich auch oft mit Slotproblemen zu kämpfen hab.

Gibt es eigentlich die Möglichkeit erstmal alle Slots auf einmal zu unmergen, um dann das letzte Stable zu installieren ?

----------

## Josef.95

Huh ja, das bindist Useflag gemischt für einzelne Pakete setzen kann recht tricky sein - es geht, ist aber nicht ganz einfach.

Aber,  *xilinx wrote:*   

> (das bindist flag habe ich global im make.conf file gesetzt) 

  ist das wirklich so gewollt und nötig?

bindist sollte man eigentlich nur dann setzen, wenn man die gebauten Pakete weiter verteilen möchte (es geht dabei um Patentrechte und Lizenzen ).

Sofern du die gebauten Pakete nur für dich selbst nutzt besteht idR kein Grund die Pakete mit USE=bindist zu bauen.

Fazit: Prüfe bitte noch mal ob du bindist wirklich brauchst - wenn nein, dann nimm das Flag am besten aus der make.conf raus.

Ansonsten, zu dem Slot Konflikt:

Ich denke die von portage vorgeschlagenen USE Changes sollten soweit schon passen, und auch funktionieren.

Das Problem ist wahrscheinlich das du (nach den USE-Changes) weiterhin versuchst direkt nur qt-creator zu mergen - und das bekommt portage so nicht aufgelöst.

Versuche vorher die mit den USE-Change geänderten Pakete zu bauen, und dann erst qt-creator

Versuche zb zunächst 

```
emerge -avDN @world --oneshot dev-libs/botan
```

 Wenn das soweit durch ist, dann sollte auch das mergen des qt-creator Pakets klappen.

Noch mal kurz zusammengefaßt:

1) Die von portage vorgeschlagenen USE Änderungen übernehmen

2) Die Änderungen dann zb via "emerge -avD --changed-use @world" bauen

3) Und dann erst dein Zielpaket qt-creator mergen.

Aber, überprüfe zunächst bitte erst noch mal ob es wirklich nötig ist mit dem bindist Useflag zu bauen :)

(beachte bitte, qt-creator benötigt zwingend  mit USE=-bindist gebaute dev-libs/botan) --> 

```
grep -B1 bindist /usr/portage/dev-qt/qt-creator/qt-creator-3.6.1.ebuild

RDEPEND="

        =dev-libs/botan-1.10*[-bindist,threads]
```

----------

## Josef.95

 *LuxJux wrote:*   

> Ich möchte mich hier mal mit einklinken, weil ich auch oft mit Slotproblemen zu kämpfen hab.
> 
> Gibt es eigentlich die Möglichkeit erstmal alle Slots auf einmal zu unmergen, um dann das letzte Stable zu installieren ?

  Puh, eine Pauschalantwort zu Slot-Konflikten kann man so kaum geben, da sie verschiedene Ursachen haben können.

Und nein, unmergen sollte idR nicht nötig sein.

Versuche zu verstehen wie es zu den Slot-Konflikten kommt - dann findet sich meist auch ein weg sie zu lösen :)

----------

## xilinx

Bitte vergesst mich nicht  :Wink: 

----------

## Josef.95

 *xilinx wrote:*   

> Bitte vergesst mich nicht 

  Den verstehe ich nicht - es wurde doch an dich gedacht, und auch auf deine Frage geantwortet.

----------

## xilinx

 :Embarassed:  f*ck hab ich gar nicht gesehen...

----------

## LuxJux

War aber vielleicht auch mein Fehler. Ich hätte warten sollen, bis deine Frage beantwortet ist

anstatt dazwischenzuposten.

Wieder was gelernt.

----------

## xilinx

Kein Thema ich hätte einfach besser lesen sollen...

Jetzt weiß ich wieso es bei mir nicht funktioniert hatte. Nachdem ich (noch bevor ich hier um Hilfe fragte) die USE changes angenommen hab und ein "emerge --update --deep --changed-use --newuse @world" gemacht habe, gabs einen slot conflict, weil ein Paket (ich weiß nicht mehr welches) nicht wollte dass das openssl ohne dem bindist gebaut wird.

Der Ausweg aus dem Dilemma war das Vorgehen aus Josef.95 Beitrag. 

Ich hab im make.conf aus dem bindist ein -bindist gemacht und dann ein update, damit alle Pakete die davon betroffen sind neu gebaut werden.

Dann hab ich die usechanges aus dem qt-creater übernonnen und dann wieder ein update gemacht und anschließend ließ sich der qt-creator installieren.

Um auf die Frage einzugehen, ob das bindist gewollt ist....

äää ich bin neu bei gentoo und das flag war per default schon dabei und hab das somit nicht geändert (hatte keine Ahnung von USE flags (habe immer noch recht wenig Ahnung))  :Embarassed: 

villeicht sollte man das aus dem default file herausnehmen wenn das öfters Probleme bereitet...

Jedenfalls großen Dank mit Verneigung an Josef.95 für die extrem verständliche Hilfe  :Very Happy: 

PS: Wie kann ich das Thema als gelöst markieren?

----------

## LuxJux

 *xilinx wrote:*   

> PS: Wie kann ich das Thema als gelöst markieren?

 

In deinem ersten Beitrag <edit> anklicken und dann den Titel editieren.

Alternativ könntest du <report> anklicken und einen Moderator bittten das Thema zu ändern, sollte

der erste Vorschlag nicht funktionieren.

----------

