# [RISOLTO] Errore installazione Esperanza senza speranza :P

## Maialovic

salve ragassuoli.......

oggi ho voluto farmi un pò di male.......o meglio gentoo mi ha voluto far male

ieri ho sync-ato e ho aggiornato i pacchetti che mi diceva portage....tra i quali ffmpeg. dopo di ciò (visto che ho portage-2.2-r17-pre-alfa-beta-gamma-yota-lambda) mi dice che ci sono dei preserved-libs.

Gliele faccio ricompilare tranquillamente, e tra i vari programmini da ricompilare vi era pure xmms2-0.4-r1 (installato da repository esterno), il quale pero con il nuovo ffmpeg non voleva ricompilarsi.

Visto che sapevo che c'era una nuova versione di xmms2 (la 0.5) ho creato ad hoc un ebuild per la sua installazione, la quale procede tranquillamente.

Il problema ora e' Esperanza il quale compila tranquillamente fino alla fine però ritornandomi questo : 

```

/usr/include/boost/function/function_template.hpp: In static member function âstatic R boost::detail::function::function_obj_invoker1<FunctionObj, R, T0>::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&]â:

/usr/include/boost/function/function_template.hpp:787:   instantiated from âvoid boost::function1<R, T0, Allocator>::assign_to(const Functor&) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/function/function_template.hpp:624:   instantiated from âboost::function1<R, T0, Allocator>::function1(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/function/function_template.hpp:886:   instantiated from âboost::function<R ()(T0), Allocator>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/signals/slot.hpp:111:   instantiated from âboost::slot<SlotFunction>::slot(const F&) [with F = boost::function<bool ()(const unsigned int&), std::allocator<void> >, SlotFunction = boost::function<bool ()(const Xmms::Dict&), std::allocator<void> >]â

playlistmodel.cpp:89:   instantiated from here

/usr/include/boost/function/function_template.hpp:137: error: no match for call to â(boost::function<bool ()(const unsigned int&), std::allocator<void> >) (const Xmms::Dict&)â

/usr/include/boost/function/function_template.hpp:819: note: candidates are: typename boost::function1<R, T0, Allocator>::result_type boost::function1<R, T0, Allocator>::operator()(T0) const [with R = bool, T0 = const unsigned int&, Allocator = std::allocator<void>]

gmake[2]: *** [playlistmodel.o] Error 1

gmake[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/lib'

gmake[1]: *** [sub-lib-make_default-ordered] Error 2

gmake[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src'

gmake: *** [sub-src-make_default-ordered] Error 2

/var/tmp/portage/media-sound/esperanza-0.4.0/temp/environment: line 2347: die make failed: command not found

>>> Source compiled.

>>> Test phase [not enabled]: media-sound/esperanza-0.4.0

>>> Install esperanza-0.4.0 into /var/tmp/portage/media-sound/esperanza-0.4.0/image/ category media-sound

cd data/ && make -f Makefile install

make[1]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/data'

make[1]: Nothing to be done for `install'.

make[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/data'

cd src/ && make -f Makefile install

make[1]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src'

cd tools/ && make -f Makefile install

make[2]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools'

cd globalshortcut/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools/globalshortcut'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools/globalshortcut'

cd grepshortcutkeydlg/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools/grepshortcutkeydlg'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools/grepshortcutkeydlg'

make[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/tools'

cd dialogs/ && make -f Makefile install

make[2]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs'

cd medialibdialog/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/medialibdialog'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/medialibdialog'

cd aboutdialog/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/aboutdialog'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/aboutdialog'

cd lastfm/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/lastfm'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/lastfm'

cd streamingdialog/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/streamingdialog'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/streamingdialog'

cd firsttimewizard/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/firsttimewizard'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/firsttimewizard'

cd preferencesdialog/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/preferencesdialog'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/preferencesdialog'

cd xmms2dpreferences/ && make -f Makefile install

make[3]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/xmms2dpreferences'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs/xmms2dpreferences'

make[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/dialogs'

cd lib/ && make -f Makefile install

make[2]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/lib'

make[2]: Nothing to be done for `install'.

make[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/lib'

cd ui/ && /usr/bin/qmake ui.pro -unix -o Makefile

cd ui/ && make -f Makefile install

make[2]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/ui'

make[2]: *** No rule to make target `../lib/liblib.a', needed by `esperanza'.  Stop.

make[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/ui'

make[1]: *** [sub-ui-install_subtargets-ordered] Error 2

make[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src'

make: *** [sub-src-install_subtargets-ordered] Error 2

 *

 * ERROR: media-sound/esperanza-0.4.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_install

 *             environment, line 2351:  Called die

 * The specific snippet of code:

 *       make INSTALL_ROOT="${D}" install || die;

 *  The die message:

 *   (no error message)

 *

 * 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/esperanza-0.4.0/temp/build.log'.

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

 * This ebuild is from an overlay: '/usr/local/portage/layman/pro-audio/'

 *

 * QA Notice: command not found:

 *

 *      /var/tmp/portage/media-sound/esperanza-0.4.0/temp/environment: line 2347: die make failed: command not found

>>> Failed to emerge media-sound/esperanza-0.4.0, Log file:

>>>  '/var/tmp/portage/media-sound/esperanza-0.4.0/temp/build.log'

 * Messages for package media-sound/esperanza-0.4.0:

 *

 * ERROR: media-sound/esperanza-0.4.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_install

 *             environment, line 2351:  Called die

 * The specific snippet of code:

 *       make INSTALL_ROOT="${D}" install || die;

 *  The die message:

 *   (no error message)

 *

 * 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/esperanza-0.4.0/temp/build.log'.

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

 * This ebuild is from an overlay: '/usr/local/portage/layman/pro-audio/'

```

che dite che possa essere l'errore? onestamente non saprei cosa fareLast edited by Maialovic on Wed Dec 17, 2008 11:41 pm; edited 1 time in total

----------

## djinnZ

```
gmake[2]: *** [playlistmodel.o] Error 1

gmake[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/lib'

gmake[1]: *** [sub-lib-make_default-ordered] Error 2

gmake[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src'

gmake: *** [sub-src-make_default-ordered] Error 2

/var/tmp/portage/media-sound/esperanza-0.4.0/temp/environment: line 2347: die make failed: command not found

>>> Source compiled.
```

```
make[2]: Entering directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/ui'

make[2]: *** No rule to make target `../lib/liblib.a', needed by `esperanza'.  Stop.

make[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src/ui'

make[1]: *** [sub-ui-install_subtargets-ordered] Error 2

make[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0/work/esperanza-0.4.0/src'

make: *** [sub-src-install_subtargets-ordered] Error 2  
```

L'errore è che la compilazione viene interrotta ma la cosa non è rilevata o gestita dall'ebuild. Non conosco esperanza ma se è in portage apri un bug direttamente, se viene da qualche overlay sarà probabilmente un vecchio ebuild al quale è stato aggiornato solo il numero di versione senza verificare che le istruzioni in src_compile siano coerenti, ovvero scritto "a 'o capo r'o ...".

----------

## Maialovic

allora.........credo che dipenda da xmms2 credo.....

mi spiego meglio........

allora fa parte di un overlay ( pro-audio ) e quando a suo tempo lo avevo installato Esperanza ovviamente mi aveva installato come dipendenza xmms2-0.4

poichè per il problema che avevo detto alll'inizio, ho aggiornato xmms2 alla versione 0.5 (ebuild della 0.4 adattata alla 0.5 da me) visto che la 0.4 con l'aggiornamento di ffmpeg non voleva compilarsi.

Ed ora onestamente, senza modificare  l'ebuild di esperanza (non credo che ci sia motivo) non vuole (come vedete) installarlo....

cioe cosa voglio dire: che la versione di Esperanza e' sempre la stessa da ormai penso almeno 4-6 mesi.......e non credo che sia stato modificato l'ebuild....l'unica cosa che IO ho cambiato e' di creare l'ebuild per il nuovo xmms2

----------

## Maialovic

posto un po di info....cosi magari si "potrebbe collaborare" per giungere alla soluzione.Allora ciò che mi salta all'occhio sono :

1) quando mi dice * QA Notice: command not found:

 *

 *      /var/tmp/portage/media-sound/esperanza-0.4.0/temp/environment: line 2347: die make failed: command not found dal file environment trovo

```
src_compile () 

{ 

    local which_xmms2="xmms2";

    has_version media-sound/xmms2 2> /dev/null || which_xmms2="xmms2-git";

    if ! built_with_use media-sound/${which_xmms2} cpp; then

        eerror "You didn't build xmms2 with the cpp USE-flag";

        die;

    fi;

    ./configure --prefix=/usr || die "Configure failed";

    gmake || "die make failed"             <<<----------------------------------     linea incriminata

}

```

non so se debba essere scritto tutto tra virgolette oppure die "make failed" (considerando che NON SO COME SI SCRIVONO GLI EBUILD)

poi leggo 

```
* ERROR: media-sound/esperanza-0.4.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_install

 *             environment, line 2351:  Called die

 * The specific snippet of code:

 *       make INSTALL_ROOT="${D}" install || die;

 *  The die message:

 *   (no error message)

```

che penso sia preso dall'ebuild e ora ve lo ricopio : 

```
# Copyright 1999-2008 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $

# Nonofficial ebuild by dangertools

EAPI=1

inherit eutils toolchain-funcs flag-o-matic

DESCRIPTION="Esperanza - a QT4 client for xmms2."

HOMEPAGE="http://xmms2.xmms.org"

SRC_URI="http://exodus.xmms.se/~tru/esperanza/0.4/esperanza-${PV}.tar.gz"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~x86 ~amd64 ~sparc"

IUSE=""

RESTRICT="nomirror"

RDEPEND="|| (

      >=media-sound/xmms2-0.2.8_rc2

      media-sound/xmms2-git )

   >=dev-libs/boost-1.32

   || ( ( x11-libs/qt-core x11-libs/qt-gui x11-libs/qt-xmlpatterns )

      >=x11-libs/qt-4:4 )"

DEPEND=">=sys-devel/gcc-3.4

   !media-sound/esperanza-git

   ${RDEPEND}"

src_compile() {

   local which_xmms2="xmms2"

   has_version media-sound/xmms2 2> /dev/null || which_xmms2="xmms2-git"

   if ! built_with_use media-sound/${which_xmms2} cpp ; then

      eerror "You didn't build xmms2 with the cpp USE-flag"

      die

   fi

   # econf and emake might not work..

   ./configure --prefix=/usr || die "Configure failed"

   gmake || "die make failed"

}

src_install() {

   make INSTALL_ROOT="${D}" install || die

   dodoc COPYING

   doicon data/images/esperanza.png

   make_desktop_entry ${PN} "Esperanza" ${PN} "Qt4;AudioVideo;Player"

}

```

 e cosa è che noto? che il famiggerato INSTALL_ROOT="${D}" non viene inizializzato/assegnato ad un valore in nessun punto dell'ebuild....sarà forse perche non so bene come funzionano gli ebuild ma mi pare strana questa cosa......voi cosa dite?

----------

## djinnZ

Si devi spostare le virgolette. Quello è l'errore dell'ebuild. La sintassi è die "messaggio/perchè"

Quanto al make INSTALL_ROOT=... va bene così, se non erro dovrebbe essere inizializzato direttamente al valore ambiente di ROOT.

Il fatto che si blocchi nell'installazione dipende dal fatto che tenti di installare un pacchetto la cui compilazione non è stata terminata.

Molto a naso credo che dipenda dalla versone specifica di boost o xmms-git (forse dovresti provare a forzargi una qualche versione più datata) troppo recente, però sto tirando ad indovinare visto che non ho neppure idea di cosa faccia esperanza.

----------

## Maialovic

ora giustamente mi risponde 

```
g++ -c -pipe -march=pentium-m -pipe -O2 -fno-strict-aliasing -fPIC -Wall -W -Wno-unused-parameter -D_REENTRANT -D_DEBUG -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../ui -I. -I../dialogs -I../tools -I/usr/include/xmms2 -I. -I. -o playlistmodel.o playlistmodel.cpp

/usr/include/boost/function/function_template.hpp: In static member function âstatic R boost::detail::function::function_obj_invoker1<FunctionObj, R, T0>::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&]â:

/usr/include/boost/function/function_template.hpp:787:   instantiated from âvoid boost::function1<R, T0, Allocator>::assign_to(const Functor&) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/function/function_template.hpp:624:   instantiated from âboost::function1<R, T0, Allocator>::function1(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/function/function_template.hpp:886:   instantiated from âboost::function<R ()(T0), Allocator>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::function<bool ()(const unsigned int&), std::allocator<void> >, R = bool, T0 = const Xmms::Dict&, Allocator = std::allocator<void>]â

/usr/include/boost/signals/slot.hpp:111:   instantiated from âboost::slot<SlotFunction>::slot(const F&) [with F = boost::function<bool ()(const unsigned int&), std::allocator<void> >, SlotFunction = boost::function<bool ()(const Xmms::Dict&), std::allocator<void> >]â

playlistmodel.cpp:89:   instantiated from here

/usr/include/boost/function/function_template.hpp:137: error: no match for call to â(boost::function<bool ()(const unsigned int&), std::allocator<void> >) (const Xmms::Dict&)â

/usr/include/boost/function/function_template.hpp:819: note: candidates are: typename boost::function1<R, T0, Allocator>::result_type boost::function1<R, T0, Allocator>::operator()(T0) const [with R = bool, T0 = const unsigned int&, Allocator = std::allocator<void>]

gmake[2]: *** [playlistmodel.o] Error 1

gmake[2]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0-r1/work/esperanza-0.4.0/src/lib'

gmake[1]: *** [sub-lib-make_default-ordered] Error 2

gmake[1]: Leaving directory `/var/tmp/portage/media-sound/esperanza-0.4.0-r1/work/esperanza-0.4.0/src'

gmake: *** [sub-src-make_default-ordered] Error 2

 *

 * ERROR: media-sound/esperanza-0.4.0-r1 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2347:  Called die

 * The specific snippet of code:

 *       gmake || 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/esperanza-0.4.0-r1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/media-sound/esperanza-0.4.0-r1/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/portage/layman/kakkio/'

 *

>>> Failed to emerge media-sound/esperanza-0.4.0-r1, Log file:

>>>  '/var/tmp/portage/media-sound/esperanza-0.4.0-r1/temp/build.log'

 * Messages for package media-sound/esperanza-0.4.0-r1:

 *

 * ERROR: media-sound/esperanza-0.4.0-r1 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2347:  Called die

 * The specific snippet of code:

 *       gmake || 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/esperanza-0.4.0-r1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/media-sound/esperanza-0.4.0-r1/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/portage/layman/kakkio/'

 *

```

l'unica cosa che mi viene in mente, anche se mi sa un po di stramba e che l'errore possa essere generato dal fatto che io possa avere installato QT-4.3.5 il quale è keyworded rispetto alle QT-4.3.3 che sono "stabili" in gentoo.

l'unica cosa che mi passa per la testa e' questa.....perche preserved-libs non ne ho, revdep-rebuild non mi da nulla in output. e boost e boost-build sono installati alle versioni stabili.

secondo voi che devo pensare di fare?

----------

## Maialovic

ho risolto nel seguente modo :

ho scaricato la git presa dal sito ufficiale di esperanza (anche se non credo che ci siano molte differenze)

ho aggiustato ebuild e lo fatto "digerire"

ho compilato e ora funziona

----------

