Ubuntu Peronista@TTBP

Este es un espejo en el Tilde Blog Project del blog original Ubuntu Peronista. Se encuentra disponible en Tildeverso únicamente con fin histórico.



11 april 2022

¿Cómo soluciono el problema de Openshot 1.4.3 y Flowblade con Ubuntu 16.04LTS?

En un discurso pronunciado en el Teatro Coliseo ante los representantes Sindicales, Juan Perón nos enseña cómo corregir el problema del paquete Python-mlt con los editores de video Openshot 1.4.3 y Flowblade 1.6.0 en Ubuntu 16.04LTS.

¡Trabajadores!

Toda ocasión es buena para corregir posibles desviaciones en nuestra tarea y en nuestra acción de trabajo. Esto ustedes los saben naturalmente, y han sido rápidos y solidarios para solucionar los imponderables que - en razón de la acción - siempre surgen en el camino de los hombres.

La acción sindical es una que ha de proveer en el conjunto los logros y beneficios, conquistas y realizaciones. Eso es una necesidad insoslayable. Y en ese andar pueden suceder excrecencias que por naturales, pueden ser en ocasiones, perniciosas. En ocasiones en que las actualizaciones doctrinarias no sean todo lo sanas que podríamos pretender, y nuestro Movimiento ha de ser ágil para preveer la solución pertinente. Es la Masa la depositaria de nuestros esfuerzos, por lo que todo buen Conductor ha de poder llevar la tranquilidad a todos los Argentinos.

Nuestro Movimiento está formado por los mejores hombres, pero no son Santos, ni Dioses. Ya es suficiente con que sean buenos hombres. Por tal condición, debemos siempre planificar previendo el error que es natural en los buenos cristianos que trabajan.

Napoleón decía que un ejemplo era adecuado para aclararlo todo. En este caso que deseo hacerles ver, se produce un problema al intentar ejecutar alguno de los excelentes programas de edición de video dables de instalarse en Ubuntu: por alguna causa, de repente tanto Openshot 1.4.3 como Flowblade 1.6.0 fallaban en Ubuntu 16.04LTS Xenial Xerus. La Masa podía comprobar que al lanzar la aplicación, nada sucedía.

La Masa considerará esto, pero será al Conductor a quien recurrirá para la solución. Ello no es malo siempre que sepamos predicar con el ejemplo y hacer el bien, por todos y para todos. El hombre que Conduce sabe por Justo designio que si ejecutamos una aplicación gráfica desde la Terminal, normalmente en la consola se nos indica información de status con respecto a dicho programa, y que dicha información en ocasiones suele ser invaluable para resolver cualquier problema con un sistema GNU con Linux. Por ello, abrimos una consola Terminal con Ctrl+Alt+T y lanzaremos desde allí el editor de video Openshot, ingresamos obviamente el comando:

openshot

Si el error de las Masas es el mismo que nos aqueja, el sistema debería devolvernos solidariamente sendos mensajes de error:

------------------------- ERROR 1 ------------------------------ Failed to import 'from openshot import main'

Error Message: cannot import name main


OpenShot (version 1.4.3)

Process no longer exists: 15670. Creating new pid lock file. ERROR: MLT Python bindings failed to import ERROR: MLT Python bindings failed to import ERROR: MLT Python bindings failed to import Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/share/openshot/openshot/classes/thumbnail.py", line 240, in run mlt.Factory().init() NameError: global name 'mlt' is not defined

ERROR: MLT Python bindings failed to import

------------------------- ERROR 2 ------------------------------ Failed to import 'from openshot.openshot import main'

Error Message: /usr/lib/python2.7/dist-packages/_mlt.x86_64-linux-gnu.so: undefined symbol: _ZNK3Mlt7Profile8is_validEv

OpenShot has failed to import some of the Python files or libraries required for our application to run. Here are some trouble shooting tips:

Tip 1) Check if MLT can be successfully imported in Python. Run the following commands, and see if any errors are displayed. If you get an error, you need to investigate the correct way to install MLT. NOTE: Do not type the $ or >> characters in the examples below.

   $ python
   >> import mlt
   >> mlt.Factory().init()

Tip 2) If MLT is working from the first example, then the next tip is to look at the above error messages very closely, and google for more help. It's likely the problem is already reported, and maybe there is a simple work-around. Also, you can search for bugs or report a new bug at https://bugs.launchpad.net/openshot. Good luck!

