JuliaGraphics / Immerse.jl

Dive deeper into your data with interactive graphics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plot not showing on OSX 10.10.5

pagnani opened this issue · comments

Dear Tim,

I was really looking forward to something like Immerse to switch to Gadfly and getting rid of PyPlot. Thanks for this package!
Of course there are issues with my installation. I'm on

Julia Version 0.4.0-rc2
Commit fa52609* (2015-09-18 17:51 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  WORD_SIZE: 64
  uname: Darwin 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64 i386
Memory: 16.0 GB (9336.08984375 MB free)
Uptime: 39023.0 sec
Load Avg:  1.42578125  1.3916015625  1.37109375
Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz:
       speed         user         nice          sys         idle          irq
#1  2500 MHz       2979 s          0 s       1740 s      45911 s          0 s
#2  2500 MHz        149 s          0 s         92 s      50372 s          0 s
#3  2500 MHz       2600 s          0 s        789 s      47227 s          0 s
#4  2500 MHz        154 s          0 s         96 s      50361 s          0 s
#5  2500 MHz       2401 s          0 s        776 s      47438 s          0 s
#6  2500 MHz        153 s          0 s         94 s      50363 s          0 s
#7  2500 MHz       2453 s          0 s        772 s      47389 s          0 s
#8  2500 MHz        150 s          0 s         93 s      50365 s          0 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
Environment:
  MANPATH = /opt/local/share/man:
  TERM = xterm-256color
  PATH = /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/bin:/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/sbin:/usr/local/ncbi/blast/bin/:/Developer/NVIDIA/CUDA-6.5/bin:/usr/local/bin/:/opt/local/bin:/opt/local/sbin:/opt/local/libexec/gnubin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/pagnani/bin:/opt/local/lib/mysql56/bin
  XPC_FLAGS = 0x0
  HOME = /Users/pagnani
  DYLD_LIBRARY_PATH = /Users/pagnani/lib/yeppp-1.0.0/binaries/macosx/x86_64:/usr/local/cuda/lib:/Developer/NVIDIA/CUDA-6.5/lib:
  JULIA_EDITOR = /Users/pagnani/bin/xem
  HOMEBREW_CACHE = /Users/pagnani/Library/Caches/Homebrew.jl/

Package Directory: /Users/pagnani/.julia/v0.4


19 required packages:
 - BinDeps                       0.3.17
 - CUDA                          0.1.0
 - Docile                        0.5.19
 - Gadfly                        0.3.16
 - Gurobi                        0.1.29
 - HDF5                          0.5.5
 - Immerse                       0.0.5
 - JLD                           0.5.4
 - Jewel                         1.0.6
 - JuMP                          0.10.1
 - LsqFit                        0.0.1
 - MAT                           0.2.12
 - Markdown                      0.3.0
 - MathProgBase                  0.3.17
 - NLsolve                       0.4.0              master
 - ProfileView                   0.1.0
 - ProgressMeter                 0.2.0
 - PyCall                        1.0.3
 - PyPlot                        2.1.0
56 additional packages:
 - ArrayViews                    0.6.4
 - Blosc                         0.1.4
 - Cairo                         0.2.31
 - Calculus                      0.1.11
 - Codecs                        0.1.4
 - ColorTypes                    0.1.5
 - Colors                        0.5.4
 - Compat                        0.7.3
 - Compose                       0.3.15
 - Contour                       0.0.7
 - DataArrays                    0.2.18
 - DataFrames                    0.6.9
 - DataStructures                0.3.13
 - Dates                         0.4.4
 - Distances                     0.2.0
 - Distributions                 0.8.7
 - DualNumbers                   0.1.3
 - FactCheck                     0.4.0
 - FastaIO                       0.1.3
 - FixedPointNumbers             0.0.11
 - GZip                          0.2.18
 - GaussDCA                      0.0.0-             master (unregistered)
 - Graphics                      0.1.3
 - Grid                          0.3.11
 - Gtk                           0.9.0
 - GtkUtilities                  0.0.5
 - Hexagons                      0.0.4
 - Homebrew                      0.1.16
 - HttpCommon                    0.2.3
 - ImmutableArrays               0.0.10
 - Iterators                     0.1.9
 - JSON                          0.4.6
 - JuliaParser                   0.6.3
 - KernelDensity                 0.1.1
 - LNR                           0.0.1
 - LaTeXStrings                  0.1.5
 - Lazy                          0.10.0
 - Loess                         0.0.4
 - MacroTools                    0.2.0
 - MacroUtils                    0.0.0-             master (unregistered)
 - NLopt                         0.2.3
 - NaNMath                       0.1.0
 - Optim                         0.4.2
 - PDMats                        0.3.6
 - PlmDCA                        0.0.0-             master (unregistered)
 - Reexport                      0.0.3
 - Requires                      0.2.0
 - ReverseDiffSparse             0.2.10
 - SHA                           0.1.2
 - Showoff                       0.0.5
 - SortingAlgorithms             0.0.6
 - StatsBase                     0.7.3
 - StatsFuns                     0.1.4
 - URIParser                     0.1.0
 - WoodburyMatrices              0.1.2
 - Zlib                          0.1.9

I did the Pkg.update() and added Immerse. After a very long list of warnings (due I guess mostly to the new semantic induced by 0.4).

Finally the using Immerse produces some some strange warning:

2015-09-21 09:53:20.416 julia[7058:42143] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
WARNING: Method definition display(Base.REPL.REPLDisplay{R<:Base.REPL.AbstractREPL}, Base.Multimedia.MIME{:text/html}, Gadfly.Plot) in module Gadfly at /Users/pagnani/.julia/v0.4/Gadfly/src/Gadfly.jl:1033 overwritten in module Immerse at /Users/pagnani/.julia/v0.4/Immerse/src/display_gadfly.jl:144.
WARNING: Method definition draw(Compose.Backend, Compose.Context) in module Compose at /Users/pagnani/.julia/v0.4/Compose/src/container.jl:404 overwritten in module Immerse at /Users/pagnani/.julia/v0.4/Immerse/src/compose.jl:33.

which however might not be too bad. The problem is that when I try a

t=0:0.01:2π; plot(x = t, y = sin(t))

it triggers a huge number of further warnings which end up in a blank window (without the sinusoidal plot) and lots of Gtk warnings of the type

<unknown>:7058): Gtk-WARNING **: drawing failure for widget `GtkWindow': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

I suspect that the problem is Gtk but I tried some simple stuff there and it seems to work.

Thanks again for your work

Andrea

After a very long list of warnings (due I guess mostly to the new semantic induced by 0.4)

Yes, packages are in rapid transition right now due to the recent (wonderful) addition of "bindings deprecations." Hopefully these warnings will be fixed in the next couple of days. I've just fixed them all in Immerse (see #12), but compared to Gadfly and its dependencies these were trivial.

it triggers a huge number of further warnings which end up in a blank window (without the sinusoidal plot) and lots of Gtk warnings of the type

Hmm. What happens if you open a REPL window and then copy/paste Gtk's test/gui.jl file into it? That should help narrow the range of problems.

Ok I stepped back to check Gtk and reinstalled through port gtk2,3 both with variant +quartz.

No appreciable changes detected, i.e. still not working. I went through the test/gui.jl and most of the tests seem to work. Only the following give errors

import Gtk.GtkToolbarStyle
tb1 = @ToolButton("gtk-open")
tb2 = @ToolButton("gtk-new")
tb3 = @ToolButton("gtk-media-next")
toolbar = @Toolbar()
push!(toolbar,tb1)
unshift!(toolbar,tb2)
push!(toolbar,tb3)
push!(toolbar,@SeparatorToolItem(), @ToggleToolButton("gtk-open"), @MenuToolButton("gtk-new"))
G_.style(toolbar,GtkToolbarStyle.BOTH)
w = @Window(toolbar, "Toolbar")|>showall

It gives a blank window and the REPL print lots of warnings like

<unknown>:55284): Gtk-WARNING **: Could not find the icon 'document-new'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
    http://icon-theme.freedesktop.org/releases

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'document-new' for stock: Icon 'document-new' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Icon 'document-open' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'media-skip-forward' for stock:

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Icon 'document-open' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'document-new' for stock: Icon 'document-new' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(<unknown>:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkImage': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkBox': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkToolButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkToolbar': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:55284): Gtk-WARNING **: drawing failure for widget `GtkWindow': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

