mayo icon indicating copy to clipboard operation
mayo copied to clipboard

Create an AppImage for Mayo

Open luzpaz opened this issue 4 years ago • 6 comments

Would it be possible to do this so compiling wouldn't be necessary ?
this is also the way FreeCAD does it.

luzpaz avatar Oct 10 '20 01:10 luzpaz

Hello Luzpaz, This is a good idea, will try to do so. Some CI(eg travis) should be in place first so creation of the AppImage can be automated.

I leave this issue opened for now. Thanks for that suggestion!

HuguesDelorme avatar Oct 12 '20 07:10 HuguesDelorme

The first step would be to get this to compile on the oldest still-supported Ubuntu release, which currently is xenial. Are there step-by-step instructions for it somewhere?

probonopd avatar Dec 19 '20 10:12 probonopd

@probonopd I've added a wiki page for build instructions on Debian-based systems.

For recent Qt DLLs on Xenial it looks pretty straightforward, I would just pick one from https://launchpad.net/~beineri For OpenCascade it will have to be built from source code by hand, I think its dependencies could use Xenial official packages.

I'm wondering about GCC as Mayo requires GCC >= 9 Do you know some ppa I could use to have GCC9 packages on Xenial ?

Thanks for your help

HuguesDelorme avatar Mar 11 '21 23:03 HuguesDelorme

I'm wondering about GCC as Mayo requires GCC >= 9 Do you know some ppa I could use to have GCC9 packages on Xenial?

Apparently the developers put no thought into compiling and running this software on all still-supported releases of major Linux distributions, but instead (lazily?) cared just about the latest and greatest?

In this case, https://github.com/AppImageCrafters/appimage-builder may be a way to go since it allows you to build on newer and still run on older systems. Be aware that this comes at a cost, though: Almost everything needs to be bundled privately.

probonopd avatar Mar 12 '21 19:03 probonopd

@probonopd Thanks for you help ! My first intent is to build Mayo on Xenial as you recommended and then package the binaries into an AppImage. GCC >= 9 is required to build Mayo on Linux (mainly caused by the 3rdparty header-only lib magic_enum). So again my question : is there a way to have GCC 9 on Xenial to build Mayo ? Or is it non-sense to do so and then use instead appimage-builder ?

HuguesDelorme avatar Mar 13 '21 10:03 HuguesDelorme

is there a way to have GCC 9 on Xenial to build Mayo?

I don't know, sorry. But usually pulling in newer compilers tends to pull in newer runtime requirements, and hence makes things not runnable on Xenial anymore.

Unless you use something like appimage-builder.

Maybe @azubieta knows more.

probonopd avatar Mar 13 '21 10:03 probonopd

AppImage provided starting from mayo v0.6.0

HuguesDelorme avatar Sep 09 '22 10:09 HuguesDelorme

Thanks for making an AppImage. Any chance you could build it on the oldest still-supported Ubuntu LTS release, which currently is Ubuntu 18.04? This way it could run on all still-supported releases of Ubuntu and could pass the tests on appimage.github.io.

probonopd avatar Sep 10 '22 10:09 probonopd

@probonopd I will try to build on Unbuntu 18.04 with LLVM/Clang. magic_enum 3rdparty library used in Mayo requires GCC >= 9 and Ubuntu 18.04 provides GCC 7.4.0 magic_enum claims to support LLVM >= 6 and it seems fine with Ubuntu 18.04

HuguesDelorme avatar Sep 12 '22 08:09 HuguesDelorme