leinardi | Hi, I'm trying to distribute GWE via Snap (https://forum.snapcraft.io/t/help-porting-gwe-nvidia-info-and-overclock-app-to-snap/9440) and I was wondering if someone here can give me some real time support. | 12:40 |
---|---|---|
leinardi | diddledan, popey told me that you have done some gnome stuff recently, do you have some time to help me getting started? | 12:48 |
Chipaca | leinardi: maybe during the week...? | 14:45 |
Chipaca | people go outside for the weekend | 14:45 |
leinardi | Chipaca, I work during the week but I can be available after 18:00 CET. I work on this project on my free time so, usually, during the weekend. | 14:47 |
popey | hey leinardi happy to help | 14:47 |
Chipaca | popey: go outside! i hear there's icecream | 14:47 |
cwayne | Chipaca: what's this "outside" you speak of | 14:47 |
leinardi | :D | 14:47 |
popey | I went outside. Didn't like it much. | 14:48 |
Chipaca | ah, fair enough | 14:48 |
cwayne | There's bees and stuff out there | 14:48 |
Chipaca | did you say beer | 14:48 |
* Chipaca runs | 14:48 | |
popey | BEES! | 14:48 |
popey | leinardi: snap install gnome-3-26-1604 | 14:49 |
popey | I have seen that error too | 14:49 |
popey | it tells you the wrong content snap to use, right? | 14:49 |
Chipaca | popey: https://youtu.be/Nni0rTLg5B8?t=40 | 14:49 |
popey | ooh oooh, i know wht | 14:50 |
popey | *why | 14:50 |
popey | leinardi: how are you building this given your snap/snapcraft.yaml isn't in the root of the project but buried in dist? | 14:50 |
leinardi | popey, yep, that's the error, but I don't get why should I install both gnome-3-26-1604 and gnome-3-30-1804, is that normal? | 14:51 |
popey | no, i know why it's happening and want to build here on my laptop to prove it | 14:51 |
leinardi | on my local branch is on the root, but I would like to move it to dist if possible | 14:51 |
leinardi | I can push another commit so that we have the same location for the snapcraft.yaml | 14:52 |
popey | how can i get the latest source and yaml? | 14:52 |
leinardi | popey, ok just pushed, you can checkout the branch feature/snap | 14:55 |
popey | ok, lemme have a play | 14:55 |
leinardi | sure, thanks! | 14:56 |
mup | PR snapd#6436 opened: interfaces: add system-backup interface <Created by jdstrand> <https://github.com/snapcore/snapd/pull/6436> | 15:02 |
popey | https://www.irccloud.com/pastebin/5aQABZPM/ | 15:17 |
popey | ^ leinardi | 15:18 |
popey | https://www.irccloud.com/pastebin/iwsIb2xx/meson-log.txt | 15:19 |
leinardi | popey, could it be that you are missing some of the dependencies? Are you able to run GWE with the ./run.sh? | 15:20 |
leinardi | deps: sudo apt install python3-pip libcairo2-dev libgirepository1.0-dev libglib2.0-dev libdazzle-1.0-dev gir1.2-gtksource-3.0 gir1.2-appindicator3-0.1 python3-gi-cairo | 15:20 |
popey | thats me building it as a snap | 15:20 |
popey | will check those are build-packages.. | 15:20 |
popey | Dependency gtk+-3.0 found: NO found '3.22.30' but need: '>=3.24' | 15:24 |
popey | :( | 15:24 |
popey | do you really need 3.24? | 15:24 |
leinardi | popey, unfortunately yes, due to libdazzle | 15:26 |
popey | This is a bit of a blocker. There's ways around it though. | 15:26 |
leinardi | https://gitlab.gnome.org/GNOME/libdazzle/issues/31 | 15:26 |
popey | One way is to add a ppa from the ubuntu desktop team, which pulls in newer GTK | 15:27 |
popey | Another way is to build gtk (and whatever else) from sauce | 15:27 |
popey | I believe there is work ongoing to fix this | 15:28 |
popey | kenvandine and diddledan are working on a gnome extension for snapcraft | 15:28 |
leinardi | the ppa needs to be added to the host machine, right? I guess is needed only for Ubuntu < 18.10. I'm on 18.10 I have the right version | 15:29 |
popey | Well... | 15:29 |
kenvandine | Build for core18 | 15:29 |
popey | Snaps are built against a runtime. The main ones are core(16) and core18 | 15:29 |
popey | kenvandine: i am building for core18 | 15:29 |
kenvandine | Is my recommendation | 15:29 |
popey | but this app needs newer gtk | 15:30 |
kenvandine | Oh | 15:30 |
kenvandine | The future build snap will help there... But not ready yet | 15:30 |
kenvandine | You can also build you own gtk part | 15:30 |
popey | got any examples? | 15:31 |
leinardi | I'm confused, what is the gnome-3-30-1804 that I have in the snapcraft.yaml? Isn't that providing gtk 3.24? | 15:31 |
popey | That's used at runtime, to provide some support libs and a launcher | 15:33 |
popey | We're (I'm) stuck at the "building" part | 15:33 |
popey | When you built on 18.10, you're going to likely end up with a snap that won't run on anything | 15:33 |
popey | Because it will be built against newer libc and friends. | 15:33 |
leinardi | I see | 15:34 |
popey | We recommend building in a clean container or vm running 18.04 or 16.04 | 15:34 |
popey | now, 16.04 is too old for your application, so prefer 18.04. | 15:34 |
popey | http://paste.ubuntu.com/p/rtv4V37Ddm/ | 15:34 |
popey | that's the yaml I have so far, note the addition of "base: core18" which tells snapcraft to build against core 18 which is ~ ubuntu 18.04 | 15:35 |
popey | Unless we go down the path of building the world from scratch, starting with newer GTK, we may have to put this on pause. | 15:36 |
popey | I mean, I'm happy to help you move forward, and build these bits to get you moving :) | 15:36 |
popey | until the work ken mentioned is done. | 15:36 |
popey | This is a pitfall of having a beautiful app on the bleeding edge :) | 15:37 |
popey | but you'd likely have to build quite a bit of gtk / gnome / gi to get this working. | 15:37 |
leinardi | is there any ETA it? Are we talking about weeks, months or 20.04? | 15:38 |
leinardi | *for it | 15:38 |
popey | Great question. Might be faster to build those parts :S | 15:39 |
leinardi | :) | 15:39 |
popey | I was hoping kenvandine might have a repo on gitlab somewhere which we can steal parts from :) | 15:39 |
leinardi | sorry for the silly question but it is still not clear to me: shouldn't be enough to have the proper runtime and just build on a host that has GTK 3.24? | 15:40 |
popey | 18.10 for example? No, because it will be built against the libc that's in 18.10 | 15:40 |
popey | So someone on 16.04 installs your snap and it will fall over with horrible LIBC errors in capital letters | 15:41 |
kenvandine | https://gitlab.gnome.org/Community/Ubuntu/gnome-3-28-1804-sdk/blob/master/snapcraft.yaml#L297 | 15:42 |
popey | GOOD LORD | 15:43 |
kenvandine | That's a gtk part, just ignore the build-environment line | 15:43 |
popey | and bump source-branch? | 15:43 |
kenvandine | But, you might run into issues | 15:43 |
popey | haha, no shit :) | 15:43 |
kenvandine | I gotta run now.. but I can help out on Monday | 15:44 |
popey | thanks! | 15:44 |
leinardi | mmm please be patient, just need to ask more questions to better understand :) When we are talking about building, we are talking just about libdazzle, right? Because My app is a PyGOpject app, so I don't have to build anything beside libdazzle, or not? | 15:45 |
leinardi | what I am expecting is that gnome-3-30-1804 is providing all the gnome 3.30 support, but I still need to provide libdazzle since is not part of it | 15:46 |
leinardi | or am I missing something? | 15:46 |
popey | gnome-3-30-1804 doesn't provide the stuff needed at *build* time. | 15:47 |
popey | only runtime components | 15:47 |
popey | The problem is that you're targetting 3.24 which isn't available in Ubuntu 18.04 repos | 15:48 |
popey | (I mean, libdazzle needs that) | 15:48 |
leinardi | ok but, I don't get why for a user with gnome-3-30-1804 installed would be a problem to run the snap build on my machine, if I bundle libdazzle binary (I'm an Android dev, so not really familiar with C dependencies) | 15:50 |
popey | if you build on a system which has newer libc, it likely won't work on a system with older libc | 15:53 |
popey | this is part of the reason snaps exist at all. You build in a specific environment (core 16 ~ Ubuntu 16.04, or core 18 ~ Ubuntu 18.04). | 15:53 |
popey | When the user instals the snap, they get core16 or core18 which contains the libc the app was built against, no matter what they install the snap on | 15:54 |
popey | So whether they install your snap on fedora 28 or arch bleeding edge, your snap works because along comes core18 or core16 snap "runtime" | 15:54 |
popey | That's all fine, and isn't the problem we need to solve today. | 15:54 |
popey | The problem is *building* the thing at all on 18.04 (not 18.10) | 15:54 |
leinardi | ok, now I think is clear, thanks :) | 15:56 |
popey | :) | 15:56 |
popey | I'll have a chat with Ken on Monday. I'll add it to discuss in our regular catch up meeting to see what our options are, okay? | 15:58 |
popey | (and reply on the forum) | 15:58 |
leinardi | that would be awesome, thanks a lot! | 15:58 |
popey | left a placeholder reply on the forum so others don't waste time on it. | 16:00 |
popey | sorry I don't have a quick answer for you | 16:01 |
leinardi | no worries, I'm glad to be getting some help, I can work on other thing while we figure out how to build on 18.04 :) | 16:03 |
leinardi | popey, one last question for today: do you know if this is possible? https://forum.snapcraft.io/t/specify-custom-build-directory/9671 | 16:05 |
diddledan | popey: leinardi: building against core18 should give you gnome 3.28 from the 18.04 repo (that's what bionic has natively) | 16:12 |
leinardi | diddledan, correct, but I need gnome 3.30 / gtk 3.24 | 16:13 |
diddledan | aah, gtk. sorry, I misunderstood | 16:15 |
diddledan | in that case then popey is right that the only way currently to get a more recent gtk is to rebuild it from source | 16:25 |
leinardi | diddledan, I see, thanks. Do you know if it's possible to specify a custom directory for the build output of snapcraft? I'm talking about the parts, prime and stage directories. I'd like to have them inside a build folder. | 16:29 |
diddledan | that's not possible | 16:29 |
popey | note I tweaked your yaml to not have references to snap in the prefix | 16:31 |
diddledan | the idea is that you use a throwaway build system, e.g. a vm, that does everything internally to the vm | 16:31 |
popey | it shouldn't be needed | 16:31 |
popey | yeah, base: core18 will use multipass to build in an 18.04 vm | 16:31 |
* diddledan goes to find a multipass pic | 16:31 | |
diddledan | https://cdn.instructables.com/FTJ/CYOV/IEB8CSW1/FTJCYOVIEB8CSW1.LARGE.jpg?auto=webp | 16:32 |
leinardi | oh ok. popey: thanks, I have already pushed your changes to the feature/snap branch | 16:32 |
leinardi | diddledan, :D | 16:32 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!