# [Risolto]Installare da sorgenti

## antonellocaroli

Ciao a tutti, 

mi sono avvicinato a Gentoo da pochissimo.

Dovrei installare un Software da sorgente. Mi sembra di aver capito che per usare emerge in questo caso avrei bisogno di un ebuild, che per quasto Software esiste

http://gpo.zugaina.org/media-sound/squeezelite

Ma non ho la piú pallida idea di come Procedere.

GrazieLast edited by antonellocaroli on Tue Aug 30, 2016 5:18 pm; edited 1 time in total

----------

## fedeliallalinea

Per prima cosa benvenuto.

Per installarlo basta che configuri layman così da potere aggiungere l'overlay (in questo caso o lmiphay o squeezebox) che contanga l'ebuild che hai bisogno, per poi installarlo con emerge.

Gli overlay sono repository contenenti programmi non supportati ancora ufficialmente da gentoo (il portage tree puoi vederlo come overlay ufficiale) e mantenuti o da utenti normali (anhe tu ne potresti farne uno volendo) o a volte anche dai sviluppatori (puoi vedere la lista qua).

----------

## antonellocaroli

Grazie per il benvenuto!! e grazie per il consiglio, che ha funzionato

```
>>> Install squeezelite-1.8.4.743-r1 into /var/tmp/portage/media-sound/squeezelite-1.8.4.743-r1/image/ category media-sound

>>> Completed installing squeezelite-1.8.4.743-r1 into /var/tmp/portage/media-sound/squeezelite-1.8.4.743-r1/image/

 * Final size of build directory: 1124 KiB

 * Final size of installed tree: 184 KiB

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version

   usr/bin/squeezelite

ecompressdir: bzip2 -9 /usr/share/doc

>>> Installing (2 of 2) media-sound/squeezelite-1.8.4.743-r1::lmiphay

 * If you want start Squeezelite automatically on system boot:

 *   rc-update add squeezelite default

 * Edit /etc/cond.d/squeezelite to customise -- in particular

 * you may want to set the audio device to be used.

>>> Recording media-sound/squeezelite in "world" favorites file...

 * Messages for package media-sound/squeezelite-1.8.4.743-r1:

 * If you want start Squeezelite automatically on system boot:

 *   rc-update add squeezelite default

 * Edit /etc/cond.d/squeezelite to customise -- in particular

 * you may want to set the audio device to be used.

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

```

ma in effetti non é la versione di questo software che mi interessa...mi servirebbe un´altra versione di cui ci sono i sorgenti.

Come potrei compilarli con emerge? potrei usare anche la stessa ebuild credo...

potrei usare questo suggerimento (da un altro tread) che mi é capitato sottocchio

 *ProT-0-TypE wrote:*   

> per usare ebuild che non sono presenti nel portage puoi fare così: 
> 
> crei una directory per il tuo portage overlay, es:
> 
> ```
> ...

 

ma poi dove dovrei mettere il file tar.gz  dei sorgenti che mi interessano?

scusa la mia ignoranza

----------

## fedeliallalinea

Per creare un obverlay locale ti consiglio di usare la guida ufficiale (qui) che almeno sei sicuro che è aggiornata. 

Poi puoi copiare l'ebuild sotto /usr/local/portage/media-sound/squeezelite e rinominarlo con la versione che ti serve (squeezelite-1.x.ebuild) e copiare il file dei sorgenti in /usr/portage/distfiles.

----------

## antonellocaroli

Grazie mille per l´aiuto....ma temo (a meno di mei sbagli) che la stessa ebuild non vada bene

```
gentooplay squeezelite # emerge --ask --verbose --oneshot app-dicts/squeezelite

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

Calculating dependencies... done!

[ebuild  N    ~] app-dicts/squeezelite-1.8.5::squeezelite  USE="aac dsd ffmpeg flac mad mpg123 vorbis -pulseaudio -resample -visexport" 0 KiB

Total: 1 package (1 new), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] y

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-dicts/squeezelite-1.8.5::squeezelite

>>> Unpacking source...

 * Fetching https://github.com/ralph-irving/squeezelite.git ...

git fetch https://github.com/ralph-irving/squeezelite.git +HEAD:refs/git-r3/HEAD

git update-ref --no-deref refs/git-r3/app-dicts/squeezelite/0/__main__ e37ed17fed9e11a7346cbe9f1e1deeccc051f42e

 * Checking out https://github.com/ralph-irving/squeezelite.git to /var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5 ...

git checkout --quiet e37ed17fed9e11a7346cbe9f1e1deeccc051f42e

GIT update -->

   repository:               https://github.com/ralph-irving/squeezelite.git

   at the commit:            e37ed17fed9e11a7346cbe9f1e1deeccc051f42e

>>> Source unpacked in /var/tmp/portage/app-dicts/squeezelite-1.8.5/work

>>> Preparing source in /var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5 ...

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 *

 *   /usr/local/portage/app-dicts/squeezelite/files/squeezelite-1.8.5-gentoo-makefile.patch

 *   ( squeezelite-1.8.5-gentoo-makefile.patch )

 * ERROR: app-dicts/squeezelite-1.8.5::squeezelite failed (prepare phase):

 *   Cannot find $EPATCH_SOURCE!

 *

 * Call stack:

 *     ebuild.sh, line  133:  Called src_prepare

 *   environment, line 3307:  Called epatch '/usr/local/portage/app-dicts/squeezelite/files/squeezelite-1.8.5-gentoo-makefile.patch'

 *   environment, line 1340:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 *

 * If you need support, post the output of `emerge --info '=app-dicts/squeezelite-1.8.5::squeezelite'`,

 * the complete build log and the output of `emerge -pqv '=app-dicts/squeezelite-1.8.5::squeezelite'`.

 * The complete build log is located at '/var/tmp/portage/app-dicts/squeezelite-1.8.5/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/app-dicts/squeezelite-1.8.5/temp/environment'.

 * Working directory: '/var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5'

 * S: '/var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5'

>>> Failed to emerge app-dicts/squeezelite-1.8.5, Log file:

>>>  '/var/tmp/portage/app-dicts/squeezelite-1.8.5/temp/build.log'

 * Messages for package app-dicts/squeezelite-1.8.5:

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 *

 *   /usr/local/portage/app-dicts/squeezelite/files/squeezelite-1.8.5-gentoo-makefile.patch

 *   ( squeezelite-1.8.5-gentoo-makefile.patch )

 * ERROR: app-dicts/squeezelite-1.8.5::squeezelite failed (prepare phase):

 *   Cannot find $EPATCH_SOURCE!

 *

 * Call stack:

 *     ebuild.sh, line  133:  Called src_prepare

 *   environment, line 3307:  Called epatch '/usr/local/portage/app-dicts/squeezelite/files/squeezelite-1.8.5-gentoo-makefile.patch'

 *   environment, line 1340:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 *

 * If you need support, post the output of `emerge --info '=app-dicts/squeezelite-1.8.5::squeezelite'`,

 * the complete build log and the output of `emerge -pqv '=app-dicts/squeezelite-1.8.5::squeezelite'`.

 * The complete build log is located at '/var/tmp/portage/app-dicts/squeezelite-1.8.5/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/app-dicts/squeezelite-1.8.5/temp/environment'.

 * Working directory: '/var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5'

 * S: '/var/tmp/portage/app-dicts/squeezelite-1.8.5/work/squeezelite-1.8.5'

```

----------

## fedeliallalinea

Dove posso trovare i sorgenti di quella versione che almeno posso fare delle prove?

----------

## antonellocaroli

 *fedeliallalinea wrote:*   

> Dove posso trovare i sorgenti di quella versione che almeno posso fare delle prove?

 

https://github.com/marcoc1712/squeezelite-R2/releases/

Source code (tar.gz)

[url]https://github.com/marcoc1712/squeezelite-R2/archive/v1.8.3-(R2).tar.gz[/url]

io poi le ho rinominate (squeezelite-1.8.5) per una serie di problemi con il nome....

----------

## fedeliallalinea

Allora ho creato l'ebuild con i file relativi per la versione che mi hai linkato e la trovi qui.

Scompatta il pacchetto e copialo sotto il tuo overlay local e poi installa

```
# cp -r squeezelite-R2 /usr/local/portage/media-sound/