I'm having the exact same problem (osx 10.9.5) and haven't been able to fix it. Luckily that's not my only computer. If you find a reproducible solution, please let me know.

On Sep 22, 2015, at 10:45 AM, Andrea Pagnani notifications@github.com wrote:

Ok I stepped back to check Gtk and reinstalled through port gtk2,3 both with variant +quartz.

No appreciable changes detected, i.e. still not working. I went through the test/gui.jl and most of the tests seem to work. Only the following give errors

import Gtk.GtkToolbarStyle
tb1 = @ToolButton("gtk-open")
tb2 = @ToolButton("gtk-new")
tb3 = @ToolButton("gtk-media-next")
toolbar = @ToolBar()
push!(toolbar,tb1)
unshift!(toolbar,tb2)
push!(toolbar,tb3)
push!(toolbar,@SeparatorToolItem(), @ToggleToolButton("gtk-open"), @MenuToolButton("gtk-new"))
G_.style(toolbar,GtkToolbarStyle.BOTH)
w = @window(toolbar, "Toolbar")|>showall
It gives a blank window and the REPL print lots of warnings like

:55284): Gtk-WARNING **: Could not find the icon 'document-new'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases

(:55284): Gtk-WARNING **: Error loading theme icon 'document-new' for stock: Icon 'document-new' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Icon 'document-open' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'media-skip-forward' for stock:

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Icon 'document-open' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'document-new' for stock: Icon 'document-new' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(:55284): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Icon 'image-missing' not present in theme

