On 05/09/16 18:15, Joseph Rushton Wakeling wrote: > On 04/09/16 13:55, Joseph Rushton Wakeling wrote: >> On 27/08/16 22:45, Joseph Rushton Wakeling wrote: >>> I thought I'd have a go at making a snap of LDC, the LLVM-based >>> compiler for the >>> D programming language. >> >> A "final first draft" of the working snap is available here: >> https://github.com/WebDrake/ldc2.snap/pull/1 > > So, you'd think I'd have tested this before, given that I'm trying to > snap a compiler, but ... :-P > > Turns out the snap-packaged LDC will fail if it's trying to compile a > project that needs other libraries to be linked in. This isn't > surprising, of course -- system libraries won't be on the library > paths of the snap -- but it does put in place a BIG constraint on what > can be built and what not. > > Any thoughts on how this might be addressed?
Yeah, this is exactly what I ran into snapping asciinema - it's a tool best used WITH the other files on your system. In my case, I wanted to make an asciinema movie of a Juju deployment, but as soon as I hit "asciinema record" I was essentially inside the asciinema sandbox and unable to see binaries installed in the classic filesystem. I started a thread on one or other snapcraft list about 'snaps that can properly see the system'. A chef or puppet snap, for example is going to want to manipulate /etc/foo.conf. Your LDC snap wants to use libraries in "real" /lib/ not "sandbox" /lib/. There is a balance - the upside of having a "sandbox" /lib/ is that it is *the same everywhere* even if your snap is running on openwrt. But for this class of developer tool, snaps will be much more useful if they can really integrate into the CLASSIC environment. We'll get to this. My straw man proposal is an interface which essentially makes "/classic/lib/" and "/classic/bin/" available to your snap, so as long as your snap's $PATH is twisted appropriately it will find things there. That's a proper bit of yoga on where snaps came from and how we got them onto classic in the first place, but I think it has merit as a starting point. On the other hand, snapping redis, rethinkdb and rqlite has gone really smoothly :) Mark -- Snapcraft mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft
