# amarok2 amd64

## flammenflitzer

Hallo

Ich habe versucht amarok2 auf amd64 zu installieren. Habe extra dafür auf mysql-community umgestellt.

```

[ 46%] Building CXX object src/scriptengine/generator/generator/CMakeFiles/qtscript_gui.dir/generated_cpp/com_trolltech_qt_gui/qtscriptshell_QTextCodecPlugin.o                                 

/var/tmp/portage/media-sound/amarok-2.0.1.1/work/amarok_build/src/scriptengine/generator/generator/generated_cpp/com_trolltech_qt_gui/qtscriptshell_QTextCodecPlugin.cpp:22: Fehler: Redefinition von »struct QMetaTypeId<QList<int> >«                                                         

/var/tmp/portage/media-sound/amarok-2.0.1.1/work/amarok_build/src/scriptengine/generator/generator/generated_cpp/com_trolltech_qt_gui/qtscriptshell_QTextCodecPlugin.cpp:18: Fehler: vorherige Definition von »struct QMetaTypeId<QList<int> >«                                                 

make[2]: *** [src/scriptengine/generator/generator/CMakeFiles/qtscript_gui.dir/generated_cpp/com_trolltech_qt_gui/qtscriptshell_QTextCodecPlugin.o] Fehler 1                                    

make[1]: *** [src/scriptengine/generator/generator/CMakeFiles/qtscript_gui.dir/all] Fehler 2    

make: *** [all] Fehler 2                                                                        

 *                                                                                              

 * ERROR: media-sound/amarok-2.0.1.1 failed.                                                    

 * Call stack:                                                                                  

 *               ebuild.sh, line   49:  Called src_compile                                      

 *             environment, line 3175:  Called kde4-base_src_compile                            

 *             environment, line 2357:  Called kde4-base_src_make                               

 *             environment, line 2409:  Called cmake-utils_src_make                             

 *             environment, line  862:  Called die                                              

 * The specific snippet of code:                                                                

 *           emake "$@" || die "Make failed!";                                                  

 *  The die message:                                                                            

 *   Make failed!                                                                               

 *                                                                                              

 * If you need support, post the topmost build error, and the call stack if relevant.           

 * A complete build log is located at '/var/tmp/portage/media-sound/amarok-2.0.1.1/temp/build.log'.                                                                                             

 * The ebuild environment file is located at '/var/tmp/portage/media-sound/amarok-2.0.1.1/temp/environment'.                                                                                    

 * This ebuild is from an overlay: '/usr/local/overlays/local/'                                 

 *                                                                                              

>>> Failed to emerge media-sound/amarok-2.0.1.1, Log file:

>>>  '/var/tmp/portage/media-sound/amarok-2.0.1.1/temp/build.log'

 * Messages for package media-sound/amarok-2.0.1.1:

 * 

 * Compilation will fail if dev-db/mysql[-community] is built without -fPIC in your CFLAGS!

 * Related bug: http://bugs.gentoo.org/show_bug.cgi?id=238487                              

 *                                                                                         

 * To fix this, and to avoid using -fPIC globally in your make.conf     (which is not recommended),                                                                                             

 * put the following into /etc/portage/env/dev-db/mysql (or     mysql-community, depending on which you use;                                                                                    

 * create dirs and the file if they don't exist):                                               

 *                                                                                              

 * CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer -DPIC -fPIC"                            

 * CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer -DPIC -fPIC"                          

 *                                                                                              

 *                                                                                              

 * ERROR: media-sound/amarok-2.0.1.1 failed.                                                    

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3175:  Called kde4-base_src_compile

 *             environment, line 2357:  Called kde4-base_src_make

 *             environment, line 2409:  Called cmake-utils_src_make

 *             environment, line  862:  Called die

 * The specific snippet of code:

 *           emake "$@" || die "Make failed!";

 *  The die message:

 *   Make failed!

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/media-sound/amarok-2.0.1.1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/media-sound/amarok-2.0.1.1/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/overlays/local/'
```

```
-fPIC globally in your make.conf
```

 Ich dachte, das umgehe ich, wenn ich auf mysql-community umsteige.

----------

## sirro

Da steht ja auch extra:

 *Quote:*   

> Compilation will fail if dev-db/mysql[-community] is built without -fPIC in your CFLAGS!

 

Gilt also fuer beide. Hab auch bisher noch nirgends gelesen, dass es mit community gehen soll und mit !community nicht. Oder wo steht das?

