SparkleShare icon indicating copy to clipboard operation
SparkleShare copied to clipboard

Can't get the flatpak version to run in Ubuntu 17.10

Open mulle-nat opened this issue 6 years ago • 42 comments

This is on an upgraded Ubuntu 17.10 (Gnome), where I just installed Sparkleshare like so:

$ sudo apt install flatpak
$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub org.sparkleshare.SparkleShare

(Maybe naively) I thought it would be in my PATH then, but it isn't:

$ hash -r
$ which SparkleShare
$ which sparkleshare
$ which Sparkleshare

And it doesn't show up in the "Software Center" either. So then I learned that I can run it manually:

$ flatpak run org.sparkleshare.SparkleShare
14:32:00 Environment | SparkleShare 2.0.1 (Flatpak)
14:32:00 Environment | Git LFS 2.3.0
14:32:00 Environment | Git 2.14.1
14:32:00 Environment | Ubuntu (Unix 4.13.0.21)
14:32:00 Cmd |  | gvfs-set-attribute "/home/nat/SparkleShare" metadata::custom-icon-name org.sparkleshare.SparkleShare

(process:3): Gtk-WARNING **: Locale not supported by C library.
   Using the fallback 'C' locale.

But nothing happened. Nothing in the status bar, no process named Sparkleshare running. I then wiped my old config, but that didn't help.

$ flatpak run org.sparkleshare.SparkleShare
14:38:03 Environment | SparkleShare 2.0.1 (Flatpak)
14:38:03 Environment | Git LFS 2.3.0
14:38:03 Environment | Git 2.14.1
14:38:03 Environment | Ubuntu (Unix 4.13.0.21)
14:38:03 Cmd | ssh | ssh-keygen -t rsa -b 4096 -P "" -C "xxx (SparkleShare)" -f "2017-12-31_14h38.key"
14:38:03 Auth | Created key pair: 2017-12-31_14h38.key
14:38:03 Cmd |  | gvfs-set-attribute "/home/nat/SparkleShare" metadata::custom-icon-name org.sparkleshare.SparkleShare

(process:3): Gtk-WARNING **: Locale not supported by C library.
   Using the fallback 'C' locale.

There is nothing in the syslog or journalctl. And the logfile in ~/.config/org.Sparkle.. is the same as the console output.

$ tail -1 /var/log/syslog
Dec 31 14:38:02 xxx systemd[4735]: Started flatpak-org.sparkleshare.SparkleShare-22205.scope.

mulle-nat avatar Dec 31 '17 13:12 mulle-nat