(:55284): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(:55284): Gtk-WARNING **: drawing failure for widget `GtkImage': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(:55284): Gtk-WARNING **: drawing failure for widget `GtkBox': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(:55284): Gtk-WARNING **: drawing failure for widget `GtkButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(:55284): Gtk-WARNING **: drawing failure for widget `GtkToolButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(:55284): Gtk-WARNING **: drawing failure for widget `GtkToolbar': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(:55284): Gtk-WARNING **: drawing failure for widget `GtkWindow': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

Reply to this email directly or view it on GitHub.

I had similar problems on 10.10.5. Got things running smoothly with the following:

using Homebrew

# for missing icons
Homebrew.add("gnome-icon-theme")  

# fixed everything else
Homebrew.rm("gdk")
Homebrew.add("gdk")

julia> Pkg.build()
INFO: Building Homebrew
INFO: Precompiling module DataStructures...
INFO: Recompiling stale cache file /Users/tom/.julia/lib/v0.4/JSON.ji for module JSON.
remote: Counting objects: 815, done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 815 (delta 650), reused 785 (delta 620), pack-reused 0
Receiving objects: 100% (815/815), 95.11 KiB | 0 bytes/s, done.
Resolving deltas: 100% (650/650), completed with 142 local objects.
From https://github.com/Homebrew/homebrew
   7506f77..82e8996  master     -> origin/master
HEAD is now at 82e8996 exiftool: update 10.01 bottle.
HEAD is now at 538f9fe Merge pull request #70 from staticfloat/staging
INFO: Building PyCall
INFO: PyCall is using python (Python 2.7.10) at /usr/local/opt/python/bin/python2.7, libpython = /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Python

julia>
tom-mac-laptop:~ tom$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-rc2+10 (2015-09-20 15:38 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit d8930a0 (1 day old release-0.4)
|__/                   |  x86_64-apple-darwin13.4.0

julia> using Homebrew

julia> Homebrew.add("gnome-icon-theme")
==> Downloading https://homebrew.bintray.com/bottles/gnome-icon-theme-3.16.2.1.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring gnome-icon-theme-3.16.2.1.mavericks.bottle.tar.gz
🍺  /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/gnome-icon-theme/3.16.2.1: 5366 files, 52M
To relink: brew unlink gnome-icon-theme && brew link gnome-icon-theme

julia> Homebrew.rm("gdk")

julia> Homebrew.add("gdk")
Error: No available formula for gdk
==> Searching formulae...
gdk-pixbuf (installed)                staticfloat/juliadeps/gdk-pixbuf (installed)
==> Searching taps...
ERROR: failed process: Process(`/Users/tom/.julia/v0.4/Homebrew/deps/usr/bin/brew install --force-bottle gdk`, ProcessExited(1)) [1]
 in run at ./process.jl:524
 in anonymous at /Users/tom/.julia/v0.4/Homebrew/src/Homebrew.jl:313
 in cd at file.jl:22
 in add at /Users/tom/.julia/v0.4/Homebrew/src/Homebrew.jl:303

julia> Homebrew.rm("gdk-pixbuf")
Uninstalling gdk-pixbuf... (209 files, 4.3M)

julia> Homebrew.add("gdk-pixbuf")
==> Installing gdk-pixbuf from staticfloat/homebrew-juliadeps
==> Downloading https://juliabottles.s3.amazonaws.com/gdk-pixbuf-2.30.8.mavericks.bottle.tar.gz
Already downloaded: /Users/tom/Library/Caches/Homebrew.jl/gdk-pixbuf-2.30.8.mavericks.bottle.tar.gz
==> Pouring gdk-pixbuf-2.30.8.mavericks.bottle.tar.gz
==> /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --update-cache
==> Caveats
Programs that require this module need to set the environment variable
  export GDK_PIXBUF_MODULEDIR="/Users/tom/.julia/v0.4/Homebrew/deps/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders"
If you need to manually update the query loader cache
  /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --update-cache
==> Summary
🍺  /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8: 209 files, 4.3M
To relink: brew unlink gdk-pixbuf && brew link gdk-pixbuf

julia> using Gtk.ShortNames
ERROR: module Gtk not found in current path; removed orphaned cache file /Users/tom/.julia/lib/v0.4/Gtk.ji
 in error at ./error.jl:21
 in recompile_stale at loading.jl:455
 in _require_from_serialized at loading.jl:83
 in _require_from_serialized at ./loading.jl:109
 in require at ./loading.jl:219

julia> Pkg.add("Gtk")
INFO: Installing Cairo v0.2.31
INFO: Installing Graphics v0.1.3
INFO: Installing Gtk v0.9.0
INFO: Building Homebrew
HEAD is now at 82e8996 exiftool: update 10.01 bottle.
HEAD is now at 538f9fe Merge pull request #70 from staticfloat/staging
INFO: Building Cairo
INFO: Building Gtk
INFO: Package database updated

julia> using Gtk.ShortNames
INFO: Precompiling module Gtk...

*** note: I deleted lots of deprecation warnings ***

2015-09-22 11:18:36.351 julia[88455:507] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
WARNING: using ShortNames.Box in module Main conflicts with an existing identifier.

julia>
tom-mac-laptop:~ tom$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-rc2+10 (2015-09-20 15:38 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit d8930a0 (1 day old release-0.4)
|__/                   |  x86_64-apple-darwin13.4.0

julia> using Gtk.ShortNames
2015-09-22 11:18:48.610 julia[95042:507] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.

julia> tb1 = @ToolButton("gtk-open")
Gtk.GtkToolButtonLeaf(action-name=NULL, action-target, related-action, use-action-appearance=TRUE, name="", parent, width-request=-1, height-request=-1, visible=FALSE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE, has-focus=FALSE, is-focus=FALSE, can-default=FALSE, has-default=FALSE, receives-default=FALSE, composite-child=FALSE, style, events=0, no-show-all=FALSE, has-tooltip=FALSE, tooltip-markup=NULL, tooltip-text=NULL, window, opacity=1.000000, double-buffered, halign=GTK_ALIGN_FILL, valign=GTK_ALIGN_FILL, margin-left, margin-right, margin-start=0, margin-end=0, margin-top=0, margin-bottom=0, margin=0, hexpand=FALSE, vexpand=FALSE, hexpand-set=FALSE, vexpand-set=FALSE, expand=FALSE, scale-factor=2, border-width=0, resize-mode, child, visible-horizontal=TRUE, visible-vertical=TRUE, is-important=FALSE, label=NULL, use-underline=FALSE, label-widget, stock-id, icon-name=NULL, icon-widget)

julia> toolbar = @Toolbar(tb1)
Gtk.GtkToolbarLeaf(orientation=GTK_ORIENTATION_HORIZONTAL, name="", parent, width-request=-1, height-request=-1, visible=FALSE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE, has-focus=FALSE, is-focus=FALSE, can-default=FALSE, has-default=FALSE, receives-default=FALSE, composite-child=FALSE, style, events=0, no-show-all=FALSE, has-tooltip=FALSE, tooltip-markup=NULL, tooltip-text=NULL, window, opacity=1.000000, double-buffered, halign=GTK_ALIGN_FILL, valign=GTK_ALIGN_FILL, margin-left, margin-right, margin-start=0, margin-end=0, margin-top=0, margin-bottom=0, margin=0, hexpand=FALSE, vexpand=FALSE, hexpand-set=FALSE, vexpand-set=FALSE, expand=FALSE, scale-factor=2, border-width=0, resize-mode, child, toolbar-style=GTK_TOOLBAR_BOTH_HORIZ, show-arrow=TRUE, icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR, icon-size-set=FALSE)

julia> win = @Window(toolbar)
Gtk.GtkWindowLeaf(name="", parent, width-request=-1, height-request=-1, visible=TRUE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE, has-focus=FALSE, is-focus=FALSE, can-default=FALSE, has-default=FALSE, receives-default=FALSE, composite-child=FALSE, style, events=0, no-show-all=FALSE, has-tooltip=FALSE, tooltip-markup=NULL, tooltip-text=NULL, window, opacity=1.000000, double-buffered, halign=GTK_ALIGN_FILL, valign=GTK_ALIGN_FILL, margin-left, margin-right, margin-start=0, margin-end=0, margin-top=0, margin-bottom=0, margin=0, hexpand=FALSE, vexpand=FALSE, hexpand-set=FALSE, vexpand-set=FALSE, expand=FALSE, scale-factor=2, border-width=0, resize-mode, child, type=GTK_WINDOW_TOPLEVEL, title=NULL, role=NULL, resizable=TRUE, modal=FALSE, window-position=GTK_WIN_POS_NONE, default-width=-1, default-height=-1, destroy-with-parent=FALSE, hide-titlebar-when-maximized=FALSE, icon, icon-name=NULL, screen, type-hint=GDK_WINDOW_TYPE_HINT_NORMAL, skip-taskbar-hint=FALSE, skip-pager-hint=FALSE, urgency-hint=FALSE, accept-focus=TRUE, focus-on-map=TRUE, decorated=TRUE, deletable=TRUE, gravity=GDK_GRAVITY_NORTH_WEST, transient-for, attached-to, has-resize-grip, resize-grip-visible, application, is-active=FALSE, has-toplevel-focus=FALSE, startup-id, mnemonics-visible=FALSE, focus-visible=FALSE, is-maximized=FALSE)

julia> showall(win)
Gtk.GtkWindowLeaf(name="", parent, width-request=-1, height-request=-1, visible=TRUE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE, has-focus=FALSE, is-focus=FALSE, can-default=FALSE, has-default=FALSE, receives-default=FALSE, composite-child=FALSE, style, events=0, no-show-all=FALSE, has-tooltip=FALSE, tooltip-markup=NULL, tooltip-text=NULL, window, opacity=1.000000, double-buffered, halign=GTK_ALIGN_FILL, valign=GTK_ALIGN_FILL, margin-left, margin-right, margin-start=0, margin-end=0, margin-top=0, margin-bottom=0, margin=0, hexpand=FALSE, vexpand=FALSE, hexpand-set=FALSE, vexpand-set=FALSE, expand=FALSE, scale-factor=2, border-width=0, resize-mode, child, type=GTK_WINDOW_TOPLEVEL, title=NULL, role=NULL, resizable=TRUE, modal=FALSE, window-position=GTK_WIN_POS_NONE, default-width=-1, default-height=-1, destroy-with-parent=FALSE, hide-titlebar-when-maximized=FALSE, icon, icon-name=NULL, screen, type-hint=GDK_WINDOW_TYPE_HINT_NORMAL, skip-taskbar-hint=FALSE, skip-pager-hint=FALSE, urgency-hint=FALSE, accept-focus=TRUE, focus-on-map=TRUE, decorated=TRUE, deletable=TRUE, gravity=GDK_GRAVITY_NORTH_WEST, transient-for, attached-to, has-resize-grip, resize-grip-visible, application, is-active=FALSE, has-toplevel-focus=FALSE, startup-id, mnemonics-visible=FALSE, focus-visible=FALSE, is-maximized=FALSE)

julia>
(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: assertion 'GDK_IS_PIXBUF (src)' failed

(<unknown>:95042): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Failed to load icon

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: assertion 'GDK_IS_PIXBUF (src)' failed

(<unknown>:95042): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Failed to load icon

(<unknown>:95042): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:95042): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkImage': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkBox': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkToolButton': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkToolbar': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

(<unknown>:95042): Gtk-WARNING **: drawing failure for widget `GtkWindow': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

