È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
gian_d
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mer lug 16, 2014 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 4.19.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Messaggioda gian_d » lun apr 29, 2019 1:13

Ieri ho installato vlc (3.0.6) sulla current. ovviamente dopo aver installato tutte le dipendenze richieste dagli slackbuild (più diverse dipendenze opzionali). Le sole eccezioni riguardavano chromaprint e libbonobo, che a causa di errori di compilazione che non riuscivo a risolvere ho installato usando due pacchetti trovati nei repository per la current.
Vlc si avviava regolarmente, però per alcuni file AVI avvisava della mancanza di un codec audio [codec `a52 ' (a52 audio (aka ac3)) is not supported] e, inoltre, altri file AVI generavano un errore di segmentazione. Avendo installato tutte le dipendenze richieste, la cosa mi sembrava strana, comunque la cosa più seria era l'errore di segmentazione, cosa che mi faceva pensare a pasticci combinati nelle installazioni delle dipendenze. Infatti, alcune le avevo installate diversi giorni fa, altre negli ultimi giorni, ma dopo aver rimosso il boost 1.70 e reinstallato il boost 1.69.

Oggi non mi sono perso d'animo e ho provato un tentativo sulla cui riuscita, a dire la verità, contavo poco:
1) ho rimosso sia il pacchetto di vlc (installato dallo slackbuild del repository di Ponce) sia il pacchetto di ffmpeg 3.4.2 installato dalla current e il pacchetto precompilato di chromaprint scaricato dal repository
2) ho ricompilato chromaprint dallo slackbuild e questa volta è andato tutto OK, cosa che mi fa pensare che facesse a cazzotti con il libavcodec del pacchetto di ffmpeg preinstallato dalla current
3) ho installato dagli slackbuild alcune dipendenze opzionali delle librerie richieste: decklink-sdk, libbs2b, VTK, libgme, vid.stab, libiec61883, OpenAL frei0r. Ho provato anche a compilare OpenCV, ma verso la fine mi ha dato un errore. Al che ho rinunciato dato che OpenCV mi ha sempre dato problemi.
4) ho scaricato il sorgente di ffmpeg 3.4.2 e ho ritoccato lo slackbuild di SBo, procedendo per tentativi sulla base dei messaggi di errore che comparivano: in pratica ho messo i commenti alle patch, attivato il supporto alle librerie opzionali che avevo già installato, rimosso l'enable per alcune librerie che il configure di ffmpeg 3.4.2 non supporta più (schroedinger, netcdf e X11grab). Alla fine lo slackbuild ha funzionato e ho potuto installare il pacchetto
5) ricompilato lo slackbuild di vlc

A questo punto ho fatto i test con alcuni film (sia AVI sia MP4) e - contro ogni mia aspettativa - VLC funziona e senza errori!

Detto questo, ora mi restano dei dubbi nell'individuare il rapporto causa-effetto:
A) il pacchetto precompilato di ffmpeg presente nella current non supporta alcune librerie condivise che invece sarebbero necessarie per VLC (possibile mai!?)
B) i due pacchetti (VLC e ffmpeg) facevano a cazzotti perché compilati in contesti diversi. Dal momento però che sto tenendo aggiornata la current giornalmente, l'unica differenza sta nel fatto che i sorgenti di VLC sono compilati con il boost 1.69, mentre il pacchetto di ffmpeg presumo sia compilato con il boost 1.70. In ogni modo credo che la differenza dei boost non sia determinante, visto che al momento vi sono librerie di dipendenze di VLC che sono state compilate in precedenza con il boost 1.70. Da ignorante, comunque, presumo che il boost non venga utilizzato per la compilazione di queste librerie.
C) il pasticcio era generato dall'installazione di un chromaprint precompilato
D) una delle dipendenze opzionali che ho installato era evidentemente necessaria (cosa poco probabile).

C'è qualcuno che può eventualmente illuminarmi nei miei dubbi? A prescindere dal fatto che comunque ho risolto questo problema, saperne di più sarebbe comunque utile per affrontare futuri problemi (devo ancora installare Blender, Audacity e altri applicativi minori che non dovrebbero dare problemi). Al momento ho due installazioni della Slackware sullo stesso PC, la 14.2, che è quella operativa, e la current che sto "testando" in un disco dedicato al cazzeggio. Finora ho installato quasi tutti gli applicativi che mi servono, se dovesse andare in porto anche Blender, a questo punto installo definitivamente la current sul disco e sulla partizione in cui ora c'è ora la 14.2.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2567
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.0.0-rc3
Desktop: lxde
Località: Pisa
Contatta:

Re: È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Messaggioda ponce » lun apr 29, 2019 9:09

A)
- personalmente ricompilo ffmpeg (utilizzando i sorgenti in current, ho rimosso di proposito i sorgenti di ffmpeg dal mio repository) *dopo* aver compilato vlc con molte dipendenze opzionali: per darti un'idea questa e' la linea di comando che uso (non c'e' bisogno di modificare lo SlackBuild)

Codice: Seleziona tutto

ASS=yes CELT=yes DC1394=yes AAC=yes DECKLINK=yes FDK_AAC=yes FLITE=yes FREI0R=yes GME=yes IEC61883=yes ILBC=yes LADSPA=yes LAME=yes MODPLUG=yes NVENC=yes OPENAL=yes OPENCORE=yes OPENSSL=yes OPUS=yes RTMP=yes RUBBERBAND=yes SAMBA=no SNAPPY=yes SPEEX=yes TESSERACT=yes TWOLAME=yes VIDSTAB=yes XVID=yes X264=yes X265=yes ZVBI=yes BUILD=1ponce ./ffmpeg.SlackBuild

- nel fork non ufficiale per current (se stai usando quello) opencv e vpx sono disabilitati durante la compilazione di vlc (ormai da un mese), perche' al momento sembrano non funzionare
http://cgit.ponce.cc/slackbuilds/commit/?h=vlc

B) quando aggiorni current devi ricompilare i pacchetti di terze parti che usi: visto che non c'e' risoluzione di dipendenze puo' essere pratico ricompilarli tutti (io ho scelto di fare cosi' perche' faccio prima) su una macchina virtuale pulita (cosi' si evitano link a vecchie librerie);

C) e' possibile, non ho gli elementi per confermare...

D) parli in generale o per qualcuno degli SlackBuild in particolare?

gian_d
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mer lug 16, 2014 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 4.19.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

Re: È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Messaggioda gian_d » lun apr 29, 2019 11:00

A)
- personalmente ricompilo ffmpeg (utilizzando i sorgenti in current, ho rimosso di proposito i sorgenti di ffmpeg dal mio repository) *dopo* aver compilato vlc con molte dipendenze opzionali: per darti un'idea questa e' la linea di comando che uso (non c'e' bisogno di modificare lo SlackBuild)

Codice: [...]

In sostanza confermi quanto ipotizzavo, ossia che il pacchetto su current non supporta molte dipendenze opzionali che sono necessarie sia per VLC sia per Blender. Le opzioni che hai indicato nel codice sono quasi uguali a quelle che ho impostato io (anche la disabilitazione di samba, visto che non uso samba). Le altre differenze, ad occhio, riguardano il supporto a openssl, che non ho impostato perché non uso le funzionalità di rete di vlc, e il supporto a decklink_sdk, che invece ho abilitato per non ricordo quale motivo. A margine, la modifica nel codice dello slackbuild la faccio per praticità: in questo modo sono sicuro di non fare errori di digitazione da riga di comando

- nel fork non ufficiale per current (se stai usando quello) opencv e vpx sono disabilitati durante la compilazione di vlc (ormai da un mese), perche' al momento sembrano non funzionare
http://cgit.ponce.cc/slackbuilds/commit/?h=vlc

Sì, sto usando i tuoi. Il tentativo era per abilitare il supporto su ffmpeg, anche se non ho cognizione della sua utilità, comunque ci ho rinunciato. Ora comunque riprovo a reinstallare opencv perché sembrerebbe raccomandato per estendere le funzionalità di Blender. Ovviamente se riesco a venire a capo sulla causa dell'errore di compilazione, altrimenti mollo definitivamente. Sulla 14.2 uso Blender senza l'integrazione di opencv, perciò non deve essere una grossa perdita, almeno per me :-D

B) quando aggiorni current devi ricompilare i pacchetti di terze parti che usi: visto che non c'e' risoluzione di dipendenze puo' essere pratico ricompilarli tutti (io ho scelto di fare cosi' perche' faccio prima) su una macchina virtuale pulita (cosi' si evitano link a vecchie librerie);

E' una parola, ancora un po' ho più software di terze parti che quello distribuito da Slackware!
In ogni modo quando avrò raggiunto una configurazione definitiva mi fermerò con gli aggiornamenti. Il mio scopo è quello di avere una configurazione sufficientemente stabile più aggiornata della 14.2 che ormai è obsoleta per diverse piattaforme, in particolare mariadb e php, che intendo usare con le stesse versioni supportate dal provider del mio sito. Ma vorrei passare anche a versioni più recenti di altre piattaforme che uso per lavoro.

C) e' possibile, non ho gli elementi per confermare...

Incontro spesso problemi con i pacchetti precompilati da terzi, perciò ricorro ad essi solo quando è necessario, per disperazione, perché non riesco a venire a capo degli errori di compilazione

D) parli in generale o per qualcuno degli SlackBuild in particolare?

È una considerazione generica dal momento che non ho elementi per valutare l'effettiva necessità delle dipendenze opzionali. Nel dubbio, se non devo sbattermi troppo, installo sempre anche le dipendenze opzionali, perché all'occorrenza potrebbero risultare utili per estendere le funzionalità di un programma. D'altra parte questo aumenta il rischio di avere una configurazione più incasinata nel marasma delle librerie condivise, cosa che rende più difficile l'individuazione della causa di un errore.

In ogni modo ti ringrazio per le indicazioni, in quest'ultimo mese mi hai aiutato a capire tante cose che non conoscevo della Slackware, nonostante la usi da 15 anni.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2567
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.0.0-rc3
Desktop: lxde
Località: Pisa
Contatta:

Re: È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Messaggioda ponce » lun apr 29, 2019 11:46

gian_d ha scritto:
A)
- personalmente ricompilo ffmpeg (utilizzando i sorgenti in current, ho rimosso di proposito i sorgenti di ffmpeg dal mio repository) *dopo* aver compilato vlc con molte dipendenze opzionali: per darti un'idea questa e' la linea di comando che uso (non c'e' bisogno di modificare lo SlackBuild)

Codice: [...]

In sostanza confermi quanto ipotizzavo, ossia che il pacchetto su current non supporta molte dipendenze opzionali che sono necessarie sia per VLC sia per Blender

perdonami ma non capisco quali sarebbero (a parte opencv), potresti elencarmele?

- nel fork non ufficiale per current (se stai usando quello) opencv e vpx sono disabilitati durante la compilazione di vlc (ormai da un mese), perche' al momento sembrano non funzionare
http://cgit.ponce.cc/slackbuilds/commit/?h=vlc

Sì, sto usando i tuoi. Il tentativo era per abilitare il supporto su ffmpeg, anche se non ho cognizione della sua utilità, comunque ci ho rinunciato. Ora comunque riprovo a reinstallare opencv perché sembrerebbe raccomandato per estendere le funzionalità di Blender. Ovviamente se riesco a venire a capo sulla causa dell'errore di compilazione, altrimenti mollo definitivamente. Sulla 14.2 uso Blender senza l'integrazione di opencv, perciò non deve essere una grossa perdita, almeno per me :-D

se parlavi di opencv-4.x anche sopra non credo proprio che il supporto interno di ffmpeg non funzioni con il ramo 3.x e un upgrade al ramo 4.x di ffmpeg e', almeno per quel che mi riguarda, fuori discussione perche' non compilerebbe piu' un sacco di roba.
puoi provare ad installare opencv-legacy al posto di opencv (ovviamente devi ricompilare quello che lo utilizza), quello dovrebbe funzionare con ffmpeg-3.x.

B) quando aggiorni current devi ricompilare i pacchetti di terze parti che usi: visto che non c'e' risoluzione di dipendenze puo' essere pratico ricompilarli tutti (io ho scelto di fare cosi' perche' faccio prima) su una macchina virtuale pulita (cosi' si evitano link a vecchie librerie);

E' una parola, ancora un po' ho più software di terze parti che quello distribuito da Slackware!
In ogni modo quando avrò raggiunto una configurazione definitiva mi fermerò con gli aggiornamenti. Il mio scopo è quello di avere una configurazione sufficientemente stabile più aggiornata della 14.2 che ormai è obsoleta per diverse piattaforme, in particolare mariadb e php, che intendo usare con le stesse versioni supportate dal provider del mio sito. Ma vorrei passare anche a versioni più recenti di altre piattaforme che uso per lavoro.

forse allora current non e' per te la soluzione ideale perche' fermare gli aggiornamenti vuol dire avere un sistema vulnerabile e potenzialmente anche incompatibile con il resto dell'ecosistema (il mio repository, i pacchetti di Alien Bob, ecc.) che magari va avanti...
secondo me dovresti raggiungere un compromesso: o la stabilita' con una versione stabile di Slackware, o il bleeding-edge di current con un po' di lavoro aggiuntivo, automatizzato per quello che riesci ad automatizzare (io faccio cosi').
magari puoi usare qualcosa su un'installazione di current e altro su una di stable, sfruttando macchine virtuali se non ne hai a disposizione di fisiche.
comunque sono valutazioni che fai in autonomia, sei te l'amministratore di sistema delle tue installazioni :)

C) e' possibile, non ho gli elementi per confermare...

Incontro spesso problemi con i pacchetti precompilati da terzi, perciò ricorro ad essi solo quando è necessario, per disperazione, perché non riesco a venire a capo degli errori di compilazione

secondo me non ti conviene, e' meglio tentare di risolverli, magari chiedendo supporto in un topic dedicato (leggi bene le condizioni a cui si applica il supporto... ;-) )

gian_d
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mer lug 16, 2014 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 4.19.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

Re: È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?

Messaggioda gian_d » lun apr 29, 2019 15:51

Ricontrollando mi sono reso conto che nel messaggio precedente avevo preso lucciole per lanterne considerando opzionali alcune dipendenze richieste (es. jack-audio-connection, per citarne una). In realtà l'unica dipendenza opzionale comune ad entrambi è opencv, come giustamente hai rimarcato. Chiedo scusa per la cantonata.
Per il supporto di ffmpeg a opencv ci ho già rinunciato anche perché non ho idea di quali benefici possa fruire, invece sto provando a ricompilarlo per Blender.

Per quanto riguarda la scelta tra 14.2 e current hai perfettamente ragione, ma è un compromesso che adottavo già prima, perché per oltre un anno ho usato una current che aggiornavo all'occorrenza solo per qualche pacchetto, prima che incasinassi tutto facendo la regina delle boiate con glib (giusto per ridere: invece di usare upgradepkg ho candidamente rimosso da pkgtool le glib da aggiornare e lì mi sono fermato da emerito pirla). A quel livello di aggiornamento comunque mi trovavo abbastanza bene, solo che reinstallando la 14.2 pulita mi rendo conto di quanto sia rimasta indietro. Quello di usare virtualbox non è un'idea malvagia, ma uso vbox solo per "giocare" ovvero per fare prove fini a se stesse, non mi sono mai trovato a mio agio per usarla per finalità operative. Continuo semmai usare più installazioni in diverse partizioni e fare il boot all'occorrenza. Alla fine quello che mi interessa più di tutto è l'integrità dei dati, che tengo in tre partizioni condivise da tutti i sistemi, oltre ad altre due partizioni che monto su /var/lib e /var/www solo sulla slackware che uso come predefinita (al momento la 14.2).
Di tutte queste partizioni faccio il regolare backup, per il sistema operativo predefinito faccio il backup solo per recuperare i file di configurazione, perché alla fine quando giungo ad un punto di non ritorno faccio prima a piallare e reinstallare :-D