# (SOLVED) Skype auf nomultilib System?

## lituxer

Hallo

Da es Sykpe ja nicht als reines 64Bit Paket gibt, meine Frage an Euch.

Kann man Sykpe auf einem nomultilib System installieren?

----------

## ChrisJumper

Hmmm klingt wie ein Rätsel,  lituxer ;)

Muss es unbedingt nomultilib sein?

Warum probierst du es nicht einfach aus?

Das es auf einem amd64-System läuft kann ich bestätigen, allerdings habe ich kein einziges "NoMultilib"-System. Mehr aber auch nicht.

----------

## lituxer

 *ChrisJumper wrote:*   

> Hmmm klingt wie ein Rätsel,  lituxer 
> 
> Muss es unbedingt nomultilib sein?
> 
> Warum probierst du es nicht einfach aus?

 

Danke für die Anwort. 

Also ein Rätsel soll das nicht sein.  :Very Happy: 

Warum es nomultilib sein soll ist recht einfach. Weil ich halt eins habe.  :Wink: 

Ich möchte das auch nicht ändern. Zumal Java, Flash usw. alles darauf läuft. 

Und rückgängig machen geht nicht, da das eine Neuinstallation nach sich zieht. 

Ausprobiert habe ich natürlich schon. Sowohl Skype aus dem tree und von der Webseite selbst.

Aber kann man nicht einem Paket einfach 32Bit libs mit auf dem Weg geben, so in der Art, wie bei den USE=Flags.

Okay, ist eine blöde Idee, aber was besseres fällt mir zur Zeit nicht ein.

----------

## franzf

Du willst doch keine 32bit-Bins kompilieren sondern nur ausführen, oder?

```
$ quse -D multilib

 (gentoo) global:multilib: On 64bit systems, if you want to be able to compile 32bit and 64bit binaries
```

Mit Skype sollten als Abhängigkeit diverse emul-linux-x86-*-Pakete kriegen.

aus dem ebuild:

```
DEPEND="amd64? ( >=app-emulation/emul-linux-x86-xlibs-1.2

                >=app-emulation/emul-linux-x86-baselibs-2.1.1

                >=app-emulation/emul-linux-x86-soundlibs-2.4

                app-emulation/emul-linux-x86-compat )

```

SOllte also keine Probleme mit noMultiLib geben...

Grüße

Franz

----------

## lituxer

 *franzf wrote:*   

> Du willst doch keine 32bit-Bins kompilieren sondern nur ausführen, oder?
> 
> SOllte also keine Probleme mit noMultiLib geben...

 

Hallo Franz,

erst einmal Danke für den Tipp. Leider ist das bei einem nomultilib ein Problem.

```
emerge -av skype

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "net-im/skype" have been masked.

!!! One of the following masked packages is required to complete your request:

- net-im/skype-2.0.0.72 (masked by: package.mask)

/usr/portage/profiles/features/64bit-native/package.mask:

# AMD64 Team <amd64@gentoo.org>

# Mask packages that rely on amd64 multilib

- net-im/skype-2.0.0.68 (masked by: package.mask, ~amd64 keyword)

- net-im/skype-2.0.0.63 (masked by: package.mask)

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

```

Ich habe nochmals die static Version von der Skype Webseite versucht, zum laufen zubringen. 

Laut Readme soll man dann den skype starter nach /usr/bin und noch 3 Ordner nach /usr/share/skype kopieren bzw. installieren.

Das alles habe ich auch getan und alles ausführbar gemacht. 

Wenn ich dann skype als Befehl eingebe, sagt er mir immer, das /usr/bin/skype nicht da ist. Obwohl es aber dort ist. 

Das warum ist mir nicht klar.

----------

## ChrisJumper

Also ich hab den Eindruck das dieses Ebuild einfach nur Maskiert ist. Weil du ein besondere Profil verwendest?

 *Schau hier: wrote:*   

> /usr/portage/profiles/features/64bit-native/package.mask:

 

Demnach sollte das mergen Funktionieren wenn du einen Eintrag in /etc/portage/packages.keywords machst:

```
# echo "net-im/skype ~amd64" >> /etc/portage/package.keywords
```

Generell sollete ein gängiger 64-Bit-Prozessor auch 32-Bit Programme ausführen können. Da skype ein Closed-Source Progamm ist wird da auch nichts kompiliert. Teilweise benötigt diese Skype-Linux-Installationen 32-Bit Programmen/Bibliotheken, doch wenn ich das (aus den Diskussionen hier im Forum) richtig mitbekommen habe sind dies auch binäre Dateien (statisch).

Ich wusste gar nicht das es ein solches (striktes) Profiel gibt. Dachte bisher für die Verwendung von "nativen 64 bit" reicht es entsprechende CFLAGS zu setzen und  "bei der Installation von einem 64Bit-System aus zu booten".

Wenn Software via Portage installiert werden kann. Würde ich davon abraten sie "per Hand" zu installieren, es sei denn sie sind recht übersichtlich, landen nur im Home-Verzeichnis oder sind sonst irgenwie davor gefeit in Vergessenheit zu geraten.

Grüße!

----------

## lituxer

Danke für die Anregung ChrisJumper

In der package.keywords geht es aber nicht.

Also habe ich es mal in der package.unmask probiert.

Dort musste ich folgendes eintragen:

```
net-im/skype 

app-emulation/emul-linux-x86-compat

app-emulation/emul-linux-x86-soundlibs

app-emulation/emul-linux-x86-xlibs

app-emulation/emul-linux-x86-baselibs

app-emulation/emul-linux-x86-medialibs

app-emulation/emul-linux-x86-sdl

```

Mit emerge skype wurde dann auch alles installiert.

Nur beim starten von Skype gibt er eine komische Fehlermeldung von sich:

```
~ # skype

/usr/bin/skype: line 10: /opt/skype/skype: Datei oder Verzeichnis nicht gefunden

/usr/bin/skype: line 10: /opt/skype/skype: Erfolg

```

Erst findet er nichts und dann hat er Erfolg?  

Nur laufen tut Skype immer noch nicht. revdep-rebuild war auch okay.

----------

## musv

Ich würde bezweifeln, dass du ohne die emul-x86-libs auskommst. 

Geschichte am Rande: 

Ich hab einen 32bit- und einen 64bit-Rechner. Auf beiden hab ich das Soundsystem von alsa auf oss umgestellt. Skype lief auf dem 64bit-Rechner problemlos. Auf dem 32bit wollte es jedoch nicht. Fehlermeldung: libasound.so.2 nicht gefunden. Beim 64bit-Rechner ist diese lib vorhanden:

```
locate libasound

/usr/lib32/libasound.so

/usr/lib32/libasound.so.2

/usr/lib32/libasound.so.2.0.0
```

Und ein:

```
equery belongs libasound.so

[ Searching for file(s) libasound.so in *... ]

app-emulation/emul-linux-x86-soundlibs-20080810 (/usr/lib32/libasound.so -> libasound.so.2.0.0)
```

verrät mir die Abhängigkeit von den emul-libs auf dem amd64. Unter reinen 32bit-Systemen steckt die lib in den alsa-libs drin. Die wollte ich nicht installieren, also hab ich die libasound einfach vom 64bit- auf den 32bit-Rechner rüberkopiert. Und schon funktionierte es.

Ergo: Ohne die 32bit-libasound funktioniert das Skype nicht. Das ist halt der Nachteil bei Closed Source/Binary. Wenn's Dich stört, schreib an Skype, dass die 'ne native 64bit-Variante rausbringen sollen.

----------

## lituxer

 *musv wrote:*   

> Ich würde bezweifeln, dass du ohne die emul-x86-libs auskommst. 
> 
> Wenn's Dich stört, schreib an Skype, dass die 'ne native 64bit-Variante rausbringen sollen.

 

Die emul-x86-libs habe ich doch installiert. 

Installiert habe ich folgendes:

