Openshot fails to import mlt and then fails to start

Bug #537431 reported by Diff Handy
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
openshot (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: openshot

Openshot fails to start (amd64 arch) with the following error

$ openshot
--------------------------------
   OpenShot (version 1.1.0)
--------------------------------
*** 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.6/threading.py", line 527, in __bootstrap_inner
    self.run()
  File "/usr/lib/pymodules/python2.6/openshot/classes/thumbnail.py", line 170, in run
    mlt.Factory().init()
NameError: global name 'mlt' is not defined

-------------------------------------------------------
Error: OpenShot has not been installed in the Python path.
(Both the site-packages and /usr/share/openshot folders were checked)

Use the following command to install OpenShot:
  $ sudo python setup.py install

---

Packages installed
$ dpkg -l python-mlt2 openshot
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii openshot 1.1.0-0ubuntu1 Create and edit videos and movies
ii python-mlt2 0.4.10-5ubuntu multimedia framework (python bindings)
----

Debs used
python-mlt2_0.4.10-5ubuntu1_amd64.deb
openshot_1.1.0-0ubuntu1_all.deb

Potentially a problem only on amd64 is i386 users aren't seeing the same thing?

More info needed?

Tags: amd64 i386
Revision history for this message
Diff Handy (ubuntu-verbena) wrote :

Looks like it might be a problem with mlt

$ ldd /usr/lib/python2.6/dist-packages/_mlt.so
 linux-vdso.so.1 => (0x00007ffff39ff000)
 libmlt++.so.2 => not found
 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f063976c000)
 libc.so.6 => /lib/libc.so.6 (0x00007f06393ea000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f0639c10000)

$ locate libmlt++.so.3
/usr/lib/libmlt++.so.3
$ locate libmlt++.so.2
$

Depends shows that it depends on libmlt++3

apt-cache show python-mlt2
Package: python-mlt2
Priority: optional
Section: universe/python
Installed-Size: 604
Maintainer: Ubuntu Developers <email address hidden>
Original-Maintainer: Fathi Boudra <email address hidden>
Architecture: amd64
Source: mlt
Version: 0.4.10-5ubuntu1
Provides: python2.6-mlt2
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libmlt++3, python (<< 2.7), python (>= 2.6), python-support (>= 0.90.0)

Can this bug be moved or does it need reopening?

Revision history for this message
Olivier Girard (eolinwen) wrote :

this bug is duplicated here : https://answers.launchpad.net/openshot/+question/103717
and here too : https://answers.launchpad.net/openshot/+question/95857

could you post the result of this commands :
ls /usr/lib/*libmlt*
and
$python
>>>>>import mlt

Thanks

Revision history for this message
Diff Handy (ubuntu-verbena) wrote :

Hi cenwen,

Damn and I did search for dupes too.

$ ls /usr/lib/*libmlt*
/usr/lib/libmlt.so.0.4.10 /usr/lib/libmlt.so.2
/usr/lib/libmlt++.so.0.4.10 /usr/lib/libmlt++.so.3

$ ls -l /usr/lib/*libmlt*
-rw-r--r-- 1 root root 129528 2010-02-13 00:34 /usr/lib/libmlt.so.0.4.10
-rw-r--r-- 1 root root 122752 2010-02-13 00:34 /usr/lib/libmlt++.so.0.4.10
lrwxrwxrwx 1 root root 16 2010-03-08 18:06 /usr/lib/libmlt.so.2 -> libmlt.so.0.4.10
lrwxrwxrwx 1 root root 18 2010-03-08 18:06 /usr/lib/libmlt++.so.3 -> libmlt++.so.0.4.10

So though there is a ling for /usr/lib/libmlt++.so.3 there is no link for /usr/lib/libmlt++.so.2 to /usr/lib/libmlt.so.0.4.10. Maybe there's an API change between .2 and .3 ?

$ python
Python 2.6.4+ (r264:75706, Feb 16 2010, 02:54:39)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mlt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/dist-packages/mlt.py", line 7, in <module>
    import _mlt
ImportError: libmlt++.so.2: cannot open shared object file: No such file or directory
>>>

Revision history for this message
Olivier Girard (eolinwen) wrote :

Hi Diff

Certainly so we are going to create one, the good (i hope). So in a console try that :
sudo ln -s $(ls -C /usr/lib/libmlt.so.0.4.10 | cut -f 1 -d' ') /usr/lib/libmlt++.so.2

Revision history for this message
Diff Handy (ubuntu-verbena) wrote :

Yeah, I tried that already (ok simplified i just did 'sudo ln -s /usr/lib/libmlt.so.0.4.10 /usr/lib/libmlt++.so.2' but it's much of a muchness.

This makes ldd happy

ldd /usr/lib/python2.6/dist-packages/_mlt.so
 linux-vdso.so.1 => (0x00007ffff87ff000)
 libmlt++.so.2 => /usr/lib/libmlt++.so.2 (0x00007fd31bd30000)
 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fd31bb19000)
 libc.so.6 => /lib/libc.so.6 (0x00007fd31b797000)
 libdl.so.2 => /lib/libdl.so.2 (0x00007fd31b593000)
 libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd31b376000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fd31c1dd000)

but not python

$ python
Python 2.6.5rc2 (r265rc2:78822, Mar 11 2010, 20:47:08)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mlt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/dist-packages/mlt.py", line 7, in <module>
    import _mlt
ImportError: /usr/lib/python2.6/dist-packages/_mlt.so: undefined symbol: __gxx_personality_v0
>>>

So I guess it needs an earlier version of mlt installed or for python-mlt to actually be compiled against the version stated in the depends ?!? Unless there isn't a version of python-mlt that compiles against this version of mlt++

Revision history for this message
cyzen (cyzen) wrote :

same here after a fresh installed and updated Ubuntu 9.10 32bit

--------------------------------
   OpenShot (version 1.1.0)
--------------------------------
*** 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.6/threading.py", line 525, in __bootstrap_inner
    self.run()
  File "/usr/lib/pymodules/python2.6/openshot/classes/thumbnail.py", line 170, in run
    mlt.Factory().init()
NameError: global name 'mlt' is not defined

-------------------------------------------------------
Error: OpenShot has not been installed in the Python path.
(Both the site-packages and /usr/share/openshot folders were checked)

Use the following command to install OpenShot:
  $ sudo python setup.py install

papukaija (papukaija)
Changed in openshot (Ubuntu):
status: New → Confirmed
tags: added: amd64 i386
Revision history for this message
Jonathan Thomas (jonoomph) wrote :

Sorry, but this is not due to the code in OpenShot, and rather a packaging issue. Please use the PPA to test on Ubuntu 9.10 and 10.04, instead of the installers. Also, please read the follow FAQ on debugging an installation issue. It is very helpful: https://answers.launchpad.net/openshot/+faq/1032.

Changed in openshot (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
Diff Handy (ubuntu-verbena) wrote :

Hi,

Absolutely, it's a packaging bug and therefore related to Ubuntu packaging rather than Openshot code. It's unfortunate that people will view it as an Openshot issue, when they install it via the software center but that's the way these things work.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.