È possibile che vlc e il pacchetto ffmpeg della current facciano a cazzotti?
Inviato: lun 29 apr 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.
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.