En esta esquela, nuestro GNU con Linux nos está indicando en el idioma de Braden que se ha producido el fracaso para iniciar Openshot y que nos aqueja un problema con la librería Python MLT, caracterizado componente principal de los editores de video Openshot y Flowblade. En este caso será éste - señores - la causa de todos nuestros desvelos y desgracias.

La solución que hemos de considerar es la de apretar los dientes, cantar la marcha, y retrasar la actualización del paquete conflictivo python-mlt a una versión más antigua que funcione adecuadamente (pues anteriormente no teníamos problemas con ninguno de los dos editores de video). La manera más sencilla puede ser empleando el sistema gráfico y hacer uso de Synaptic, nuestro gestor de paquetes Peronista, para probar si revirtiendo las versiones de paquete podemos lograr una ejecución adecuada. El concepto de "saca y pon", en la política, no suele ser pródigo en resultados, pero en este caso habremos de utilizarlo a falta de solución mejor.

Para hacer realidad efectiva esta idea, hemos de ingresar en el menú Sistema / Administración / Gestor de paquetes Synaptic.

Dentro de Synaptic, presionamos el botón "Buscar" y en el cuadro de pertinente le indicamos buscar "python-mlt":

Synaptic nos indicará qué versión de dicho paquete está instalada actualmente en nuestro sistema. Si es la nueva, indicará algo como 6.3.0+git2016... Esta versión sin duda ha sido hecha con buena intención, pero es la que resulta problemática tanto con Openshot como con Flowblade, de modo que escogeremos retrasarla, específicamente volviendo a la versión 6.0.0.2 que tenía originalmente nuestro Ubuntu 16.04LTS Xenial Xerus.

Para ello seleccionamos de la lista la versión 6.3.0+git2016..., y vamos al menú Paquetes / Forzar Versión.

En un cuadro de diálogo debería indicarnos en un campo desplegable la versión instalada 6.3.0+git2016..., junto con la versión anterior 6.0.0.2 (xenial):

Hacemos clic sobre la versión 6.3.0+git2016... y en el desplegable escogemos la versión 6.0.0.2 (xenial). Luego hacemos clic en el botón "Forzar Versión". Al hacerlo, el paquete python-mlt se marcará en amarillo en la lista.

Para que los cambios se hagan efectivos, hemos de hacer clic en el botón "Aplicar" y se descargará el paquete antiguo y se instalará en lugar del nuevo. El sistema nos solicitará confirmación por última vez para asegurarse que estamos conformes con el hecho de revertir una paquetería (quedará lógicamente desactualizada). Indicamos nuestra voluntad afirmativa para con tal predicamento presionando el botón Apply ("aplicar"). El sistema descargará e instalará la versión 6.0.0.2 anterior, y nos mostrará el progreso. No debería durar más que unos pocos segundos. Una vez revertido el paquete Python-mlt a la versión anterior, debemos ver si Openshot funciona adecuadamente. Para ello lanzamos Aplicaciones / Sonido y Video / Openshot normalmente. Debemos comprobar que arranque sin problemas. También podremos comprobar con Aplicaciones / Sonido y Video / Flowblade, el cual también debería arrancar sin inconveniente alguno.

Si el arranque de tales aplicaciones se produce satisfactoriamente, significa que hemos resuelto el problema. Si en cambio tampoco arranca, significa que el problema debe ser otro, y debemos volver a la versión 6.3.0+git2016...

Bloquear la actualización del paquete Python-mlt

El inconveniente de retrasar la actualización de un paquete - como hemos hecho aquí - reside en que es una solución de patas cortas: al plantearse una nueva actualización automática de los archivos de sistema, éste propondrá actualizar también python-mlt a su versión mas nueva, volviendo a provocar el consabido error. Afortunadamente existe una manera de evitar esto: debemos poner en espera ("hold") el paquete, y de esta manera impedir su natural actualización en nuestro sistema. En Ubuntu 16.04LTS podremos hacerlo con el siguiente comando en la terminal:

sudo apt-mark hold python-mlt

Esto marcará dicho paquete como puesto en espera (lo cual será informado siempre que se produzca actualización de paquetes) y no se actualizará.

Con esto ya podremos hacer uso de estos ágiles editores de video.

Podría suceder que Openshot 1.4.3 o Flowblade 1.6.0 sean actualizados y requieran mas adelante la versión 6.3.0+git2016... del paquete python-mlt. Si en algún momento deseáramos desactivar la puesta en espera para este paquete, debemos indicar:

sudo apt-mark unhold python-mlt