# Pack mono gtk-sharp application as AppImage

**URL:** <https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402>\
**Category:** Creating AppImages\
**Created:** [June 4, 2018, 5:52pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402 "2018-06-04T17:52:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sven](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sven](https://discourse.appimage.org/u/Sven)\
**Post date:** [June 4, 2018, 5:52pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/1 "2018-06-04T17:52:51Z")

</div>

Hello everybody,

I’m developer of AudioCuesheetEditor [https://sourceforge.net/p/audiocuesheet](https://sourceforge.net/p/audiocuesheet) and would like to pack my application as an AppImage, but don’t know, where to start. I use fedora 28 with KDE environment.  
To the application: It’s a mono gtk-sharp application, which also needs external libraries (SFML,CSFML,etc).  
I’m not completely new to packaging, I also provided fedora RPMs some time ago, but now I would like to do the packaging more distribution open, so that’s why I’m here. I would like to deploy pre build binaries, what is the best way to do so? Is there some kind of spec to write? How do I get an AppImage?

Thanks for your help.  
Sven

---

<div class="post-metadata">

**Author:** ![CalebQ42](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/calebq42/32/151_2.png) [@CalebQ42](https://discourse.appimage.org/u/CalebQ42)\
**Post date:** [June 4, 2018, 11:37pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/2 "2018-06-04T23:37:36Z")

</div>

I haven’t packaged anything myself in AppImage format, but unless I’m wrong, [AppImageKit](https://github.com/AppImage/AppImageKit) is where you should start, specifically the [appimagetool](https://github.com/AppImage/AppImageKit#appimagetool-usage) section on the Readme.

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [June 5, 2018, 4:45am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/3 "2018-06-05T04:45:07Z")

</div>

As for Mono, I am really not an expert on it but there are some notes on [https://github.com/AppImage/AppImageKit/wiki/Bundling-Mono-apps](https://github.com/AppImage/AppImageKit/wiki/Bundling-Mono-apps).

Perhaps [@Juniorsnet](https://github.com/Juniorsnet) knows more.

---

<div class="post-metadata">

**Author:** ![Sven](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sven](https://discourse.appimage.org/u/Sven)\
**Post date:** [June 5, 2018, 7:53am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/4 "2018-06-05T07:53:20Z")

</div>

Well thanks for your response. I’m not familiar with AppImage, so where do I start? I also read about the appimagetool, but how do I install it? And how do I use it? There must be some kind of specification, to tell the tool how to bundle my binaries, or am I missing something?

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [June 5, 2018, 7:06pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/5 "2018-06-05T19:06:07Z")

</div>

Please see [https://github.com/AppImage/appimagekit/wiki](https://github.com/AppImage/appimagekit/wiki) and please let’s know here if you are missing any information thereafter. Thanks.

---

<div class="post-metadata">

**Author:** ![darealshinji](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/darealshinji/32/202_2.png) [@darealshinji](https://discourse.appimage.org/u/darealshinji)\
**Post date:** [June 13, 2018, 12:28am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/6 "2018-06-13T00:28:20Z")

</div>

Maybe this script can help: [https://gist.github.com/darealshinji/67b7705d186a5e4bc8e0438aa339b7a1](https://gist.github.com/darealshinji/67b7705d186a5e4bc8e0438aa339b7a1)  
I have also mentioned this here: [https://github.com/AppImage/AppImages/issues/332#issuecomment-393499284](https://github.com/AppImage/AppImages/issues/332#issuecomment-393499284)

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [June 20, 2018, 5:53am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/7 "2018-06-20T05:53:42Z")

</div>

Thank you. Very helpful.

To everyone packaging Mono/Gtk# applications as AppImages, please let us know here.

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [August 16, 2020, 9:55am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/8 "2020-08-16T09:55:52Z")

</div>

Maybe using `dotnet publish` would work?

See this [.NET Core AppImage example](https://github.com/ppy/osu-deploy/blob/697a49e9602502a2b7a899c0dff5383f6512d5d2/Program.cs#L207-L243) of how to deploy .NET Core (Mono) applications as an AppImage using `dotnet publish -f netcoreapp3.1 -r linux-x64` from within a `.cs` program.

---

<div class="post-metadata">

**Author:** ![app12](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@app12](https://discourse.appimage.org/u/app12)\
**Post date:** [August 24, 2020, 4:43pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/9 "2020-08-24T16:43:31Z")

</div>

If someone would like to try Mono/Gtk# application, it would be nice to package Pinta image editing program from [https://www.pinta-project.com/releases/](https://www.pinta-project.com/releases/)

It is already available as Snap and Flatpack package, but no AppImage yet.

---

<div class="post-metadata">

**Author:** ![DeafMan1983](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/deafman1983/32/449_2.png) [@DeafMan1983](https://discourse.appimage.org/u/DeafMan1983)\
**Post date:** [September 20, 2020, 3:12am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/10 "2020-09-20T03:12:01Z")

</div>

Hey everyone I made SDL2-CS with Dotnet 3.1 ( netcoreapp3.1 ) = it works fine without requirements like ( filename ).so not found

If you want know to copy from installed or compiled libSDL2 libraries

Example: `cp -a /usr/lib/(arch)-linux-gnu/libSDL2^ PATH-TO-AppDir/lib/(arch)-linux-gnu/`

For published minimal Dotnet final application as  
mkdir PATH-TO-AppDir/DotNetApp  
And copy file contents from publish directory to DotNetApp than you know how did somebody like mono’s appimage LD\_LIBRARY\_PATH for finding with libSDL2 libraries.

It is really easy to bundle with AppImage

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [September 20, 2020, 7:14am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/11 "2020-09-20T07:14:23Z")

</div>

Hi @DeafMan1983, welcome to AppImage.

So you succeeded in making an AppImage of your project? Is it available for download somewhere? Then I can put it through our automated compatibility test.

---

<div class="post-metadata">

**Author:** ![DeafMan1983](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/deafman1983/32/449_2.png) [@DeafMan1983](https://discourse.appimage.org/u/DeafMan1983)\
**Post date:** [September 27, 2020, 8:02am UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/12 "2020-09-27T08:02:03Z")

</div>

Hey @probono, thanks for welcome!

Oh sorry I forget that. I will create one and I will show ok… sorry for late time.

---

<div class="post-metadata">

**Author:** ![DeafMan1983](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/deafman1983/32/449_2.png) [@DeafMan1983](https://discourse.appimage.org/u/DeafMan1983)\
**Post date:** [September 28, 2020, 2:11pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/13 "2020-09-28T14:11:25Z")

</div>

UPDATED: I want show an example MonoRuntime ( 5.20.1 include Gtk#2 and Gtk+2 packages ( without themes and Stock images ) But I want try if it works as well. Check [Google Drive](https://drive.google.com/file/d/1e8XSb_iVhxQE1LYifiIZMnrtzAz3Vc9d/view)

// EDIT: Remember that if you want completed Gtk2 runtime then you need share folder for themes, icon and stick images and make default theme like

```auto
Gtk.Settings.Default.ThemeName = "Xamarin-Dark";

```

And make sure compile and bundle in AppImage. Thanks!

// EDIT 2:  
Yaaayyy I am very excited to make AppImage with Pinta = SUCCESSFULLY = [Click Here](https://drive.google.com/file/d/1vkY1PgM7ZpgqPPFOkJYjIdSamwzvfP5d/view)!  
PS Please tell Pinta Development! I made simple AppImage ( Include Package installation from Ubuntu or newest version with Pinta and Mono Runtime 5.20.1 with Mono.Addins 3 files and Gtk2 Packages with Icons ) If you have problem then you can try with appimage file --mount … If youz can change icons and theme as default…

Enjoy bundling and embedding AppImage

---

<div class="post-metadata">

**Author:** ![app12](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@app12](https://discourse.appimage.org/u/app12)\
**Post date:** [September 29, 2020, 6:17pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/14 "2020-09-29T18:17:13Z")

</div>

@DeafMan1983, I downloaded Pinta from your “EDIT 2” link from your above post and then on Ubuntu 20.04 I executed commands:  
`chmod a+x Pinta`  
`. /Pinta`  
and I’ve got error message:

> /tmp/.mount\_Pinta2GPOIa/MonoRuntime/bin/mono: symbol lookup error: /tmp/.mount\_Pinta2GPOIa/MonoRuntime/bin/mono: undefined symbol: clock\_getres, version GLIBC\_2.2.5

Do I need anything else to do?

---

<div class="post-metadata">

**Author:** ![DeafMan1983](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/deafman1983/32/449_2.png) [@DeafMan1983](https://discourse.appimage.org/u/DeafMan1983)\
**Post date:** [September 29, 2020, 7:17pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/15 "2020-09-29T19:17:00Z")

</div>

Ah you use Ubuntu 20.04. Mono need compatible for Ubuntu 20.04 because I use Momo for Ubuntu 18.04.x. You should unpack to Pinta.AppDir and download Mono Runtime Raw version ( Minimal package ) for Ubuntu 20.04 x64 then you copy 3 bin, etc and lib to Pinta.AppDir/MonoRuntime then download appimagetool and type ,/appimagetool Pinta.AppDir Pinta and try your Pinta

---

<div class="post-metadata">

**Author:** ![app12](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@app12](https://discourse.appimage.org/u/app12)\
**Post date:** [September 30, 2020, 4:57pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/16 "2020-09-30T16:57:40Z")

</div>

I am not very familiar with AppImage, but if I understand correctly AppImage is Linux distribution and version dependent? For example Pinta’s AppImage should be build for multiple Linux distributions/versions in separate process one for each distribution/version?

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [October 3, 2020, 8:01pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/17 "2020-10-03T20:01:58Z")

</div>

AppImages will run on all systems that are as new as or newer than the system the binaries that went into the AppImage were built on.

Exception: AppImages that bundle _everything_, including glibc. Those can also run on _older_ distributions than the one that was used for building what went into the AppImage.

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [October 3, 2020, 8:09pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/18 "2020-10-03T20:09:22Z")

</div>

[quote=“DeafMan1983, post:13, topic:402”]  
Yaaayyy I am very excited to make AppImage with Pinta = SUCCESSFULLY = [Click Here](https://drive.google.com/file/d/1vkY1PgM7ZpgqPPFOkJYjIdSamwzvfP5d/view)!  
PS Please tell Pinta Development![/quote]

Great success! 👍

Best contact them directly:

> **[Contact - Pinta](https://www.pinta-project.com/contact)**

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [October 3, 2020, 8:09pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/19 "2020-10-03T20:09:55Z")

</div>

> [@app12](#):
>
> Do I need anything else to do?

Build on Ubuntu xenial, which is currently the oldest still-supported Ubuntu release.

---

<div class="post-metadata">

**Author:** ![app12](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@app12](https://discourse.appimage.org/u/app12)\
**Post date:** [October 6, 2020, 4:54pm UTC](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402/20 "2020-10-06T16:54:29Z")

</div>

> [@probono](#):
>
> AppImages will run on all systems that are as new as or newer than the system the binaries that went into the AppImage were built on.

Is this also the case in Pinta build by @DeafMan1983? He build Pinta on Ubuntu 18.04 where allegedly working fine, but I am using Ubuntu 20.04 and appimage package does not work. Am I missing something?

Can someone build Pinta to work on Ubuntu 20.04? I am not a developer, just end-user.

[Next page](https://discourse.appimage.org/t/pack-mono-gtk-sharp-application-as-appimage/402.md?page=2)