This is probably because the flatpak doesn't support libappindicator yet. I don't have a fix for that right now. A UI rework (#1774) is planned to remove the need for any kind of status icon because GNOME is dropping support for status icons and Ubuntu is moveing to GNOME.

hbons avatar Jan 06 '18 11:01 hbons

I tried running it on Plamsa (KDE), it still won't run.

Says: error: Invalid id sparkleshare: Names must contain at least 2 periods

rolandixor avatar Jan 09 '18 21:01 rolandixor

That last error could be because you typed "flatpak run sparkleshare" instead of "flatpak run org.sparkleshare.SparkleShare"?

hbons avatar Jan 21 '18 11:01 hbons

I tried both at the time I reported the bug and it wouldn't launch. I'll have to reinstall the flatpack and try again to see if there is any useful output.

http://about.me/rolandixor/

Roland L. Taylor about.me/rolandixor [image: Roland L. Taylor on about.me] http://about.me/rolandixor

On Sun, Jan 21, 2018 at 7:06 AM, Hylke Bons [email protected] wrote:

That last error could be because you typed "flatpak run sparkleshare" instead of "flatpak run org.sparkleshare.SparkleShare"?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hbons/SparkleShare/issues/1790#issuecomment-359240248, or mute the thread https://github.com/notifications/unsubscribe-auth/AAiEQziHbzGp84qzay5LCm00X1jE_Yk_ks5tMxo7gaJpZM4RP2rm .

rolandixor avatar Jan 21 '18 21:01 rolandixor

I have a similar problem trying to get the flatpak to run on Ubuntu 17.10 with the flatpak ppa ppa:alexlarsson/flatpak. I get the flowing message:

user@xyz:~$ flatpak run org.sparkleshare.SparkleShare
01:21:10 Environment | SparkleShare 2.0.1 (Flatpak)
01:21:10 Environment | Git LFS 2.3.0
01:21:10 Environment | Git 2.14.1
01:21:10 Environment | Ubuntu (Unix 4.13.0.32)
01:21:10 Cmd |  | gvfs-set-attribute "/home/simon/SparkleShare" metadata::custom-icon-name org.sparkleshare.SparkleShare
Gtk-Message: Failed to load module "$GTK3_MODULES"
Gtk-Message: Failed to load module "/usr/lib/x86_64-linux-gnu/libplotinus/libplotinus.so"

gunwald avatar Jan 30 '18 00:01 gunwald

Same error as @mulle-nat here on Ubuntu 16.04.3 LTS.

What is the easiest way besides flatpak to install version 2.x?

p3k avatar Feb 19 '18 09:02 p3k

Same problem here, with Ubuntu 17.10.

Package from repository package do not work, package from flatpak do not work. I tried to compile in many ways. No success.

manelio avatar Feb 20 '18 23:02 manelio

@hbons i think it is nice to have different ways to install a package. however, from the perspective of sparkle share’s target audience (which i assume bases on ease of use): shouldn’t the most popular package manager be the default way to install it on linux machines?

i think a lot of linux users would like to use their software installer gui here, too.

what is the reasoning behind having e.g. the apt package still lagging at version 1.5, anyway?

furthermore, i have to provide more than 1gb of drive space just to make sparkle share install with flatpak (it’s my only flatpak package so far):

# flatpak list -d
Ref                                                   Origin  Active commit Latest commit Installed size Options               
org.sparkleshare.SparkleShare/x86_64/stable           flathub 78794046b1a9  -             575,6 MB       system,current
org.freedesktop.Platform.GL.nvidia-384-111/x86_64/1.4 flathub 9f6cc3921598  -             984,1 kB       system,runtime
org.freedesktop.Platform.ffmpeg/x86_64/1.6            flathub 1d3a797ec2c5  -               6,4 MB       system,runtime
org.gnome.Platform/x86_64/3.24                        flathub 6132154b089b  -             739,5 MB       system,runtime

p3k avatar Feb 21 '18 10:02 p3k

So the point of the flatpak is to bring the latest release to users directly. I don’t control the debian/ubuntu packages, so they always lag behind because of the distro release model and available time of the package maintainers.

Flatpak integrates with gnome-software (at least the newer versions) so this will be a nice way to install it.

About the size: you’re right that flatpak apps use more space initially because they need to also install a platform, but this will get less over time as more apps will use flatpak. I think it’s worth the trade off. Also, there’s some things that can be done to reduce the size of the SparkleShare flatpak significantly and I hope to look at that soon.

On Wed, Feb 21, 2018 at 10:00, Tobi Schäfer [email protected] wrote:

@hbons i think it is nice to have different ways to install a package. however, from the perspective of sparkle share’s target audience (which i assume bases on ease of use): shouldn’t the most popular package manager be the default way to install it on linux machines?

i think a lot of linux users would like to use their software installer gui here, too.

what is the reasoning behind having e.g. the apt package still lagging at version 1.5, anyway?

furthermore, i have to provide more than 1gb of drive space just to make sparkle share install with flatpak (it’s my only flatpak package so far):

flatpak list -ad Ref Origin Active commit Latest commit Installed size Options org.sparkleshare.SparkleShare/x86_64/stable flathub 78794046b1a9 - 575,6 MB system,current org.freedesktop.Platform.GL.nvidia-384-111/x86_64/1.4 flathub 9f6cc3921598 - 984,1 kB system,runtime org.freedesktop.Platform.ffmpeg/x86_64/1.6 flathub 1d3a797ec2c5 - 6,4 MB system,runtime org.gnome.Platform/x86_64/3.24 flathub 6132154b089b - 739,5 MB system,runtime

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/hbons/SparkleShare","title":"hbons/SparkleShare","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/hbons/SparkleShare"}},"updates":{"snippets":[{"icon":"PERSON","message":"@p3k in #1790: @hbons i think it is nice to have different ways to install a package. however, from the perspective of sparkle share’s target audience (which i assume bases on ease of use): shouldn’t the most popular package manager be the default way to install it on linux machines? i think a lot of linux users would like to use their software installer gui here, too. what is the reasoning behind having e.g. the apt package still lagging at version 1.5, anyway? furthermore, i have to provide more than 1gb of drive space just to make sparkle share install with flatpak (it’s my only flatpak package so far): flatpak list -ad Ref Origin Active commit Latest commit Installed size Options org.sparkleshare.SparkleShare/x86_64/stable flathub 78794046b1a9 - 575,6 MB system,current org.freedesktop.Platform.GL.nvidia-384-111/x86_64/1.4 flathub 9f6cc3921598 - 984,1 kB system,runtime org.freedesktop.Platform.ffmpeg/x86_64/1.6 flathub 1d3a797ec2c5 - 6,4 MB system,runtime org.gnome.Platform/x86_64/3.24 flathub 6132154b089b - 739,5 MB system,runtime"}],"action":{"name":"View Issue","url":"https://github.com/hbons/SparkleShare/issues/1790#issuecomment-367272966"}}}

hbons avatar Feb 21 '18 10:02 hbons

i see your point. have you considered alternatives to flatpak like appimage or snaps?

also, what about providing a ppa for sparkleshare?

p3k avatar Feb 21 '18 11:02 p3k

I've looked at them, but Flatpak is the best fit for the project.

I don't want to maintain different repositories for all the different distros. I get that there are some transition hiccups with the latest SparkleShare flatpak (on Ubuntu) right now, but once those are sorted there won't be any difference compared to installing a .deb package from the user's point of view.

I've downloaded Ubuntu 17.10 and will see if I can reproduce the issue.

Regarding the terminal output: does the app quit or does it keep running but there's no activity?

hbons avatar Feb 21 '18 12:02 hbons

As far as I can see, it isn't running:

user@Zeus:~$ flatpak run org.sparkleshare.SparkleShare
13:13:47 Environment | SparkleShare 2.0.1 (Flatpak)
13:13:47 Environment | Git LFS 2.3.0
13:13:47 Environment | Git 2.14.1
13:13:47 Environment | Ubuntu (Unix 4.13.0.36)
13:13:47 Cmd |  | gvfs-set-attribute "/home/user/SparkleShare" metadata::custom-icon-name org.sparkleshare.SparkleShare
Gtk-Message: Failed to load module "$GTK3_MODULES"
Gtk-Message: Failed to load module "/usr/lib/x86_64-linux-gnu/libplotinus/libplotinus.so"
user@Zeus:~$ ps aux | grep spar
user    10505  0.0  0.0  15920  1068 pts/0    S+   13:13   0:00 grep spar
user@Zeus:~$ 

I know, this is not the place to discuss this, but flatpack is really something terrible:

  • It does not work
  • it eats up all your disc space
  • it destroys, what was one of the main advantages of Linux: the package management. Now installing and maintaining applications on Linux is finally as complicated as in Windows.

gunwald avatar Feb 21 '18 12:02 gunwald

yes, the app quits as described by @gunwald and the original poster @mulle-nat.

p3k avatar Feb 21 '18 12:02 p3k

@gunwald nothing prevents you from installing packages. you'll still have your out-of-date distro package, nothing to do with flatpak. 👹

hbons avatar Feb 21 '18 12:02 hbons

To be fair, Snaps and AppImages provide similar problems. I'm an equal opportunity hater of them all. But anyway, back to the point of the bug.

rolandixor avatar Feb 21 '18 15:02 rolandixor

@p3k this doesn't fix the issue, but in case you're interested #1810 shaves 200MB off the flatpak.

hbons avatar Feb 22 '18 17:02 hbons

Is there any way to get SparkleShare running on Ubuntu 17.10?

Just tried to compile with meson:

Meson encountered an error in file SparkleShare/Linux/meson.build, line 42, column 0:
Native dependency 'notify-sharp-3.0' not found

But I don't found where to get the notify-sharp package.

manelio avatar Feb 25 '18 17:02 manelio

@manelio you'll need to install libnotify3.0-cil-dev. Just saw it's missing from the build instructions. I'll add it.

hbons avatar Feb 25 '18 17:02 hbons

Good news. Found that someone has managed to get libappindicator to compile inside a flatpak with a lot of patches: https://github.com/TingPing/flatpak-packages/blob/master/libappindicator.json

I'll see if this works for SparkleShare.

hbons avatar Feb 25 '18 17:02 hbons

I've managed to build appindicator in the flatpak now using that patch. I'll need some testers as I don't have Ubuntu installed right now. It's easy to test:

  1. Clone this branch: https://github.com/hbons/org.sparkleshare.SparkleShare/tree/feature/appindicator

  2. Run ./build.sh. This can take up to 30 minutes.

  3. Run flatpak run org.sparkleshare.SparkleShare

Thanks!

hbons avatar Feb 26 '18 10:02 hbons

I'm on it.

I'll let you know when it ends.

manelio avatar Feb 26 '18 10:02 manelio

Any luck?

I forgot to give appindicator permission to break out of the sandbox. Just update org.sparkleshare.SparkleShare from master if it doesn't yet work.

hbons avatar Mar 01 '18 21:03 hbons

If someone can test I'll be able to make a release next week. :)

hbons avatar Mar 10 '18 13:03 hbons

I would test, but I need to know what dependencies I need to build. I get the following message:

user@linux:~/Kompilieren/org.sparkleshare.SparkleShare$ ./build.sh
Fehler: org.gnome.Sdk 3.26 ist nicht installiert
Failed to init: Unable to find sdk org.gnome.Sdk version 3.26
Fehler: org.sparkleshare.SparkleShare master ist nicht installiert
Warning: Could not update extra metadata for 'sparkleshare': Remote listing for sparkleshare not available; server has no summary file
Check the URL passed to remote-add was valid

Fehler: Remote listing for sparkleshare not available; server has no summary file
Check the URL passed to remote-add was valid

gunwald avatar Mar 10 '18 13:03 gunwald

@gunwald Run these:

flatpak --user remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak --user install gnome org.gnome.Platform 3.26
flatpak --user install gnome org.gnome.Sdk 3.26

then ./build.sh should work

Thanks!

hbons avatar Mar 10 '18 13:03 hbons

I got the error:

Fehler: org.sparkleshare.SparkleShare master ist nicht installiert`

Which went away after I did: flatpak --user remote-add flathub https://flathub.org/repo/flathub.flatpakrepo (I only had added that remote globally before)

After that I could build an install the flatpak. I started it with: flatpak run org.sparkleshare.SparkleShare/x86_64/master

First time I started it, an window opened asking me to put my name and E-Mail in, so I guessed the flatpak didn't had access to the config of my old Sparkleshare configuration files in my home directory. I exited the window, to figure out, what could be the reason of that. Sadly I wasn't able to start Sparkleshare again, getting following error messages:

flatpak run org.sparkleshare.SparkleShare/x86_64/master 
23:33:16 Environment | SparkleShare 3.28.0 (Flatpak)
23:33:16 Environment | Git LFS 2.3.4
23:33:16 Environment | Git 2.16.2
23:33:16 Environment | Ubuntu (Unix 4.13.0.37)
23:33:16 Cmd |  | gvfs-set-attribute "/home/user/SparkleShare" metadata::custom-icon-name org.sparkleshare.SparkleShare
23:33:16 Environment | GTK+ 3.22.26

(process:3): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
exception inside UnhandledException handler: Sharing violation on path /home/user/.config/org.sparkleshare.SparkleShare/logs/log_2018-03-10.9.txt

[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at SparkleShare.UserInterface..ctor () [0x0008e] in <92efbe33b0a544da909269a25b277eda>:0 
  at SparkleShare.SparkleShare.Main (System.String[] args) [0x00128] in <92efbe33b0a544da909269a25b277eda>:0

gunwald avatar Mar 10 '18 22:03 gunwald

@gunwald I'll look into that crash. Did you see the appindicator on the first run though? You can start fresh by removing ~/.config/org.sparkleshare.SparkleShare.

hbons avatar Mar 11 '18 11:03 hbons

Unfortunately I can't say, whether or not the icon showed up. I tried already to start over by deleting the configuration files in ~/.config/org.sparkleshare.SparkleShare but din't help. I still get the same error.

gunwald avatar Mar 11 '18 12:03 gunwald

There where still some processes running:

user@Ulpian:~$ ps aux | grep sparkle
user     4050  0.0  0.0  15920  1052 pts/0    S+   13:51   0:00 grep sparkle
user     7485  0.0  0.0   4592   944 tty2     S+   Mär10   0:00 sh -c type -P sparkleshare &>/dev/null && sparkleshare || flatpak run org.sparkleshare.SparkleShare
user     7548  0.0  0.0   4480   916 tty2     S+   Mär10   0:00 /usr/lib/flatpak/flatpak-bwrap --args 17 sparkleshare
user     7582  0.0  0.0   4480   780 tty2     S+   Mär10   0:00 /usr/lib/flatpak/flatpak-bwrap --args 17 /usr/lib/flatpak/flatpak-dbus-proxy --fd=19 unix:path=/run/user/1000/bus /run/user/1000/.dbus-proxy/session-bus-proxy-QLP3FZ --filter --own=org.sparkleshare.SparkleShare --own=org.sparkleshare.SparkleShare.* --talk=org.gtk.vfs.* --talk=org.freedesktop.portal.* --talk=org.gtk.vfs --talk=org.freedesktop.Notifications unix:abstract=/tmp/dbus-LQme0TfaZh,guid=2fa0134e22d9162af50ec1a45aa45cb0 /run/user/1000/.dbus-proxy/a11y-bus-proxy-SKO3FZ --filter --sloppy-names --filter=org.a11y.atspi.Registry=org.a11y.atspi.Socket.Embed@/org/a11y/atspi/accessible/root --filter=org.a11y.atspi.Registry=org.a11y.atspi.Socket.Unembed@/org/a11y/atspi/accessible/root --filter=org.a11y.atspi.Registry=org.a11y.atspi.Registry.GetRegisteredEvents@/org/a11y/atspi/registry --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.GetKeystrokeListeners@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.GetDeviceEventListeners@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.NotifyListenersSync@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.NotifyListenersAsync@/org/a11y/atspi/registry/deviceeventcontroller
user     7584  0.0  0.0 187756  4704 tty2     Sl+  Mär10   0:00 /usr/lib/flatpak/flatpak-dbus-proxy --fd=19 unix:path=/run/user/1000/bus /run/user/1000/.dbus-proxy/session-bus-proxy-QLP3FZ --filter --own=org.sparkleshare.SparkleShare --own=org.sparkleshare.SparkleShare.* --talk=org.gtk.vfs.* --talk=org.freedesktop.portal.* --talk=org.gtk.vfs --talk=org.freedesktop.Notifications unix:abstract=/tmp/dbus-LQme0TfaZh,guid=2fa0134e22d9162af50ec1a45aa45cb0 /run/user/1000/.dbus-proxy/a11y-bus-proxy-SKO3FZ --filter --sloppy-names --filter=org.a11y.atspi.Registry=org.a11y.atspi.Socket.Embed@/org/a11y/atspi/accessible/root --filter=org.a11y.atspi.Registry=org.a11y.atspi.Socket.Unembed@/org/a11y/atspi/accessible/root --filter=org.a11y.atspi.Registry=org.a11y.atspi.Registry.GetRegisteredEvents@/org/a11y/atspi/registry --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.GetKeystrokeListeners@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.GetDeviceEventListeners@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.NotifyListenersSync@/org/a11y/atspi/registry/deviceeventcontroller --filter=org.a11y.atspi.Registry=org.a11y.atspi.DeviceEventController.NotifyListenersAsync@/org/a11y/atspi/registry/deviceeventcontroller
user     7609  0.0  0.0   4744   960 tty2     S+   Mär10   0:00 /usr/lib/flatpak/flatpak-bwrap --args 17 sparkleshare
user     7686  0.0  0.0  11196  2032 tty2     S+   Mär10   0:00 bash /app/bin/sparkleshare
user     7727  0.0  0.2 2649504 45624 tty2    Sl+  Mär10   0:02 mono /app/share/sparkleshare/SparkleShare.exe

After I killed them all I could start the flatpak again. But the appindicator isn't showing up. I get the window to add some projects though, which I can't do without coping the new key to the server, because as I said the configs of the old instance aren't recognized.

gunwald avatar Mar 11 '18 12:03 gunwald

I've fixed that crash. Thanks for testing. I'll need to try some more things to fix the appindicator...

hbons avatar Mar 14 '18 16:03 hbons