```
net-im/skype

app-emulation/emul-linux-x86-compat

app-emulation/emul-linux-x86-soundlibs

app-emulation/emul-linux-x86-xlibs

app-emulation/emul-linux-x86-baselibs

app-emulation/emul-linux-x86-medialibs

app-emulation/emul-linux-x86-sdl 
```

```
locate libasound 

/usr/lib64/libasound.so.2.0.0

/usr/lib64/libasound.so.2

/usr/lib64/libasound.a

/usr/lib64/libasound.la

/usr/lib64/libasound.so

/usr/lib32/libasound.so.2.0.0

/usr/lib32/libasound.so.2

/usr/lib32/libasound.so

```

```
equery belongs libasound.so 

[ Searching for file(s) libasound.so in *... ]

media-libs/alsa-lib-1.0.18 (/usr/lib64/libasound.so -> libasound.so.2.0.0)

app-emulation/emul-linux-x86-soundlibs-20080418 (/usr/lib32/libasound.so -> libasound.so.2.0.0)

```

Noch gebe ich die Hoffnung nicht auf. Ich frage mich nur, was die Fehlermeldung bedeutet.

```
~ # skype

/usr/bin/skype: line 10: /opt/skype/skype: Datei oder Verzeichnis nicht gefunden

/usr/bin/skype: line 10: /opt/skype/skype: Erfolg 
```

In /usr/bin/skype habe ich mir mal die Zeile 10 angesehen. 

```
#!/bin/sh

cd "/opt/skype"

if [ -n "/opt/skype" ] ; then

   if [ "${LD_LIBRARY_PATH+set}" = "set" ] ; then

      export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/skype"

   else

      export LD_LIBRARY_PATH="/opt/skype"

   fi

fi

exec /opt/skype/skype "$@"
```

Was soll denn da falsch sein?

Zum Thema nach Skype zuschreiben: 

Die haben es jahrelang nicht geschafft, eine 64 Bit Version raus zubringen, da werden die bestimmt nicht auf meine Bitte warten.

----------

## Melekh

Hallo,

um unter einem 64Bit System 32Bit Applikationen ausführen zu können musst du im Kernel die 32Bit Emulation aktivieren. Ich glaube wenn dies nicht aktiviert ist kommt deine Fehlermeldung.

Zufinden ist diese Option unter:

```
Executables file formats / Emulations --->

    [x]IA32 Emulation

    [x]    IA32 a.out support
```

Mit freundlichen Grüßen

Melekh

----------

## lituxer

Danke Melekh, 

aber das habe ich schon zuerst kontrolliert. Ist alles aktiviert.

Ich werde mich wohl damit abfinden müssen. das es nicht funktioniert.

Es gibt ja noch eine andere Möglichkeit, indem ich die VBox installiere.

Dann irgendeine Distri daruf, wo Skype läuft und gut ist. Hoffe ich zu mindestens. 

Oder funktioniert Skype in der VBox auch nicht? 

Vielleicht kann mir ja jemand darüber Auskunft geben, bevor ich mir die ganze Arbeit umsonst mache.

----------

## Melekh

Hallo,

vermutlich benötigst du auch eine glibc mit aktiviertem multilib useflag. Was bei deinem noMultilib system wohl nicht so einfach sein wird.

Mit freundlichen Grüßen

Melekh

----------

## lituxer

 *Melekh wrote:*   

> vermutlich benötigst du auch eine glibc mit aktiviertem multilib useflag. Was bei deinem noMultilib system wohl nicht so einfach sein wird.

 

Das vermute ich auch stark.  Und gerade das ist das Problem. Man kann von nomultilib nicht mehr auf multilib zurückwechseln.

Dieses Spielchen habe ich schon hinter mir. Ich werde das deshalb nicht tun bzw. versuchen, weil ich keinen Bock habe das ganze System wieder neu aufzusetzen.

Falls Skype in der VBox läuft und funktioniert, werde ich diese Variante vorziehen.

Ansonsten betrachte ich mal das ganze als erledigt an. Wenn auch nicht zu meiner Zufriedenheit  :Crying or Very sad: 

----------

