# Firefox 31 Update Probleme

## Tinitus

Hallo,

wenn ich ein Update fahren möchte bekomme ich einen Fehler wie folgt:

```
emerge: there are no ebuilds to satisfy ">=sys-libs/zlib-1.2.8-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(-)?]".

```

Kann mir da keinen Reim drauf machen? Bitte um Hilfe...

----------

## ChrisJumper

Hi Tinitus,

Also ich glaub du hast dein ABI noch nicht gesetzt. Im Portage findest du doch 

```
$ eix sys-libs/zlib

[I] sys-libs/zlib

     Available versions:  1.2.3-r1{tbz2} 1.2.5-r2 ~1.2.5.1 ~1.2.5.1-r1 1.2.5.1-r2 ~1.2.6 1.2.7 ~1.2.8 1.2.8-r1 {minizip static-libs ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}

     Installed versions:  1.2.8-r1(xx:xx:xx xx.xx.2013)(minizip static-libs ABI_MIPS="-n32 -n64 -o32" ABI_X86="64 -32 -x32")

     Homepage:            http://www.zlib.net/

     Description:         Standard (de)compression library

```

Also du hast bestimmt eine andere Version und müsstest ein Update machen können auf sys-libs/zlib-1.2.8-r1. Die Meldung interpretiere ich aus dem Bauch heraus so das eine ABI gewählt werden muss. Du hast vermutlich (keine?) in deiner make.conf gesetzt. Wie aus der eix Information hervorgeht habe ich halt

```
ABI_X86="64"
```

 gesetzt.

 *Quote:*   

> Multilib is one of the solutions allowing users to run applications built for various ABIs of the same architecture. The most common use of multilib is to run 32-bit applications on amd64.
> 
> The multilib systems use separate library directories for non-native ABIs. This allows having the same library installed in variants for each ABI, as necessary to satisfy the dependencies of programs built for the ABI in question.

 

Das mit dem ABI setting ging hervor aus einer Idee zum Google Summer of Code 2012. Verschiedene gründe finden sich dort, als auch in den einzelnen Bug Reports. Also allgemein zum ABI setting, aber nicht zu deinem direkten Fehler. ;)

Ahh ich hab die Lösung vergessen:

Wofür  ABI_MIPS steht weiß ich nicht.

Aber wenn du einen 64 Bit Prozessor hast und kein Multilib willst

wählst du ABI_X86="64".

Brauchst du für diverse Sachen die emul-linux-x86-weiß der Geier was. In der Regel wenn du auch 32 Bit Code ausführen möchtest weil er nicht als 64 Code erhältlich ist, das ist oft Flash, Java, mancher Multimedia Schnickschnack. Der kommt dann mit 32 Bit Code an deinen 64 Bit Browser und sagt hey mach mal. Oder wie in dem Fall halt die Frage nach der zlib. In meinem Fall würde ein Programm das die 32-Bit Unterstützung (Multilib) von der zlib braucht wohl einen Fehler produzieren.

Wie auch dem willst du 32 Bit und 64 Bit (also beides = Multilib)

wählst du ABI_X86="64 32".

So und der letzte Fall:

Edit:  Ah ja da hab ich mich vertan! Danke Christian99, das müsste hier natürlich 32 heißen, hab das x weg editiert:

Wenn du auf deiner tollen 64 Bit CPU immer noch alles als x86_32 Bit laufen hast weil aus ich weiß gar nicht genau welchem Grund, vielleicht weil du lieber ca. 4 von 8 GB nutzen möchtest oder halt die vielen anderen Gründe warum 32 noch lebt.

Dann wählst du x32 also: ABI_X86="32"

Edit2: Von der Verlinkten x32 ABI hatte ich vorher noch nie was gehört. Sehr interessant, was es nicht alles gibt.Last edited by ChrisJumper on Fri Aug 01, 2014 9:45 pm; edited 1 time in total

----------

## Tinitus

Hallo,

ich habe  in der make.conf:

ABI_X86="64 32"

nachdem ich das auskommentiert habe läuft erst mal die Installation an. Es gab zwar schon ein paar Hänger. Aber --keep-going. Mal sehen ob dann noch alles läuft. Ca. 150 Pakte.

Erst mal Danke für die sehr ausführliche Antwort!

----------

## Klaus Meier

Du solltest entweder 64 oder 32 setzen, nicht beides. Und eigentlich musst du das nicht manuell machen, dass macht das Profil.

----------

## Christian99

man sollte abi_x86_32 zumindest nicht global setzen sondern nur paketweise nach bedarf.

PS: @ChrisJumper abi_x86_32 !=abi_x86_x32!! http://de.wikipedia.org/wiki/X32_%28ABI%29

----------

## Tinitus

Hallo,

wie macht man das Paketweise setzen?

Immer mehr Pakete wollen das und kommen sich da gegenseitig in die Quere..

in der package.use?

----------

## Christian99

ja genau, abi_x86_32 ist das entsprechende use-flag. Siehe auch http://devmanual.gentoo.org/general-concepts/use-flags/ ganz unten bei USE_EXPAND and ARCH USE Flags

----------

