# [HOWTO] Install Spotify

## nekunekus

Since Spotify havn't made a release for Gentoo at this moment you can install it via a .ebuild file. This is the way I did it and it works great.

add "PORTDIR_OVERLAY="/usr/local/portage" to /etc/portage/make.conf

mkdir /usr/local/portage/media-sound/spotify

cd /usr/local/portage/media-sound/spotify

wget http://gentoo-overlays.zugaina.org/jtriley/portage/media-sound/spotify/spotify-0.8.4.103.ebuild

ebuild spotify*.ebuild digest

emerge -av media-sound/spotify

You should now have a working spotify!Last edited by nekunekus on Sun Aug 12, 2012 2:01 pm; edited 3 times in total

----------

## asturm

Next emerge --sync and the ebuild will vanish again.  :Wink: 

You should read a bit into the Gentoo Overlays: Users' Guide

If the spotify ebuild is in zugaina overlay, just add the overlay with layman and you are set.

----------

## nekunekus

 *genstorm wrote:*   

> Next emerge --sync and the ebuild will vanish again. 
> 
> You should read a bit into the Gentoo Overlays: Users' Guide
> 
> If the spotify ebuild is in zugaina overlay, just add the overlay with layman and you are set.

 

Oh, but that should not matter as you've already installed it by then. Will do, I'm pretty new to Gentoo.

----------

## asturm

That's not how it works though. A deleted ebuild means that your package is going to be removed again.

----------

## nekunekus

 *genstorm wrote:*   

> That's not how it works though. A deleted ebuild means that your package is going to be removed again.

 

Alright, I'll edit the thread when I get my head around that.

EDIT: There, should be right now.

----------

## mrpdaemon

I've packaged the GNOME integration script for Spotify (http://code.google.com/p/gnome-integration-spotify/) via the "gnome" USE flag to the spotify-0.8.4.103 ebuild. Here is the overlay in case anyone is interested:

https://github.com/mrpdaemon/gentoo-overlay

This adds cool stuff like notification displays when changing tracks, using media keys on the keyboard to control playback etc.

----------

## mstaz

The ebuild and the gnome-integration seems to be great. I will try it.

Until now I use the (modified) ebuild from AzP.

To prevent crashes of spotify under gentoo, the libqtwebkit from an ubuntu package could be used:

http://community.spotify.com/t5/Desktop-Linux/ANNOUNCE-Spotify-0-8-4-for-GNU-Linux/td-p/89245/highlight/false/page/4

Maybe this could be integrated into the ebuild. For example it could be copied to the spotify directory.

----------

## mstaz

