Discussion:
Building Flowblade AppImage
(too old to reply)
Janne Liljeblad
2017-02-21 12:35:37 UTC
Permalink
Raw Message
Hi,


I've spend 10+ hours on trying to build binaries for Flowblade
AppImage. I can get MLT and modules to build but there is problem I
can't figure out, so I decided just to ask for help as a Python/Java
developer I'm not sure how to proceed.

AppImage project provided a recipe to build Flowblade AppImage but it
uses Ubuntu 14.04 binaries with MLT 0.9.0 and that's too old to
distribute.

So my approach has been:
- create Appimage with the Recipe I got
- build MLT 6.4.1 with dependencies from repository
- replace binaries in Appimage .AppDir with ones I've build my self
- rebuild Appimage

I used your Flowblade build script as a starting point to get the
configure flags etc.

It all works, I get all required binaries replaced, but when running
AppImage I get "mlt_repository_init: no plugins found in
"/home/janne/codes/flowblade-packaging/flowblade-packaging/Appimage/build/lib/mlt",
so I've obivously compiled my dev system paths into binaries.

Your build-script from flowblade had line: export
LD_RUN_PATH="$FINAL_INSTALL_DIR/lib" but I'm not using that.

To get everything compiled I'm running 'make install' to make
everything compile, with configure --prefix=<my work dir/build> so
this is where to paths go in, but this is needed (I think) to have
includes and .pc files available during compilation.

To get stuff working with appimage I need to compile MLT that installs
in "/usr/lib/x86_64-linux-gnu".

So to move forward, I ask:

- is there some combination of "--prefix, --libdir, export CFLAGS=,
export LDFLAGS=, export PKG_CONFIG_PATH=" I can set to make this
happen or is MLT build system such that this hard
- is it just better to compile and install the whole thing in a
virtual machine or chroot env with "--prefix/usr/lib/x86_64-linux-gnu"
and copy binaries from that system.
- is there some othe approach that might be best

I obviously suck at this big time, but any help here would greatly appreciated.

I you like to see my build scripts, they are at:
https://github.com/jliljebl/flowblade-packaging/tree/master/Appimage


Thanks,

Janne
Dan Dennedy
2017-02-22 05:04:30 UTC
Permalink
Raw Message
I am not very familiar with AppImage, but the build scripts create launcher
scripts that set various environment variables relative to the location of
the launch script:
https://github.com/mltframework/mlt-scripts/blob/master/build/build-flowblade.sh#L1105

Maybe you can make a launch script and tell AppImage run that instead of
your main python script.
Post by Janne Liljeblad
Hi,
I've spend 10+ hours on trying to build binaries for Flowblade
AppImage. I can get MLT and modules to build but there is problem I
can't figure out, so I decided just to ask for help as a Python/Java
developer I'm not sure how to proceed.
AppImage project provided a recipe to build Flowblade AppImage but it
uses Ubuntu 14.04 binaries with MLT 0.9.0 and that's too old to
distribute.
- create Appimage with the Recipe I got
- build MLT 6.4.1 with dependencies from repository
- replace binaries in Appimage .AppDir with ones I've build my self
- rebuild Appimage
I used your Flowblade build script as a starting point to get the
configure flags etc.
It all works, I get all required binaries replaced, but when running
AppImage I get "mlt_repository_init: no plugins found in
"/home/janne/codes/flowblade-packaging/flowblade-packaging/Appimage/build/lib/mlt",
so I've obivously compiled my dev system paths into binaries.
Your build-script from flowblade had line: export
LD_RUN_PATH="$FINAL_INSTALL_DIR/lib" but I'm not using that.
To get everything compiled I'm running 'make install' to make
everything compile, with configure --prefix=<my work dir/build> so
this is where to paths go in, but this is needed (I think) to have
includes and .pc files available during compilation.
To get stuff working with appimage I need to compile MLT that installs
in "/usr/lib/x86_64-linux-gnu".
- is there some combination of "--prefix, --libdir, export CFLAGS=,
export LDFLAGS=, export PKG_CONFIG_PATH=" I can set to make this
happen or is MLT build system such that this hard
- is it just better to compile and install the whole thing in a
virtual machine or chroot env with "--prefix/usr/lib/x86_64-linux-gnu"
and copy binaries from that system.
- is there some othe approach that might be best
I obviously suck at this big time, but any help here would greatly appreciated.
https://github.com/jliljebl/flowblade-packaging/tree/master/Appimage
Thanks,
Janne
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Mlt-devel mailing list
https://lists.sourceforge.net/lists/listinfo/mlt-devel
Janne Liljeblad
2017-02-22 11:05:33 UTC
Permalink
Raw Message
Using that script more directly is certainly possible as "AppImage is
really just a self-mounting filesystem that executes the file called
AppRun inside". It's either that or getting MLT to compile in way that
I can replace binaries on Ubuntu 14.04. Well, anyway I can always
postpone this to August release, let's see how it goes.
Post by Dan Dennedy
I am not very familiar with AppImage, but the build scripts create launcher
scripts that set various environment variables relative to the location of
https://github.com/mltframework/mlt-scripts/blob/master/build/build-flowblade.sh#L1105
Maybe you can make a launch script and tell AppImage run that instead of
your main python script.
Post by Janne Liljeblad
Hi,
I've spend 10+ hours on trying to build binaries for Flowblade
AppImage. I can get MLT and modules to build but there is problem I
can't figure out, so I decided just to ask for help as a Python/Java
developer I'm not sure how to proceed.
AppImage project provided a recipe to build Flowblade AppImage but it
uses Ubuntu 14.04 binaries with MLT 0.9.0 and that's too old to
distribute.
- create Appimage with the Recipe I got
- build MLT 6.4.1 with dependencies from repository
- replace binaries in Appimage .AppDir with ones I've build my self
- rebuild Appimage
I used your Flowblade build script as a starting point to get the
configure flags etc.
It all works, I get all required binaries replaced, but when running
AppImage I get "mlt_repository_init: no plugins found in
"/home/janne/codes/flowblade-packaging/flowblade-packaging/Appimage/build/lib/mlt",
so I've obivously compiled my dev system paths into binaries.
Your build-script from flowblade had line: export
LD_RUN_PATH="$FINAL_INSTALL_DIR/lib" but I'm not using that.
To get everything compiled I'm running 'make install' to make
everything compile, with configure --prefix=<my work dir/build> so
this is where to paths go in, but this is needed (I think) to have
includes and .pc files available during compilation.
To get stuff working with appimage I need to compile MLT that installs
in "/usr/lib/x86_64-linux-gnu".
- is there some combination of "--prefix, --libdir, export CFLAGS=,
export LDFLAGS=, export PKG_CONFIG_PATH=" I can set to make this
happen or is MLT build system such that this hard
- is it just better to compile and install the whole thing in a
virtual machine or chroot env with "--prefix/usr/lib/x86_64-linux-gnu"
and copy binaries from that system.
- is there some othe approach that might be best
I obviously suck at this big time, but any help here would greatly appreciated.
https://github.com/jliljebl/flowblade-packaging/tree/master/Appimage
Thanks,
Janne
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Mlt-devel mailing list
https://lists.sourceforge.net/lists/listinfo/mlt-devel
Loading...