Tag Archives: bug

[SOLUTION] Anomalie avec Mastodon 3.0.0/Debian 10.1 et libprotobuf.so.10

Mastodon Fablab LCube

Bonjour à tous,

Lors de la mise à jour de Mastodon vers la version 3.0.0, une anomalie est apparue lors de l'éxécution de la commande

RAILS_ENV=production bin/tootctl cache clear

La commande retourne une erreur concernant un échec de chargement de la librairie libprotobuf.so.10 et échoue.

Reproduction de l'anomalie

#mastodon: cd live
#mastodon: git pull
#mastodon: git checkout v3.0.0
#mastodon: gem install bundler
#mastodon: bundle install --deployment --without development test
#mastodon: yarn install --pure-lockfile
#mastodon: RAILS_ENV=production bin/tootctl cache clear

Specifications

Debian 10.1

Mastodon v3.0.0

Yarn 1.19.0

Ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]

rbenv 1.1.2-4-g577f046

Solution

Installer libprotobuf10_3.0.0-9_amd64 depuis le dépôt old debian stable (stretch)

En root :

??????:~# wget http://ftp.fr.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb
??????:~# dpkg -i libprotobuf10_3.0.0-9_amd64.deb

Réessayez la commande

RAILS_ENV=production bin/tootctl cache clear

sous l'utilisateur mastodon et ça devrait fonctionner.

Vous pouvez alors continuer la mise à jour de mastodon normalement 😉

Issue Report

https://github.com/tootsuite/mastodon/issues/12081

Génération des miniatures de vidéos dans Owncloud 6

Parfois, certaines miniatures de vidéos ne sont pas générées dans Owncloud 6, solution :

Modifier le fichier [OWNCLOUD_DIR]/lib/private/preview/movies.php

Remplacer :

$firstmb = stream_get_contents($handle, 5242880);

par :

$firstmb = stream_get_contents($handle, 10485760);

puis remplacer le bloc de la commance ffmpeg :

else {
                     $cmd = self::$ffmpegBinary . ' -y -ss 5' .
                         ' -i ' . escapeshellarg($absPath) .
                         ' -f mjpeg -vframes 1' .
                         ' -s ' . escapeshellarg($maxX) . 'x' . escapeshellarg($maxY) .
                         ' ' . escapeshellarg($tmpPath) .
                         ' > /dev/null 2>&1';
                 }

par :

else {
                    $cmd = self::$ffmpegBinary .
                        ' -i ' . escapeshellarg($absPath) .
                        ' -vf escapeshellarg("scale=escapeshellarg($maxX):escapeshellarg($maxY)") -vframes 1' .
                        ' ' . escapeshellarg($tmpPath) .
                        ' > /dev/null 2>&1';
                }

Voilà, la génération de miniatures pour les vidéos devrait fonctionner correctement désormais 😉