I prefer spotify-notify (http://code.google.com/p/spotify-notify/) to spotify-dbus, because it makes media keys useable without xbindkeys.

----------

## kwispy

>>>This is my debugging attempt, but unfortunately it seems a hopeless case for my computer hardware.<<<

Still haven't got spotify to start at all.  I've tried 0.8.2.639 and the latest 0.8.4.103.  Here's what my problem is with 0.8.4.103:

```
jon@jwilly ~ $ spotify

/opt/spotify/spotify: /usr/lib/libcrypto.so.1.0.0: no version information available (required by /opt/spotify/spotify)

/opt/spotify/spotify: /usr/lib/libssl.so.1.0.0: no version information available (required by /opt/spotify/spotify)

Illegal instruction

```

Is the problem the openssl libraries, or is the problem with the last line "Illegal instruction"? (or are those the same?)

OpenSSL has two installed versions on my system:

```
jon@jwilly ~ $ eix -I openssl 

[I] dev-libs/openssl

     Available versions:  

   (0.9.8)   0.9.8u 0.9.8v 0.9.8w 0.9.8x

   (0)   1.0.0h 1.0.0i 1.0.0j ~1.0.1a ~1.0.1b ~1.0.1c

   {{bindist gmp kerberos rfc3779 sse2 static-libs test vanilla zlib}}

     Installed versions:  0.9.8x(0.9.8)(21:53:29 06/13/12)(kerberos zlib -bindist -gmp -sse2 -test) 1.0.0j(22:47:57 10/08/12)(kerberos zlib -bindist -gmp -rfc3779 -sse2 -static-libs -test)

```

The /usr/lib/ directory:

```
jon@jwilly ~ $ ls -al /usr/lib/ | grep libcrypto

lrwxrwxrwx   1 root root       18 Oct  8 22:48 libcrypto.so -> libcrypto.so.1.0.0

-rwxr-xr-x   1 root root  1361660 Jun 13 21:53 libcrypto.so.0.9.8

-r-xr-xr-x   1 root root  1471992 Oct  8 22:47 libcrypto.so.1.0.0

jon@jwilly ~ $ ls -al /usr/lib/ | grep libssl   

lrwxrwxrwx   1 root root       15 Oct  8 22:48 libssl.so -> libssl.so.1.0.0

-rwxr-xr-x   1 root root   320444 Jun 13 21:53 libssl.so.0.9.8

-r-xr-xr-x   1 root root   352184 Oct  8 22:47 libssl.so.1.0.0

lrwxrwxrwx   1 root root       13 Oct  1 21:59 libssl3.so -> libssl3.so.12

-rwxr-xr-x   1 root root   220120 Oct  1 21:59 libssl3.so.12

```

Investigate the "Illegal instruction" bit, cause I don't remember that in the earlier spotify ebuild version:

Run in gdb:

```
(gdb) file /opt/spotify/spotify

Reading symbols from /opt/spotify/spotify...(no debugging symbols found)...done.

(gdb) run

Starting program: /opt/spotify/spotify 

warning: Could not load shared library symbols for linux-gate.so.1.

Do you need "set solib-search-path" or "set sysroot"?

/opt/spotify/spotify: /usr/lib/libcrypto.so.1.0.0: no version information available (required by /opt/spotify/spotify)

/opt/spotify/spotify: /usr/lib/libssl.so.1.0.0: no version information available (required by /opt/spotify/spotify)

[Thread debugging using libthread_db enabled]

Program received signal SIGILL, Illegal instruction.

0xb324a683 in tcmalloc::SizeMap::NumMoveSize(unsigned int) () from /usr/share/spotify/libcef.so

(gdb) bt

#0  0xb324a683 in tcmalloc::SizeMap::NumMoveSize(unsigned int) ()

   from /usr/share/spotify/libcef.so

#1  0xb324accd in tcmalloc::SizeMap::Init() () from /usr/share/spotify/libcef.so

#2  0xb325a075 in tcmalloc::Static::InitStaticVars() () from /usr/share/spotify/libcef.so

#3  0xb325fbb3 in tcmalloc::ThreadCache::InitModule() () from /usr/share/spotify/libcef.so

#4  0xb419d97d in tc_malloc () from /usr/share/spotify/libcef.so

#5  0xb257d89e in ?? () from /lib/libc.so.6

#6  0xb257da98 in bindtextdomain () from /lib/libc.so.6

#7  0xb04dc847 in gpg_err_init () from /usr/lib/libgpg-error.so.0

#8  0xb04dcd40 in ?? () from /usr/lib/libgpg-error.so.0

#9  0xb04dc675 in _init () from /usr/lib/libgpg-error.so.0

#10 0xb7feedd4 in ?? () from /lib/ld-linux.so.2

#11 0xb7feef31 in ?? () from /lib/ld-linux.so.2

#12 0xb7fe092f in ?? () from /lib/ld-linux.so.2

Backtrace stopped: Not enough registers or memory available to unwind further

(gdb) 

```

Digging around a bit...

http://community.spotify.com/t5/Desktop-Linux/Spotify-crashes-with-error-Illegal-instruction-when-trying-to/td-p/56701

 *Quote:*   

> What stands out to me is that it looks like none of us have CPUs which support SSE2.  I have seen people with other software based on the chromium embedded framework (libcef) say that libcef requires SSE2, and therefore try to say that it isn't their responsibility to fix the bug, because it is in libcef, not in the software they write which uses libcef.
> 
> It would be nice if someone from spotify could confirm that this is the problem, because then we could at least file a bug report for libcef.

 

Yep, I only have a lowly Athlon XP without SSE2:

```
cat /proc/cpuinfo

processor   : 0

vendor_id   : AuthenticAMD

cpu family   : 6

model      : 10

model name   : AMD Athlon(tm) 

stepping   : 0

cpu MHz      : 2004.600

cache size   : 512 KB

fdiv_bug   : no

hlt_bug      : no

f00f_bug   : no

coma_bug   : no

fpu      : yes

fpu_exception   : yes

cpuid level   : 1

wp      : yes

[b]flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up[/b]

bogomips   : 4009.20

clflush size   : 32

cache_alignment   : 32

address sizes   : 34 bits physical, 32 bits virtual

power management: ts

```

Do I REALLY have to upgrade my old computer just to run Spotify?  This is mostly why I use Linux, cause it runs on my ancient tower!

I read on the Gentoo bugs for spotify that there was talk of not using the bundled libcef (chromium embedded framework) and instead using a native cef build: https://bugs.gentoo.org/show_bug.cgi?id=373093#c53

Is there an older ebuild that is known to work with non-SSE2 processors?

PS: Two posts I'll be watching for news:

http://community.spotify.com/t5/Desktop-Linux/Spotify-crashes-with-error-Illegal-instruction-when-trying-to/m-p/56701/highlight/true#M550

http://community.spotify.com/t5/Desktop-Linux/newest-spotify-crash-for-start-to-invalid-instruction/m-p/62605/highlight/true#M612

----------

## andip

http://gpo.zugaina.org/data/jtriley/media-sound/spotify/spotify-0.8.4.103.ebuild

New ebuild-url. Thanks for the howto

----------

## fbeans

I'm having the same issues as kwipsy, apart from my processor does support sse2. Spotify was working fine until I killed my overlay and went with the one in the main repos. Now nothing works :/ Any ideas?

----------