Any thoughts?

CC @staticfloat. Looks like this is a more widespread problem...

I tried the

using Homebrew
Homebrew.add("gnome-icon-theme")
Homebrew.add("gnome-icon-theme")  

# fixed everything else
Homebrew.rm("gdk")
Homebrew.add("gdk")

and it hangs with the following

Error: No available formula for gdk
==> Searching formulae...
gdk-pixbuf (installed)                     staticfloat/juliadeps/gdk-pixbuf (installed)
==> Searching taps...
Error: No available formula for gdk
==> Searching formulae...
gdk-pixbuf (installed)                     staticfloat/juliadeps/gdk-pixbuf (installed)
==> Searching taps...
ERROR: failed process: Process(`/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/bin/brew install --force-bottle gdk`, ProcessExited(1)) [1]
 in run at ./process.jl:524
 in anonymous at /Users/pagnani/.julia/v0.4/Homebrew/src/Homebrew.jl:313
 in cd at file.jl:22
 in add at /Users/pagnani/.julia/v0.4/Homebrew/src/Homebrew.jl:303

I thought that was what I had done, but since gdk apparently isn't a formula, it must have been gdk-pixbuf

First off, when I run the t=0:0.01:2π; plot(x = t, y = sin(t)) example above, I get the following:

screen shot 2015-09-22 at 11 47 21 am

I'm assuming that's what you all are trying to get as well? Or is there something else that is missing?

Secondly, could everyone having a problem please show me the output of:

using BinDeps
BinDeps.debug("Gtk")

My output looks like:

INFO: Reading build script...
The package declares 1 dependencies.
 - Library Group "gtk" (satisfied by Homebrew.HB)
     - Library "glib"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/Cellar/glib/2.42.1_1/lib/libglib-2.0.0.dylib
          - System Paths at /usr/local/lib/libglib-2.0.dylib
        - Providers:
          - Homebrew Bottles glib
     - Library "gobject"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/lib/libgobject-2.0.0.dylib
          - System Paths at /usr/local/lib/libgobject-2.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gtk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/lib/libgtk-3.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1/lib/libgdk-3.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk_pixbuf"
        - Satisfied by:
          - Homebrew Bottles gdk-pixbuf at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/lib/libgdk_pixbuf-2.0.0.dylib
        - Providers:
          - Homebrew Bottles gdk-pixbuf
     - Library "gio"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/sabae/.julia/v0.4/Homebrew/deps/usr/lib/libgio-2.0.0.dylib
          - System Paths at /usr/local/lib/libgio-2.0.dylib
        - Providers:
          - Homebrew Bottles glib

Glad to see the sinusoid !!!

I'm not that lucky

The required output is:

The package declares 1 dependencies.
 - Library Group "gtk" (satisfied by Homebrew.HB)
     - Library "glib"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/libglib-2.0.dylib
        - Providers:
          - Homebrew Bottles glib
     - Library "gobject"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/libgobject-2.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gtk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/libgtk-3.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1/lib/libgdk-3.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk_pixbuf"
        - Satisfied by:
          - Homebrew Bottles gdk-pixbuf at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/libgdk_pixbuf-2.0.0.dylib
        - Providers:
          - Homebrew Bottles gdk-pixbuf
     - Library "gio"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/libgio-2.0.0.dylib
        - Providers:
          - Homebrew Bottles glib

@pagnani if you Homebrew.rm("gdk-pixbuf") and then Homebrew.add("gdk-pixbuf"), what happens then?
EDIT: accidentally typed too many f's!

julia> Homebrew.rm("gdk-pixbuf")
Uninstalling gdk-pixbuf... (209 files, 4.3M)

julia> Homebrew.add("gdk-pixbuff")
Error: No available formula for gdk-pixbuff
==> Searching formulae...
==> Searching taps...
ERROR: failed process: Process(`/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/bin/brew install --force-bottle gdk-pixbuff`, ProcessExited(1)) [1]
 in run at ./process.jl:524
 in anonymous at /Users/pagnani/.julia/v0.4/Homebrew/src/Homebrew.jl:313
 in cd at file.jl:22
 in add at /Users/pagnani/.julia/v0.4/Homebrew/src/Homebrew.jl:303

My bad; I accidentally typed too many f's. :P

My bad to copy and paste without clues

julia> Homebrew.add("gdk-pixbuf")
==> Installing gdk-pixbuf from staticfloat/homebrew-juliadeps
==> Downloading https://juliabottles.s3.amazonaws.com/gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
Already downloaded: /Users/pagnani/Library/Caches/Homebrew.jl/gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
==> Pouring gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
==> /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --upda
==> Caveats
Programs that require this module need to set the environment variable
  export GDK_PIXBUF_MODULEDIR="/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders"
If you need to manually update the query loader cache
  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --update-cache
==> Summary
🍺  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8: 209 files, 4.3M
To relink: brew unlink gdk-pixbuf && brew link gdk-pixbuf

Immerse still not working

What happens if you do the following:

Homebrew.add("gnome-icon-theme")  

Unlinking /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gnome-icon-theme/3.16.2.1... 5456 symlinks removed
Warning: gnome-icon-theme-3.16.2.1 already installed, it's just not linked
Linking /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gnome-icon-theme/3.16.2.1... 5360 symlinks created

Hrmmm.... so perhaps it wasn't linked; that's interesting. If you quit Julia now, and reopen, does Immerse work?

Unfortunately not ... but it now shows something scary

julia> using Immerse
ERROR: InitError: error compiling __init__: error compiling __init__gtype__: could not load library "libgobject-2.0"
dlopen(libgobject-2.0.dylib, 1): image not found
 in _require_from_serialized at loading.jl:84
 in _require_from_serialized at ./loading.jl:109
 in require at ./loading.jl:219
 in stale_cachefile at loading.jl:439
 in recompile_stale at loading.jl:457
 in _require_from_serialized at loading.jl:83
 in _require_from_serialized at ./loading.jl:109
 in require at ./loading.jl:219
during initialization of module GLib

Maybe I could try to

rm -rf .julia/v0.4/Immerse
rm -rf .julia/lib/v0.4/Immerse.ji

and reinstalling from scratch?

Ooh, fun. Okay. Two things, first off, it looks like something we've done has mucked around with our precious libraries. Let's clean out Homebrew and build it anew:

using Homebrew
for lib in ["glib", "gdk-pixbuf", "gtk+3"]
  Homebrew.rm(lib)
end
Pkg.build()

Show me the output from above, and then show me the output of the following:

using Immerse
ENV["GDK_PIXBUF_MODULEDIR"]

You should probably quit Julia between running the two snippets above.

Output of first snippet

Uninstalling glib... (410 files, 17M)
Uninstalling gdk-pixbuf... (209 files, 4.3M)
Uninstalling gtk+3... (1263 files, 66M)
julia> Pkg.build()
INFO: Building Blosc
INFO: Building Homebrew
remote: Counting objects: 363, done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 363 (delta 286), reused 305 (delta 229), pack-reused 0
Receiving objects: 100% (363/363), 45.87 KiB | 0 bytes/s, done.
Resolving deltas: 100% (286/286), completed with 56 local objects.
From https://github.com/Homebrew/homebrew
   06d0cdd..e695e10  master     -> origin/master
HEAD is now at e695e10 commonmark: disable make test during build
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 3), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
From https://github.com/staticfloat/homebrew-juliadeps
   538f9fe..1188f73  master     -> origin/master
   b75e715..cf46e93  staging    -> origin/staging
HEAD is now at 1188f73 Merge pull request #72 from staticfloat/staging
INFO: Building Cairo
==> Installing glib from staticfloat/homebrew-juliadeps
==> Downloading https://juliabottles.s3.amazonaws.com/glib-2.42.1_1.yosemite.bottle.tar.gz
Already downloaded: /Users/pagnani/Library/Caches/Homebrew.jl/glib-2.42.1_1.yosemite.bottle.tar.gz
==> Pouring glib-2.42.1_1.yosemite.bottle.tar.gz
🍺  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/glib/2.42.1_1: 410 files, 17M
To relink: brew unlink glib && brew link glib
INFO: Building Gtk
==> Installing gtk+3 from staticfloat/homebrew-juliadeps
==> Installing dependencies for staticfloat/juliadeps/gtk+3: staticfloat/juliadeps/gdk-pixbuf
==> Installing staticfloat/juliadeps/gtk+3 dependency: staticfloat/juliadeps/gdk-pixbuf
==> Downloading https://juliabottles.s3.amazonaws.com/gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
Already downloaded: /Users/pagnani/Library/Caches/Homebrew.jl/gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
==> Pouring gdk-pixbuf-2.30.8.yosemite.bottle.tar.gz
==> /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --upda
==> Caveats
Programs that require this module need to set the environment variable
  export GDK_PIXBUF_MODULEDIR="/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders"
If you need to manually update the query loader cache
  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8/bin/gdk-pixbuf-query-loaders --update-cache
==> Summary
🍺  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gdk-pixbuf/2.30.8: 209 files, 4.3M
==> Installing staticfloat/juliadeps/gtk+3
==> Downloading https://juliabottles.s3.amazonaws.com/gtk+3-3.14.6_1.yosemite.bottle.tar.gz
Already downloaded: /Users/pagnani/Library/Caches/Homebrew.jl/gtk+3-3.14.6_1.yosemite.bottle.tar.gz
==> Pouring gtk+3-3.14.6_1.yosemite.bottle.tar.gz
==> /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/opt/glib/bin/glib-compile-schemas /Users/pagnani/.julia/v0.4
🍺  /Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1: 1263 files, 66M
To relink: brew unlink gtk+3 && brew link gtk+3
INFO: Building Gurobi
INFO: Building HDF5
INFO: Building NLopt
INFO: Building PyCall
INFO: PyCall is using python (Python 2.7.10) at /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, libpython = /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python

The quit() julia, restarted julia, made a using Immerse (I spare you the tons of Warnings from precompilation) and then

ENV["GDK_PIXBUF_MODULEDIR"]

... ah sorry forgot to say that the plot still does not show up

And most important, forgot to paste the complete output

julia> ENV["GDK_PIXBUF_MODULEDIR"]
ERROR: KeyError: GDK_PIXBUF_MODULEDIR not found
 [inlined code] from ./env.jl:26
 in getindex at ./env.jl:79

@staticfloat ... sorry but I seriously need some sleep. If you come up with some further suggestion I will try tomorrow.

Thanks for all!

No problem, @pagnani, take it easy! We'll figure it out tomorrow.

I had a relatively fresh install, no Immerse present. After doing this:

using Homebrew
for lib in ["glib", "gdk-pixbuf", "gtk+3"]
  Homebrew.rm(lib)
end
Pkg.build()

and then restarted Julia, and then:

Pkg.add("Immerse")

and then restarted Julia, and then:

using Immerse
plot(x=rand(10),y=rand(10))

It worked!

And this works as well!

using Plots
plot(rand(1000),rand(1000))

tmp

I think this is cool enough to hang in my house...

Anyways.. thanks for the help! I hope @pagnani has success as well.

That's great news, @tbreloff. If I could beg of you the output of ENV["GDK_PIXBUF_MODULEDIR"] (after using Immerse) that would be helpful.

Sure:

julia> using Immerse
2015-09-22 20:23:27.550 julia[616:507] *** WARNING: Method
userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It
should not be used in new applications. Use convertRectToBacking: instead.
WARNING: Method definition
display(Base.REPL.REPLDisplay{R<:Base.REPL.AbstractREPL},
Base.Multimedia.MIME{:text/html}, Gadfly.Plot) in module Gadfly at
/Users/tom/.julia/v0.4/Gadfly/src/Gadfly.jl:1049 overwritten in module
Immerse at /Users/tom/.julia/v0.4/Immerse/src/display_gadfly.jl:144.
WARNING: Method definition draw(Compose.Backend, Compose.Context) in module
Compose at /Users/tom/.julia/v0.4/Compose/src/container.jl:404 overwritten
in module Immerse at /Users/tom/.julia/v0.4/Immerse/src/compose.jl:33.

julia> ENV["GDK_PIXBUF_MODULEDIR"]
ERROR: KeyError: GDK_PIXBUF_MODULEDIR not found
[inlined code] from ./env.jl:26
in getindex at ./env.jl:79

On Tue, Sep 22, 2015 at 7:34 PM, Elliot Saba notifications@github.com
wrote:

That's great news, @tbreloff https://github.com/tbreloff. If I could
beg of you the output of ENV["GDK_PIXBUF_MODULEDIR"](after using Immerse)
that would be helpful.


Reply to this email directly or view it on GitHub
#11 (comment)
.

Alright, that is..... somewhat unexpected. What does using BinDeps; BinDeps.debug("Gtk") output for you?

julia> using BinDeps; BinDeps.debug("Gtk")
INFO: Reading build script...
The package declares 1 dependencies.
 - Library Group "gtk" (satisfied by Homebrew.HB)
     - Library "glib"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/glib/2.42.1_1/lib/libglib-2.0.0.dylib
          - System Paths at /usr/local/lib/libglib-2.0.dylib
        - Providers:
          - Homebrew Bottles glib
     - Library "gobject"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/tom/.julia/v0.4/Homebrew/deps/usr/lib/libgobject-2.0.0.dylib
          - System Paths at /usr/local/lib/libgobject-2.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gtk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/tom/.julia/v0.4/Homebrew/deps/usr/lib/libgtk-3.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk"
        - Satisfied by:
          - Homebrew Bottles gtk+3 at /Users/tom/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1/lib/libgdk-3.0.dylib
        - Providers:
          - Homebrew Bottles gtk+3
     - Library "gdk_pixbuf"
        - Satisfied by:
          - Homebrew Bottles gdk-pixbuf at /Users/tom/.julia/v0.4/Homebrew/deps/usr/lib/libgdk_pixbuf-2.0.0.dylib
          - System Paths at /usr/local/lib/libgdk_pixbuf-2.0.dylib
        - Providers:
          - Homebrew Bottles gdk-pixbuf
     - Library "gio"
        - Satisfied by:
          - Homebrew Bottles glib at /Users/tom/.julia/v0.4/Homebrew/deps/usr/lib/libgio-2.0.0.dylib
          - System Paths at /usr/local/lib/libgio-2.0.0.dylib
        - Providers:
          - Homebrew Bottles glib