Warum nicht "einfach" den fix aus der Fehlermeldung benutzen? Spricht da was gegen? Bei mir hat das geholfen und läuft jetzt wunderbar.

----------

## flammenflitzer

Möglicherweise ist der Fehler in dev-db/mysql-5.0.76 behoben. Wenn nicht mache ich es wie beschrieben. MfG

----------

## Josef.95

Schau mal hier http://www.gentooforum.de/post/116777/amarok-1-4.html#post116777

ich fasse es hier noch mal kurz zusammen

Zunächst "mysql-community" Maskieren (in die package.mask.)

Wenn ein Stable gentoo verwendet wird, alles benötigte demaskieren, sprich in die package.keywords eintragen was zu Installation von amarok:2 notwendig ist.

Letztendlich lässt sich Amarok:2 dann mit einen kleinen Trick, (veränderten CFLAGS) mergen 

```
 # ( source /etc/make.conf && CFLAGS="${CFLAGS} -DPIC -fPIC" CXXFLAGS="${CXXFLAGS} -DPIC -fPIC" emerge -1 dev-db/mysql ) && emerge media-sound/amarok && emerge -1 dev-db/mysql
```

Dieser Befehl mergt "dev-db/mysql" und "media-sound/amarok" mit CFLAGS , mit denen eine Installation von amarok:2 auf amd64 möglich ist, und mergt "dev-db/mysql" dann nochmals --oneshot mit deinen "normalen" CLAGS

Dir sollte klar sein das dies ein experimentelles/unsupportet vorgehen ist, also KEINE GARATIE!

Läuft aber prima  :Very Happy: 

MfG

----------

## Alanceil

Waers da nicht sinnvoller /etc/portage/env/dev-db/mysql , respektive mysql-community zu benutzen ? Der Einmalmerge hilft beim naechsten Update von Amarok ja auch nicht weiter.

```
alanceil@kvirasim:23:06:0:/etc/portage/env/dev-db> cat mysql

CFLAGS="${CFLAGS} -DPIC -fPIC"

CXXFLAGS="${CXXFLAGS} -DPIC -fPIC"
```

----------

## sirro

 *Alanceil wrote:*   

> Waers da nicht sinnvoller /etc/portage/env/dev-db/mysql

 

Auf jeden Fall. Steht ja auch so in der Fehlermeldung oben drin und sollte demnach die offizielle (und vermeindlich beste) Loesung sein.

 *Quote:*   

> [...]
> 
> * put the following into /etc/portage/env/dev-db/mysql (or     mysql-community, depending on which you use;                                                                                    
> 
>  * create dirs and the file if they don't exist):                                                
> ...

 

Ist zwar auch nicht schoen, dass das noetig ist. Aber um laengen besser als der Einzeiler von oben an den man dann bei jedem mysql-update denken muss.

----------

## Alanceil

 *sirro wrote:*   

> Auf jeden Fall. Steht ja auch so in der Fehlermeldung oben drin.

 

Whups, ueberlesen, sorry.

Und ne bessere Loesung ist mir leider auch nicht bekannt, ausser dass die Amarok Entwickler ihren Code umschreiben.  :Neutral: 

----------

## dp20eic

Hi @All,

 *flammenflitzer wrote:*   

> Hallo
> 
> Ich habe versucht amarok2 auf amd64 zu installieren. Habe extra dafür auf mysql-community umgestellt.
> 
> [code]
> ...

 

Ich bin mir nicht sicher, aber das sieht mir nach einem anderen Fehler aus.

Ich hatte auch das Probleme amarok-2.0.1.1 zu bauen, weil bei mir seit geraumer Zeit "x11-libs/qt-xx-4.5.0_rc1" installiert ist.

@flammenflitzer

Wenn bei Dir auch qt-xx-4.5.0_rc1 installiert ist, dann schau mal bei "https://bugs.gentoo.org/" vorbei.

Da gibt es ein patch und ein angepasstes ebuild.

Ich habe dann das ebuild noch angepasst, da mir sonst eine ältere Version von soprano installiert worden wäre.

 *Quote:*   

> [code]
> 
> ...
> 
>    semantic-desktop? ( ||
> ...

 

By

----------

## xraver

Es gibt IMHO qt-4.5 patch für Amaroke. Damit ging es dann bei mir.

----------

