Step-by-step installation of bleeding edge in custom directories

Asked by TonyKnott

Hi Jonathan,

I'm interested in testing the bleeding-edge version of OpenShot and I'd like to know if it's currently possible to do the following:

1) Checkout the latest code from lp:openshot.
2) Run a script to install openshot in a custom directory (not necessarily /usr or /usr/local).
3) Having the script point out exactly which necessary libraries are missing in my system.
4) Install those libraries in another custom directory (not necessarily /usr or /usr/local) and then provide the path of this directory to the installation script.
5) Uninstall everything if needed.

Basically, I'm asking for something equivalent to using "./configure --prefix=/my/dir --ldpath=/another/dir" to install and LD_LIBRARY_PATH=/another/dir to execute. I'm *very* interested in testing the latest and greatest version, but I'm also very anal retentive when it comes to where to install third party software. TJ seems to be doing a lot of progress in this area and I'm interested in knowing the current status.

Question information

Language:
English Edit question
Status:
Solved
For:
OpenShot Video Editor Edit question
Assignee:
No assignee Edit question
Solved by:
TonyKnott
Solved:
Last query:
Last reply:

This question was reopened

Revision history for this message
Helen McCall (wildnfree) said :
#1

Hello Tony,

The latest "Bleeding Edge" version of OpenShot is version 0.9.32 (revision 147).

This is available several ways.

1) bzr branch lp:openshot -- I haven't tried it with the latest version but all previous versions ran from the branch directory - I think TJ's changes might have prevented that from working.

2) use the install wizard which will install 0.9.32

3) we have a ppa which is being tested at the moment. I am not sure if Jonathan wants it made public yet because there might be a couple of paths relating to lacales which still need fixing.

All three of these routes will give you the bleeding edge.

Jonathan is particularly keen that OpenShot should be able to be installed anywhere on the system, and so if that is not possible at the moment (not sure) then it should hopefully be again possible soon.

Best wishes, Helen

Revision history for this message
TonyKnott (tonyknott-deactivatedaccount) said :
#2

Thanks for the answer Helen, but choosing the directory is a must for me right now.

I'll be sure to try OpenShot when the situation changes.

Revision history for this message
Helen McCall (wildnfree) said :
#3

Goood news !

Jonathan has just uploaded version 0.9.33 on bzr

If you bzr now you will get the latest code, and it can be run from
wherever you put it. I tried it myself and am running it from
~/openshot.

To run it from wherever it is use command:

python <path to location>/openshot/openshot.py

Best wishes, Helen

On Sun, 2009-09-13 at 03:05 +0000, TonyKnott wrote:
> Question #82611 on OpenShot Video Editor changed:
> https://answers.launchpad.net/openshot/+question/82611
>
> Status: Answered => Solved
>
> TonyKnott confirmed that the question is solved:
> Thanks for the answer Helen, but choosing the directory is a must for me
> right now.
>
> I'll be sure to try OpenShot when the situation changes.
>

Revision history for this message
TonyKnott (tonyknott-deactivatedaccount) said :
#4

Hi Helen,

I think the current version still does not allow me to specify where the dependencies are.

This is still a showstopper for me, as the current dependency debs install libraries in /usr/local and I don't want that to avoid conflicts.

Revision history for this message
TonyKnott (tonyknott-deactivatedaccount) said :
#5

Ok, here's what I'm trying to do so far in an effort to install OpenShot without messing up my libraries:

1) I downloaded the dependencies tarball and opened each .deb with archive manager. I proceeded to manually place the usr/local/share contents in my own /usr/local/share and the contents of usr/local/lib in a prefix directory which is not /usr/local/lib. I'll call this directory "libdir" here.

2) I checkout-ed the latest openshot code from lp:openshot and tried to execute openshot.py. Got a "mlt module not found".

3) Tried again with "PYTHONPATH=/usr/local/share/openshot/main/install openshot.py". This time it complained about not finding libmlt++.so

4) Finally, I tried "PYTHONPATH=/usr/local/share/openshot/main/install openshot.py LD_LIBRARY_PATH=libdir openshot.py". No more complaints about libraries not found, but now I'm getting a segfault.