julia>

Aha; so you seem to have gtk installed in your system-wide brew as well; I have the same. I'm betting that some state from the system-wide brew is getting used when it shouldn't be, and is causing our installations to magically work when @pagnani's isn't working. Thank you for your help, @tbreloff.

So... the plot thickens. After writing this whole thing as an annoying time-suck, I went back into julia and....


tom-mac-laptop:~ tom$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-rc2+10 (2015-09-20 15:38 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit d8930a0 (2 days old release-0.4)
|__/                   |  x86_64-apple-darwin13.4.0

julia> using Immerse
INFO: Precompiling module Gtk...
WARNING: Union(args...) is deprecated, use Union{args...} instead.
 in depwarn at deprecated.jl:73
 in call at deprecated.jl:50
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/GLib/GLib.jl, in expression starting on line 61
WARNING: Union(args...) is deprecated, use Union{args...} instead.
 in depwarn at deprecated.jl:73
 in call at deprecated.jl:50
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/GLib/glist.jl, in expression starting on line 38
WARNING: Union(args...) is deprecated, use Union{args...} instead.
 in depwarn at deprecated.jl:73
 in call at deprecated.jl:50
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/GLib/gtype.jl, in expression starting on line 381
WARNING: Union(args...) is deprecated, use Union{args...} instead.
 in depwarn at deprecated.jl:73
 in call at deprecated.jl:50
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/GLib/gvalues.jl, in expression starting on line 9
WARNING: Union(args...) is deprecated, use Union{args...} instead.
 in depwarn at deprecated.jl:73
 in call at deprecated.jl:50
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/Gtk.jl, in expression starting on line 31
ERROR: LoadError: LoadError: could not load library "libgtk-3"
dlopen(libgtk-3.dylib, 1): image not found
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
 [inlined code] from none:2
 in anonymous at no file:0
 in process_options at ./client.jl:284
 in _start at ./client.jl:411
while loading /Users/tom/.julia/v0.4/Gtk/src/interfaces.jl, in expression starting on line 4
while loading /Users/tom/.julia/v0.4/Gtk/src/Gtk.jl, in expression starting on line 39
ERROR: Failed to precompile Gtk to /Users/tom/.julia/lib/v0.4/Gtk.ji
 in error at ./error.jl:21
 in compilecache at loading.jl:383
 in require at ./loading.jl:250
 in stale_cachefile at loading.jl:439
 in recompile_stale at loading.jl:457
 in _require_from_serialized at loading.jl:83
 in _require_from_serialized at ./loading.jl:109
 in require at ./loading.jl:219
 in stale_cachefile at loading.jl:439
 in recompile_stale at loading.jl:457
 in _require_from_serialized at loading.jl:83
 in _require_from_serialized at ./loading.jl:109
 in require at ./loading.jl:219

julia>

Alright everybody; after digging through the source a bit, I think I have figured out what the issues were. First and foremost, the gtk+3 formula from homebrew-juliadeps needed to have an icon theme installed alongside it by default. Check. Next, gdk-pixbuf needed to write out its loaders.cache file in the proper location instead of blindly attempting to write it out into /usr/local/lib/... immediately after being installed. Check. Finally, Gtk.jl needed to tell gdk-pixbuf where it was located, and not just trust that it was able to find its own path in this dark and tumultuous world of software engineering. Check.

With all this stuff done now, the following should "just work" for everybody, unless there are new issues. Go ahead and try:

Pkg.checkout("Gtk")
Pkg.update()

mmmmh ... Still not working.

However my version of

.julia/v0.4/Homebrew/deps/usr/Library/Formula/gdk-pixbuf.rb

does not contain the

 ENV["GDK_PIXBUF_MODULE_FILE"]="#{lib}/gdk-pixbuf-2.0/2.10.0/loaders.cache"

line. Sure to have synchronized the file?

Try Pkg.checkout("Homebrew") too. (This is the magic incantation for getting the absolute-latest version of code, without waiting for it to be "certified" by tagging a new versioned release.)

I don't think you'll need a Pkg.checkout("Homebrew"), since I'm not actually changing Homebrew, I'm changing homebrew-juliadeps. You could do the following though, to see if it has any effect:

using Homebrew
Homebrew.update()
Pkg.build()

Did a

using Homebrew
Homebrew.update()

then a

using Immerse
plot(x=1:10, y=1:10)

and then new error message!!!!!

julia> plot(x=1:10, y=1:10)
WARNING: Base.String is deprecated, use AbstractString instead.
WARNING: Base.String is deprecated, use AbstractString instead.
WARNING: Base.String is deprecated, use AbstractString instead.
in set_mapped_data! at /Users/pagnani/.julia/v0.4/Gadfly/src/Gadfly.jl:273
Error showing value of type Gadfly.Plot:
ERROR: error compiling display: error compiling display: error compiling draw: error compiling reveal: could not load library "/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1/lib/libgdk-3.0.dylib"
dlopen(/Users/pagnani/.julia/v0.4/Homebrew/deps/usr/Cellar/gtk+3/3.14.6_1/lib/libgdk-3.0.dylib.dylib, 1): image not found

Hmm, that does not seem like progress, unfortunately: it's not even finding libgdk now.

Pkg.build("Gtk")? Just guessing here.

Ok, I do not know if I am just adding more noise to an already complicate situation, but it turns out that after the last step I have 2 gdk-pixbuf.rb files in my .julia dir

.julia//v0.4/Homebrew/deps/usr/Library/Formula/gdk-pixbuf.rb
.julia//v0.4/Homebrew/deps/usr/Library/Taps/staticfloat/homebrew-juliadeps/gdk-pixbuf.rb

It is only the second one which looks like the Check

Now I try Tim's last suggestion

Total happiness and joy!!!!!!!!!!!!!!!!!!

It works finally...

screen shot 2015-09-23 at 11 48 35 am

Thanks a lot everybody for this really nasty debugging

Yay! Thanks for sticking with it. @staticfloat, does this mean it should now be fixed for everyone? Do we need to tag a new Homebrew release?

Oh, no, I see it's more likely a Gtk release. I'll wait to see whether @tbreloff's reincarnated problem is fixed, too.

Just for future memory what worked for me ( on 0.5 too) are the following steps, although I'm sure that the sequence is NOT the minimal one:

using Homebrew
for lib in ["glib", "gdk-pixbuf", "gtk+3"]
  Homebrew.rm(lib)
end
Pkg.build()
quit()
restart julia
Homebrew.update()
Pkg.build()
Pkg.build("Gtk")
quit()
restart

One thing I do find bewildering is how different the icons are on different platforms. For example, would you even interpret the first one as "Save as"? (If that's the icon OSX users expect, then there's no problem, but as someone who has never used OSX I was surprised.) Also, the "1:1" icon is less clear to me than the one shown in the README.

Is this a problem? If so, any good ideas about how to fix it?

Actually there is a further problem which I hesitated mentioning since I was already happy, but since you are mentioning the icon issue ... yes graphically speaking I was not able to recognize the save symbol, and so I repeatedly clicked it and I discovered that if you click two times consecutively makes julia exit with segmentation fault.

Ok here's as complete a sequence as I can come up with. I started with a broken Immerse, then did a Homebrew.update(), checked out Homebrew and Gtk, and rebuilt. After the rebuild, plotting works with Immerse and also Plots (with Immerse as the backend). Once I did using BinDeps; BinDeps.debug("Gtk"), the sh*t hits the fan. It seems like Bindeps is changing something... hopefully this gives some good clues!

    using Immerse  [FAIL]
<restart julia>
    using Homebrew
    Homebrew.update()
    Pkg.checkout("Homebrew")
    Pkg.checkout("Gtk")
<restart julia>
    using Immerse   [FAIL]
    Pkg.build()
<restart julia>
    using Immerse   [SUCCESS]
    plot(x=rand(10),y=rand(10))   [SUCCESS]
<restart julia>
    using Immerse   [SUCCESS]
    plot(x=rand(10),y=rand(10))   [SUCCESS]
<restart julia>
    using Plots   [SUCCESS]
    plot(rand(10))   [SUCCESS]
<restart julia>
    using Immerse   [SUCCESS]
    plot(x=rand(10),y=rand(10))   [SUCCESS]
<restart julia>
    using Immerse   [SUCCESS]
    ENV["GDK_PIXBUF_MODULEDIR"]    [SUCCESS - it had the ".julia" directory]
<restart julia>
    using Immerse   [SUCCESS]
    plot(x=rand(10),y=rand(10))   [SUCCESS]
<restart julia>
    using BinDeps; BinDeps.debug("Gtk")
<restart julia>
    using Immerse   [FAIL!!!]
*   ENV["GDK_PIXBUF_MODULEDIR"]   [FAIL - KeyError] 
<restart julia>
    using Immerse   [FAIL]
    plot(x=rand(10),y=rand(10))  [FAIL]
<restart julia>
    using Immerse   [FAIL]

The end of the output (sorry the first bunch got cut off)


julia> ENV["GDK_PIXBUF_MODULEDIR"]
ERROR: KeyError: GDK_PIXBUF_MODULEDIR not found
 [inlined code] from ./env.jl:26
 in getindex at ./env.jl:79

julia> using Immerse

julia> plot(x=rand(10),y=rand(10))

(<unknown>:9611): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/local/Cellar/gdk-pixbuf/2.30.8_1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/local/Cellar/gdk-pixbuf/2.30.8_1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

(<unknown>:9611): GLib-GObject-WARNING **: The property GtkToolButton:stock-id is deprecated and shouldn't be used anymore. It will be removed in a future version.

Just to check @tbreloff: under "ordinary" usage you're fine, as long as you don't use BinDeps.debug?

I'm closing this, assuming my interpretation is correct. Any further pursuit should probably be in BinDeps.jl or Gtk.jl.

Sure closing is fine. I agree it's probably a BinDeps/Gtk issue.

On Wed, Sep 23, 2015 at 2:43 PM, Tim Holy notifications@github.com wrote:

Closed #11 #11.


Reply to this email directly or view it on GitHub
#11 (comment).

For completeness (for when I want to reference it in a couple days). The very next command was Pkg.build(), then I restarted julia, and using Immerse and a plot command worked. So from all that, it seems like BinDeps breaks Gtk, and then a rebuild puts it back. Thanks again for the back and forth.

And for completeness here, I have tracked down the reason that BinDeps.debug() is clobbering the Pkg.build() state. Thanks @tbreloff; without that little tidbit I have the feeling that this particular bug would have gone unnoticed for quite a while.

Excellent... Thanks for following through!

On Sep 24, 2015, at 2:30 AM, Elliot Saba notifications@github.com wrote:

And for completeness here, I have tracked down the reason that BinDeps.debug() is clobbering the Pkg.build() state. Thanks @tbreloff; without that little tidbit I have the feeling that this particular bug would have gone unnoticed for quite a while.


Reply to this email directly or view it on GitHub.