# Smoke testers wanted: multimedia/openshot on amd64



## ckester (Mar 18, 2011)

Hi all,

I'm troubleshooting an issue one user is having with my port of the openshot video editor (multimedia/openshot).  I can't reproduce on my i386 machine what he's seeing on his amd64.  I don't know if the architecture difference is important, but will appreciate it if someone with an amd64 (x86-64) could take a look.

I just need to know if you can bring up the GUI and do some simple things in it like pulldown a menu.  The user I'm working with can't get even that far.


----------



## lbl (Mar 19, 2011)

Hi chester.

I just compiled it and tried running it via vncserver (I don't have a direct terminal to the box).


```
[lbl@atom2 ~]$ openshot
Xlib:  extension "RANDR" missing on display ":1.0".
--------------------------------
   OpenShot (version 1.3.0)
--------------------------------
Process no longer exists: 49624.  Creating new pid lock file.
-------------------------------------------------------
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

[lbl@atom2 ~]$
```


```
[lbl@atom2 ~]$ uname -a
FreeBSD atom2.xserv.dk 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
[lbl@atom2 ~]$
```

Then i tryed doing it via x11 forwarding.


```
lbl@lbl-x61s:~$ ssh -X -p 8000 localhost
Last login: Sat Mar 19 14:29:25 2011 from a0
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
	The Regents of the University of California.  All rights reserved.

FreeBSD 8.2-RELEASE (GENERIC) #0: Thu Feb 17 02:41:51 UTC 2011

[lbl@atom2 ~]$ openshot
--------------------------------
   OpenShot (version 1.3.0)
--------------------------------
Process no longer exists: 49655.  Creating new pid lock file.
-------------------------------------------------------
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

[lbl@atom2 ~]$
```

I will try to reinstall some stuff to see if I can get it working with the python stuff.

Any advice on getting it working would be nice. (I dont use video editing software normally)

/lbl


----------



## ckester (Mar 19, 2011)

The first message, about a process no longer existing and creating a new pid lock file, is normal.  That's just openshot's way of enforcing a single instance.

The other messages occur when the try-except logic at the end of /usr/local/bin/openshot catches an ImportError exception. The stated reason is that openshot.py could not be found in /usr/local/lib/python2.7/site-packages/openshot, which is where the port installs it.  This could be a problem with your pythonpath.  But the other user sees this same message, and his pythonpath checks out OK.  

I haven't confirmed this, but I'm hypothesizing that something else that openshot.py is trying to import is throwing the exception.  Either a dependency is not installed or it's not starting up correctly on amd64.   

Working with the other user, I've found that graphics/py-imaging must also be installed.  One of things on my todo list is to see if openshot is importing PIL directly, or if some other port is doing so.  This needs to be done so we can determine which port should add it to its list of dependencies. 

_I checked. Openshot does import it directly.  So the question now is whether it should have been pulled in by one of the other ports on which openshot explicitly depends.  But that can wait until we've solved the main problem._

(BTW, the other user is still getting errors even after installing graphics/py-imaging.)

Another thing I need to do, now that I've seen your results, is walk through the --all-depends-list for openshot and verify that nothing on it is marked as i386-only.


----------



## ckester (Mar 19, 2011)

I deinstalled graphics/py-imaging and then ran openshot.  This produced the familiar error message saying that openshot isn't installed on the python path, and proves that a missing dependency can cause the observed results.

To get better info about why the ImportError exception is being thrown, we can temporarily remove the innermost try-catch block at the end of /usr/local/bin/openshot.  Then the exception won't be caught and python will display the usual traceback message.


```
# If the openshot python code is found in the Python path, then
# we should be able to import openshot and call the main() method
try:
        # RUN OPENSHOT
        from openshot import main
        main()

except ImportError:
        
        #try:
                # RUN OPENSHOT  (KEEP THESE NEXT TWO LINES!)
                from openshot.openshot import main
                main()

        #except ImportError:
                # Failed to find the openshot library.  NOTE:  This /bin/openshot/ file
                # requires that OpenShot be installed in /site-packages or /usr/share/openshot
                #print "-------------------------------------------------------"
                #print "Error:  OpenShot has not been installed in the Python path."
                #print "(Both the site-packages and /usr/share/openshot folders were checked)"
                #print ""
                #print "Use the following command to install OpenShot:"
                #print "  $ sudo python setup.py install"
                #print ""
```

In the code snippet above I've commented out everything from the second "try:" to the end of the file, keeping only the two lines indicated.  

(Make sure not to remove the tabs indenting the lines! Those are syntactically meaningful in Python.)

When I run this modified version of openshot with graphics/py-imaging still uninstalled, I get this error message instead of the one generated by the lines I've commented out:


```
$ openshot
--------------------------------
   OpenShot (version 1.3.0)
--------------------------------
Process no longer exists: 46316.  Creating new pid lock file.
Traceback (most recent call last):
  File "/usr/local/bin/openshot", line 57, in <module>
    main()
  File "/usr/local/lib/python2.7/site-packages/openshot/openshot.py", line 60, in main
    from classes import project
  File "/usr/local/lib/python2.7/site-packages/openshot/classes/project.py", line 22, in <module>
    from classes import profiles, files, thumbnail, open_project, save_project, state_project, restore_state, sequences, video, theme
  File "/usr/local/lib/python2.7/site-packages/openshot/classes/thumbnail.py", line 20, in <module>
    from PIL import Image
ImportError: No module named PIL
```

If someone could try this modified version on an amd64 system, perhaps we can pin down what is throwing the ImportError.


----------



## lbl (Mar 19, 2011)

Hi

I was running python26 before I think so I installed python27 and reinstalled openshot and then I installed py-imaging. And it's now working both via ssh X11 forwarding and via the local vncserver. I tried to use the file menu and open a project and then closed it again and it seems to be working just fine.

Anything else you want to have tested ?

/lbl


----------



## ckester (Mar 19, 2011)

lbl,

Interesting.  So now we know it isn't a platform issue.  

No, I think we're done here.  Thanks for your help!

I'll have the other user use the mod to generate the traceback so we can see what's going wrong on his system.


----------