Suggestions? I think I'm on the right track. I know I'm doing several things I'm not supposed to, but I have no choice if I want to test openshot and ensure that my system will not suffer from library conflicts at the same time.

Revision history for this message
Chris Shymanik (madmousee) said :
#6

Perhaps I'm wrong, so forgive me for any dis-information in advance.

First, I don't see any real need/requirement to use the provided dependencies package when you should be able to install them via your distro's package manager yourself. Some of the libraries are perhaps hard-linked to the install locations that the dependencies package is trying to install them to and thus placing them alternative locations doesn't work? Of that I'm not certain but it to me it would make sense at least. Either way I think using your existing package manager to locate and install the required dependencies is a far "safer" way to go about the installation process as you avoid installing files into conflicting locations, as I believe you're concerned about Tony. I'm not entirely sure why, or perhaps it does and I missed it, the openshot.deb pacakge doesn't tell the package manager to pull those dependencies in as most other .deb packages do.
From what I do know however, the OpenShot program should be using your system to locate the installed dependencies and therefore doesn't depend on one specific location. This however does not prevent pre-built libraries and/or binaries from seeking specific locations to dependencies.
There are however 3 files that the package manager wouldn't be able to install and those are the MLT Python bindings files, which are not provided from upstream and thus you'd have to compile them yourself. These files could easily be provided in the openshot.deb package itself though and would be installed into their current location without harm to your system or other programs.

Now I mention this because in Gentoo I've done exactly that. I've created an ebuild (like a .deb package) that tells the package manager, portage, to install MLT, FFmpeg, and all of the other deps required by OpenShot to run from packages already known to portage and not from the pre-built dependencies provided by Jonathan. The ebuild also downloads & extracts the MLT source package and compiles the 3 MLT Python bindings modules(?) required, uses the system to locate the path to Python's "site-packages" directory, and installs them there.
OpenShot works perfectly under those circumstances.

So I have a feeling the pre-built dependencies are really what's holding you and perhaps others back. Hopefully the new PPA will negate the requirement for those pre-built packages and use the system's package manager instead.

Revision history for this message
TonyKnott (tonyknott-deactivatedaccount) said :
#7

Hi Chris, thanks for the reply.

I think the main difference is that the ffmpeg and MLT versions in Gentoo are probably more up-to-date. I'm not using the official Ubuntu repositories to install those libraries because Helen already mentioned that those repositores have older versions than OpenShot requires. But I cannot simply install new versions because several programs I'm using several programs that were compiled against those old versions.

It's not the first time I face this problem, but I'm used to solve it by specifying an alternative library path, different from the default one, where I installed new library versions, to the program installer. The current OpenShot installer does not allow that and, therefore, forces me to takes the risk of breaking other programs I use. Since I don't want to take such risk I'm trying to install the files manually.

Revision history for this message
Chris Shymanik (madmousee) said :
#8

That makes sense Tony.

An alternative option you might try then is to compile the dependencies from source (using the required versions) and install them into the alternative locations you want (ie. ./configure --PREFIX=/opt/openshot/deps/mlt ). Granted that would be quite a bit of work and you'd have to be sure you set the configure options to install libraries and binaries into their new respective locations instead of the defaults. Unfortunately I don't think OpenShot would take too kindly to that kind of setup as I believe it still uses your system path settings to locate binaries, libraries, and the like. With your having other programs that depend on older versions of said dependencies that would certainly cause issues. But I may be wrong. Being that OpenShot is a Python program and not something to be compiled (in which case you could easily custom install locations) I imagine it would be rather difficult to set a feature that allowed for alternative locations for libraries and such. Perhaps Jonathan can shed some light on that situation though.

As to Ubuntu only providing the older versions of the dependencies - I'm quite certain you can enable the "unstable" repositories to get the newer versions. Though I'm sure many users wouldn't feel too comfortable doing that, heh.

Revision history for this message
TonyKnott (tonyknott-deactivatedaccount) said :
#9

I finally managed to install the bleeding edge Openshot without risks of conflict. Compiling mlt by hand and executing openshot with LD_LIBRARY_PATH=/place_where_i_installed_mlt did the trick.