Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

include tk graphical libraries for observer #28

Closed
c0b opened this issue Nov 1, 2016 · 1 comment · Fixed by #33 or #34
Closed

include tk graphical libraries for observer #28

c0b opened this issue Nov 1, 2016 · 1 comment · Fixed by #33 or #34

Comments

@c0b
Copy link
Collaborator

c0b commented Nov 1, 2016

the original goal for this repo was to deliver an Erlang container as close as possible to upstream (https://github.com/erlang/otp/releases) within reasonable image size, it turns out to be the current approach: download source code tarball from upstream, and compile it during building the docker image, this way we can control 3rd party library dependencies as minimum and most often used ones; so that it didn't pull in all java for jinterface, and gtk/gl for wxwidgets (which is a required dependency for observer to start, see observer source code at https://github.com/erlang/otp/tree/maint/lib/observer/src, it is a wxwidgets application.)

Now @AugustoPedraza is requesting to use observer (see c0b/docker-elixir#19 for background), it is totally possible to include gtk/gl for wxwidgets during the compiling; the only question is should we do it? or maintain another variant?

@SDWolf gives another example of using the precompiled packages from erlang-solutions: c0b/docker-elixir#19 (comment)
I was aware of this approach but didn't choose it since the beginning of this project was because they were not releasing as often as today, there was some lags behind erlang upstream, but now in 2016 it seems ok, from erlang-solutions we can get pretty latest once every upstream release, we can have a image size test and it's probably ok to switch

The other approach was to use OS/Distro pre-packages many Linux distros were packaging Erlang very trivial https://packages.debian.org/jessie/erlang and not preferred,
https://packages.debian.org/sid/erlang https://packages.debian.org/jessie-backports/erlang

Please vote here what changes you want to see in the Erlang base image.

@sdwolfz
Copy link

sdwolfz commented Nov 2, 2016

I vote with compiling from source and adding the dependencies for observer, but only in the default image and not in the slim version. This looks like the cleanest solution for me.

Using the binaries from Erlang Solution should be a last resort, from what I remember it takes them a bit (2-3 days) to publish newer versions and this does not satisfy my bleeding edge desires 😄, plus you need to install a lot of packages for it. Also Dockerfiles are a great resource if you want to learn how to install things from source and I'd prefer if we keep it like that.

Now, a reason for why should we do it, while I do not use observer yet in my development cycle, everywhere that I went to see a presentation about erlang/elixir the presenter would fire up a shell and start observer to brag about it's awesomeness. So it looks to me like it's perceived as a feature of Erlang and not as an extra tool.

c0b added a commit that referenced this issue Nov 15, 2016
the most popular GUI app based on wx ? and the only one?
 for #28; image size increased ~65MB, is it worth it?

REPOSITORY    TAG                   IMAGE ID      CREATED             SIZE
otp           20.0-rc0-cd48b81-wx   f8b3e0fc15dd  49 seconds ago      814.9 MB
otp           20.0-rc0-cd48b81      dbff7d029fed  About an hour ago   749.9 MB
c0b added a commit that referenced this issue Dec 10, 2016
- add support for observer as the most popular wx GUI based app
  for #28; image size increased ~65MB.

    REPOSITORY    TAG                   IMAGE ID      CREATED             SIZE
    otp           20.0-rc0-cd48b81-wx   f8b3e0fc15dd  49 seconds ago      814.9 MB
    otp           20.0-rc0-cd48b81      dbff7d029fed  About an hour ago   749.9 MB

- also support dirty scheduler for #29;

- temporarily disable compiling rebar3
  because it fail bootstrap on Erlang 20; see more in erlang/rebar3#1414
c0b added a commit that referenced this issue Dec 10, 2016
c0b added a commit that referenced this issue Dec 15, 2016
- add wxwidgets for observer and other wx / tk based apps (fixes #28);
- the dirty scheduler (fixes #29)
@c0b c0b closed this as completed in #33 Dec 15, 2016
c0b added a commit that referenced this issue Dec 15, 2016
- add wxwidgets for observer and other wx / tk based apps (fixes #28);
- the dirty scheduler (fixes #29)
@c0b c0b mentioned this issue Dec 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants