/srv/irclogs.ubuntu.com/2019/01/26/#snappy.txt

leinardiHi, 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
leinardididdledan, popey told me that you have done some gnome stuff recently, do you have some time to help me getting started?12:48
Chipacaleinardi: maybe during the week...?14:45
Chipacapeople go outside for the weekend14:45
leinardiChipaca, 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
popeyhey leinardi happy to help14:47
Chipacapopey: go outside! i hear there's icecream14:47
cwayneChipaca: what's this "outside" you speak of14:47
leinardi:D14:47
popeyI went outside. Didn't like it much.14:48
Chipacaah, fair enough14:48
cwayneThere's bees and stuff out there14:48
Chipacadid you say beer14:48
* Chipaca runs14:48
popeyBEES!14:48
popeyleinardi: snap install gnome-3-26-160414:49
popeyI have seen that error too14:49
popeyit tells you the wrong content snap to use, right?14:49
Chipacapopey: https://youtu.be/Nni0rTLg5B8?t=4014:49
popeyooh oooh, i know wht14:50
popey*why14:50
popeyleinardi: how are you building this given your snap/snapcraft.yaml isn't in the root of the project but buried in dist?14:50
leinardipopey, 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
popeyno, i know why it's happening and want to build here on my laptop to prove it14:51
leinardion my local branch is on the root, but I would like to move it to dist if possible14:51
leinardiI can push another commit so that we have the same location for the snapcraft.yaml14:52
popeyhow can i get the latest source and yaml?14:52
leinardipopey, ok just pushed, you can checkout the branch feature/snap14:55
popeyok, lemme have a play14:55
leinardisure, thanks!14:56
mupPR snapd#6436 opened: interfaces: add system-backup interface <Created by jdstrand> <https://github.com/snapcore/snapd/pull/6436>15:02
popeyhttps://www.irccloud.com/pastebin/5aQABZPM/15:17
popey^ leinardi15:18
popeyhttps://www.irccloud.com/pastebin/iwsIb2xx/meson-log.txt15:19
leinardipopey, could it be that you are missing some of the dependencies? Are you able to run GWE with the ./run.sh?15:20
leinardideps: 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-cairo15:20
popeythats me building it as a snap15:20
popeywill check those are build-packages..15:20
popeyDependency gtk+-3.0 found: NO found '3.22.30' but need: '>=3.24'15:24
popey:(15:24
popeydo you really need 3.24?15:24
leinardipopey, unfortunately yes, due to libdazzle15:26
popeyThis is a bit of a blocker. There's ways around it though.15:26
leinardihttps://gitlab.gnome.org/GNOME/libdazzle/issues/3115:26
popeyOne way is to add a ppa from the ubuntu desktop team, which pulls in newer GTK15:27
popeyAnother way is to build gtk (and whatever else) from sauce15:27
popeyI believe there is work ongoing to fix this15:28
popeykenvandine and diddledan are working on a gnome extension for snapcraft15:28
leinardithe 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 version15:29
popeyWell...15:29
kenvandineBuild for core1815:29
popeySnaps are built against a runtime. The main ones are core(16) and core1815:29
popeykenvandine: i am building for core1815:29
kenvandineIs my recommendation15:29
popeybut this app needs newer gtk15:30
kenvandineOh15:30
kenvandineThe future build snap will help there... But not ready yet15:30
kenvandineYou can also build you own gtk part15:30
popeygot any examples?15:31
leinardiI'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
popeyThat's used at runtime, to provide some support libs and a launcher15:33
popeyWe're (I'm) stuck at the "building" part15:33
popeyWhen you built on 18.10, you're going to likely end up with a snap that won't run on anything15:33
popeyBecause it will be built against newer libc and friends.15:33
leinardiI see15:34
popeyWe recommend building in a clean container or vm running 18.04 or 16.0415:34
popeynow, 16.04 is too old for your application, so prefer 18.04.15:34
popeyhttp://paste.ubuntu.com/p/rtv4V37Ddm/15:34
popeythat'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.0415:35
popeyUnless 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
popeyI mean, I'm happy to help you move forward, and build these bits to get you moving :)15:36
popeyuntil the work ken mentioned is done.15:36
popeyThis is a pitfall of having a beautiful app on the bleeding edge :)15:37
popeybut you'd likely have to build quite a bit of gtk / gnome / gi to get this working.15:37
leinardiis there any ETA it? Are we talking about weeks, months or 20.04?15:38
leinardi*for it15:38
popeyGreat question. Might be faster to build those parts :S15:39
leinardi:)15:39
popeyI was hoping kenvandine might have a repo on gitlab somewhere which we can steal parts from :)15:39
leinardisorry 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
popey18.10 for example? No, because it will be built against the libc that's in 18.1015:40
popeySo someone on 16.04 installs your snap and it will fall over with horrible LIBC errors in capital letters15:41
kenvandinehttps://gitlab.gnome.org/Community/Ubuntu/gnome-3-28-1804-sdk/blob/master/snapcraft.yaml#L29715:42
popeyGOOD LORD15:43
kenvandineThat's a gtk part, just ignore the build-environment line15:43
popeyand bump source-branch?15:43
kenvandineBut, you might run into issues15:43
popeyhaha, no shit :)15:43
kenvandineI gotta run now.. but I can help out on Monday15:44
popeythanks!15:44
leinardimmm 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
leinardiwhat 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 it15:46
leinardior am I missing something?15:46
popeygnome-3-30-1804 doesn't provide the stuff needed at *build* time.15:47
popeyonly runtime components15:47
popeyThe problem is that you're targetting 3.24 which isn't available in Ubuntu 18.04 repos15:48
popey(I mean, libdazzle needs that)15:48
leinardiok 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
popeyif you build on a system which has newer libc, it likely won't work on a system with older libc15:53
popeythis 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
popeyWhen 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 on15:54
popeySo 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
popeyThat's all fine, and isn't the problem we need to solve today.15:54
popeyThe problem is *building* the thing at all on 18.04 (not 18.10)15:54
leinardiok, now I think is clear, thanks :)15:56
popey:)15:56
popeyI'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
leinardithat would be awesome, thanks a lot!15:58
popeyleft a placeholder reply on the forum so others don't waste time on it.16:00
popeysorry I don't have a quick answer for you16:01
leinardino 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
leinardipopey, one last question for today: do you know if this is possible? https://forum.snapcraft.io/t/specify-custom-build-directory/967116:05
diddledanpopey: leinardi: building against core18 should give you gnome 3.28 from the 18.04 repo (that's what bionic has natively)16:12
leinardididdledan, correct, but I need gnome 3.30 / gtk 3.2416:13
diddledanaah, gtk. sorry, I misunderstood16:15
diddledanin that case then popey is right that the only way currently to get a more recent gtk is to rebuild it from source16:25
leinardididdledan, 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
diddledanthat's not possible16:29
popeynote I tweaked your yaml to not have references to snap in the prefix16:31
diddledanthe idea is that you use a throwaway build system, e.g. a vm, that does everything internally to the vm16:31
popeyit shouldn't be needed16:31
popeyyeah, base: core18 will use multipass to build in an 18.04 vm16:31
* diddledan goes to find a multipass pic16:31
diddledanhttps://cdn.instructables.com/FTJ/CYOV/IEB8CSW1/FTJCYOVIEB8CSW1.LARGE.jpg?auto=webp16:32
leinardioh ok. popey: thanks, I have already pushed your changes to the feature/snap branch16:32
leinardididdledan, :D16:32

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!