# emerge squeezelite-R2
```

Nessuna garanzia che funzioni   :Very Happy: 

----------

## antonellocaroli

 *fedeliallalinea wrote:*   

> Allora ho creato l'ebuild con i file relativi per la versione che mi hai linkato e la trovi qui.
> 
> Scompatta il pacchetto e copialo sotto il tuo overlay local e poi installa
> 
> ```
> ...

 

Grazie Mille!!!   :Embarassed: 

Stasera Provo...ti faccio sapere.   :Very Happy: 

PS: ho visto che dentro c´é anche il manifesto...quindi non lo devo creare.

----------

## fedeliallalinea

 *antonellocaroli wrote:*   

> Stasera Provo...ti faccio sapere.  

 

Parti dal fatto che non ho la più pallida idea di cosa faccia questo software; io ho solo adattato l'ebuild esistente per questa versione (che mi pare è anche mantenuta da un'altra persona se non sbaglio)

 *antonellocaroli wrote:*   

> PS: ho visto che dentro c´é anche il manifesto...quindi non lo devo creare.

 

Esatto ma se ti da qualche problema con il checksum ricrealo

----------

## antonellocaroli

 *fedeliallalinea wrote:*   

>  *antonellocaroli wrote:*   Stasera Provo...ti faccio sapere.   
> 
> Parti dal fatto che non ho la più pallida idea di cosa faccia questo software; io ho solo adattato l'ebuild esistente per questa versione (che mi pare è anche mantenuta da un'altra persona se non sbaglio)
> 
> 

 

Che dire....Grazie mille!!! ha funzionato perfettamente!!!   :Shocked: 

----------

## fedeliallalinea

 *antonellocaroli wrote:*   

> Che dire....Grazie mille!!! ha funzionato perfettamente!!!  

 

Ottimo! 

Di solito quando si risolve un problema c'è la convenzione di aggiungere [Risolto] al titolo, che puoi fare editando il primo post e aggiungere il tag al titolo  :Very Happy: 

----------

## antonellocaroli

 *fedeliallalinea wrote:*   

> 
> 
> Di solito quando si risolve un problema c'è la convenzione di aggiungere [Risolto] al titolo, che puoi fare editando il primo post e aggiungere il tag al titolo 

 

Fatto! grazie di nuovo!   :Wink: 

----------

## antonellocaroli

Ciao, sono tornato...

allora aveva funzionato tutto bene su una macchina. (dove avevo fatto l´installazione anche dell´altro sorgente e disinstallato)

ma su un´altra  installazione "vergine" va tutto bene...installazione a buon fine...il binario funziona...

ma se do /etc/init.d/squeezelite-R2 restart  mi da questo errore:

 * Caching service dependencies ...                                                                                                                                                                                                    [ ok ]

 * Stopping squeezelite-R2 ...

 * start-stop-daemon: no matching processes found                                                                                                                                                                                      [ ok ]

 * checkpath: owner `squeezelite:squeezelite' not found

 * ERROR: squeezelite-R2 failed to start

presumo sia qualche problema con l´utente squeezelite...

editando il file /etc/init.d/squeezelite-R2  e sostituendo a squeezelite:squeezelite > root:root

funziona...

----------

## fedeliallalinea

Si mettendo root:root funziona ma probabilmente non è una buona soluzione.

Ho corretto l'ebuild in modo che non dia più quell'errore, spero   :Razz:   (lo trovi qui).

----------

## antonellocaroli

 *fedeliallalinea wrote:*   

> Si mettendo root:root funziona ma probabilmente non è una buona soluzione.]).

 

si, lo pensavo anche io...

 *fedeliallalinea wrote:*   

> Ho corretto l'ebuild in modo che non dia più quell'errore, spero    (lo trovi qui).

 

Grazie ancora!!! gentilissimo!!!

saró qualche giorno in vacanza...appena torno la Provo e ti faccio sapere.   :Very Happy: 

----------

## antonellocaroli

Di nuovo Grazie!!!

tutto perfetto!!!

----------

