Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
A brief note on how to install rattle/RGtk2 on macOS

paterfamilias commented Sep 21, 2017

I have OS 10.11.4 running on a 2014 iMac, and R 3.4.1. This process breaks for me at step 9 with "Error: gtk+ 2.24.31 did not build"
Has something changed in the past few weeks, or am I doing something wrong?
UPDATE: It looks like I needed to reinstall Xquartz. I did that, the installation went fine (and took a lot longer), and everything seems to work now. Thanks for posting these instructions!

suzliz commented Sep 30, 2017

Thanks a million - it worked!

fallsit commented Oct 11, 2017

I have macOS Sierra 10.12.6, and R version R version 3.4.2. At the step14. It shows some error as below:

trying URL 'https://togaware.com/access/rattle_5.0.14.tar.gz'
Content type 'application/x-tar' length 2993321 bytes (2.9 MB)

downloaded 2.9 MB

ERROR: dependency 'RGtk2' is not available for package 'rattle'

  • removing '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rattle'
    Warning message:
    In install.packages("https://togaware.com/access/rattle_5.0.14.tar.gz", :
    installation of package '/var/folders/hv/4yplv0596sbblcds_jj2_6k80000gn/T//RtmpRgZAKq/downloaded_packages/rattle_5.0.14.tar.gz' had non-zero exit status

Is it something wrong with my steps?

Many thanks for this. Worked for me with Sierra 10.12.6 and R version 3.4.2. Enabled me to install RQDA.

Owner

zhiyzuo commented Oct 19, 2017

@fallsit, I have not seen an error like this. Any updates now?

foohm71 commented Oct 19, 2017

I am getting this when doing "R CMD INSTALL RGtk2_2.20.33.tar.gz"

configure: error: GTK version 2.8.0 required

I am on MacOS Sierra 10.12.6, R version is 3.4.2
When I did "brew install --build-from-source --verbose gtk+" it installed GTK 2.24.31_1

Owner

zhiyzuo commented Oct 20, 2017

@foohm71. Can you do a brew doctor to see if any related message comes up?

foohm71 commented Oct 20, 2017

Not sure if these could cause issues:

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
/usr/local/lib/libtcl8.6.dylib
/usr/local/lib/libtk8.6.dylib

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
/usr/local/lib/pkgconfig/tcl.pc
/usr/local/lib/pkgconfig/tk.pc

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
/usr/local/lib/libtclstub8.6.a
/usr/local/lib/libtkstub8.6.a

uiang commented Oct 23, 2017

I am on MacOS Sierra 10.12.6 and have R version 3.4.2.
At the step11 it shows an error as below:

R session is headless; GTK+ not initialized.
Error: package or namespace load failed for ‘RGtk2’:
.onLoad failed in loadNamespace() for 'RGtk2', details:
call: .RGtkCall("S_gtk_builder_get_type", PACKAGE = "RGtk2")
error: object has no G type

Owner

zhiyzuo commented Nov 1, 2017

@foohm71 Can you find gtk related folder in /usr/local/Cellar ?

Owner

zhiyzuo commented Nov 1, 2017

@uiang what did you run to get this error?

Owner

zhiyzuo commented Nov 13, 2017

@foohm71, @uiang. See the my revision at step 10 to see if that helps.

berkorbay commented Nov 15, 2017

One important point might be the removal of gtk+ with brew uninstall. Because if you already have gtk+ on your system, brew will ignore your attempt. If that's the case use;

brew uninstall gtk+ --ignore-dependencies

p.s. Amazing tutorial btw.

zvada commented Nov 16, 2017

That's fantastic tutorial, I spent hours to install rattle but without finding this guide I wouldn't succeed! Thanks a lot!!! OS X El Captain (10.11.6) and R version 3.4.2 was my case, though. To uninstall gtk+ I haven't used flag --ignore-dependences.

Thanks a million - it worked!!!! 👍

sanromd commented Nov 28, 2017

Hello, great tutorial, thanks for sharing. I am having an issue at step 7 and I am unable to install cairo. The output of brew install --with-x11 cairo is below. I am running MacOs High Sierra 10.13.1 and gcc 7.2. What could be the error?

`~ brew install --with-x11 cairo
==> Downloading https://cairographics.org/releases/cairo-1.14.10.tar.xz
Already downloaded: /Users/sanromd/Library/Caches/Homebrew/cairo-1.14.10.tar.xz
==> ./configure --prefix=/usr/local/Cellar/cairo/1.14.10 --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-quartz-image --enable-xcb=yes --enable-xlib=yes --enable-xlib-xrender=yes
Last 15 lines from /Users/username/Library/Logs/Homebrew/cairo/01.configure:
configure: WARNING: CoreGraphics/CoreGraphics.h: present but cannot be compiled
configure: WARNING: CoreGraphics/CoreGraphics.h: check for missing prerequisite headers?
configure: WARNING: CoreGraphics/CoreGraphics.h: see the Autoconf documentation
configure: WARNING: CoreGraphics/CoreGraphics.h: section "Present But Cannot Be Compiled"
configure: WARNING: CoreGraphics/CoreGraphics.h: proceeding with the compiler's result
configure: WARNING: ## ---------------------------------------------------------------------- ##
configure: WARNING: ## Report this to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo ##
configure: WARNING: ## ---------------------------------------------------------------------- ##
checking for CoreGraphics/CoreGraphics.h... no
checking whether cairo's Quartz surface backend feature could be enabled... no (requires CoreGraphics framework)
checking for cairo's Quartz font backend feature...
checking whether cairo's Quartz font backend feature could be enabled... no (requires CoreGraphics framework)
checking for cairo's Quartz Image surface backend feature...
checking whether cairo's Quartz Image surface backend feature could be enabled... no (requires CoreGraphics framework)

configure: error: Quartz Image surface backend feature could not be enabled`

jingyuzheng commented Dec 5, 2017

Hello! It shows the error below when I did this ~/Downloads$ R CMD INSTALL RGtk2_2.20.33.tar.gz:
Rgtk.c:7:10: fatal error: 'gdk/gdkx.h' file not found
#include <gdk/gdkx.h>
^
1 error generated.
make: *** [Rgtk.o] Error 1
ERROR: compilation failed for package ‘RGtk2’

  • removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RGtk2’

Any idea on how to solve this problem? Thanks in advance!! ps: very helpful tutorial! Thanks a lot!

Owner

zhiyzuo commented Dec 17, 2017

@jingyuzheng, it seems like you did not install gtk+ successfully

Thank you so much for this tutorial.

Do you know why I'd be getting this error, when I attempt your Step 11? Thank you again.


Downloads $ R CMD INSTALL RGtk2_2.20.33.tar.gz
Warning in strptime(xx, f <- "%Y-%m-%d %H:%M:%OS", tz = tz) :
  unknown timezone 'zone/tz/2017c.1.0/zoneinfo/Australia/Melbourne'
* installing to library ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library’
* installing *source* package ‘RGtk2’ ...
** package ‘RGtk2’ successfully unpacked and MD5 sums checked
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for INTROSPECTION... no
checking for GTK... no
configure: error: GTK version 2.8.0 required
ERROR: configuration failed for package ‘RGtk2’
* removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RGtk2’
pc053301:Downloads $ 

Thank you, I used your tips as well as
http://marcoghislanzoni.com/blog/2014/08/29/solved-installing-rattle-r-3-1-mac-os-x-10-9/
and it runs now!
Thanks again

rsalek commented Jan 15, 2018

Great help thx @zhiyzuo
Also @jingyuzheng re:
Rgtk.c:7:10: fatal error: 'gdk/gdkx.h' file not found
#include <gdk/gdkx.h>
^
1 error generated.
make: *** [Rgtk.o] Error 1
ERROR: compilation failed for package ‘RGtk2’
removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RGtk2’

brew uninstall gtk+ --ignore-dependencies
and then install again fixed mine

Thanks for the tutorial, this works for me.

lizpund commented Jan 21, 2018

Thank you so, so much for this tutorial. It made all the difference in being able to move forward on this issue. I am almost there. I was able to get all the way through the end and Rattle did open from XQuartz.

However, I tried to then open Rattle from R Studio and I'm getting stuck on a similar error as @uiang. I am wondering if anyone figured out how to get around it. I am running the following:

  • Mac OS 10.13.2 (High Sierra)
  • R 3.4.3 GUI 1.70 El Capitan build (7463)
  • XQuartz 2.7.11 (xorg-server 1.18.4)
  • RStudio Version 1.1.414

So when I use the XQuartz Terminal, I type library(rattle) and then rattle(), and Rattle opens.

> library(rattle)
Rattle: A free graphical interface for data mining with R.
Version 5.0.14 Copyright (c) 2006-2017 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data.
> rattle ()

(Rattle opens)

But when I use the R Terminal, I try the same thing and this is what I get

> library(rattle)
R session is headless; GTK+ not initialized.
Rattle: A free graphical interface for data mining with R.
Version 5.0.14 Copyright (c) 2006-2017 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data.
> rattle()
Error in rattle() : Can't load RGtk2.
  A windowing system can't be accessed?
  Maybe you are using a remote terminal (ssh) or RStudio browser connection.
  Consider using remote desktop, ssh -X, or X2Go depending on your platform.
  Running rattle() locally on a desktop is the default.
(R:66236): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()

And when I use R Studio, I try the same thing and this is what I get:

> library(rattle)
R session is headless; GTK+ not initialized.
Rattle: A free graphical interface for data mining with R.
Version 5.0.14 Copyright (c) 2006-2017 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data.
> rattle()
(R:66390): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()
Error in rattle() : Can't load RGtk2.
  A windowing system can't be accessed?
  Maybe you are using a remote terminal (ssh) or RStudio browser connection.
  Consider using remote desktop, ssh -X, or X2Go depending on your platform.
  Running rattle() locally on a desktop is the default.

I tried reinstalling RGtk2 in the Terminal and noticed I am getting this at the end of the install:

...
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
R session is headless; GTK+ not initialized.
* DONE (RGtk2)

Thanks in advance for any advice.

Owner

zhiyzuo commented Jan 21, 2018

@mindexplore.
Can you try first open XQuartz then run rattle in RStudio?

lizpund commented Jan 22, 2018

@zhiyzuo I'll try it! I appreciate your reply.

OK, just tried it by closing everything and then, did the following in this order:
a) opened XQuartz
b) opened RStudio
c) in RStudio, I ran library(rattle)
d) in RStudio, I ran ran rattle()

Unfortunately, I got the same output:

> library(rattle)
R session is headless; GTK+ not initialized.
Rattle: A free graphical interface for data mining with R.
Version 5.0.14 Copyright (c) 2006-2017 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data.
> rattle()

(R:67092): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()
Error in rattle() : Can't load RGtk2.
  A windowing system can't be accessed?
  Maybe you are using a remote terminal (ssh) or RStudio browser connection.
  Consider using remote desktop, ssh -X, or X2Go depending on your platform.
  Running rattle() locally on a desktop is the default.
Owner

zhiyzuo commented Jan 23, 2018

@mindexplore How about loading the package RGtk2 in XQuartz and then tried to open rattle in RStudio?

I remembered that the way I tested was similar to make rattle run in RStudio but did not remember clearly. Basically I tried to get GTK work since RStudio somehow was unable to do this.

I met a problem similar to mindexplore. In the step 15, when I type "library (cattle)" It showed
" R session is headless; GTK+ not initialized.
Rattle: A free graphical interface for data mining with R.
Version 5.0.14 Copyright (c) 2006-2017 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data."
then, I type "rattle()", it showed
"Error in rattle() : Can't load RGtk2.
A windowing system can't be accessed?
Maybe you are using a remote terminal (ssh) or RStudio browser connection.
Consider using remote desktop, ssh -X, or X2Go depending on your platform.
Running rattle() locally on a desktop is the default.

(R:88432): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()"

I don't know how to solve this problem.

bsou commented Jan 30, 2018

@uiang Did you get a solution to your problem?

Seems like I have run into a similar problem.

I'm using Mac OS High Sierra 10.13.2 and have R 3.4.1.

I run into the following issue, after trying to install RGtk2 using the following command

$ R CMD INSTALL ~/Downloads/RGtk2_2.20.34.tar.gz
........

installing to /Library/Frameworks/R.framework/Versions/3.4/Resources/library/RGtk2/libs
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

Error: package or namespace load failed for ‘RGtk2’:
.onLoad failed in loadNamespace() for 'RGtk2', details:
call: .RGtkCall("S_gtk_builder_get_type", PACKAGE = "RGtk2")
error: object has no G type
Error: loading failed
Execution halted
ERROR: loading failed

removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RGtk2’


Any pointers on this would be helpful.

lizpund commented Feb 1, 2018

@zhiyzuo That seems to have done the trick! Thank you so much.

Thanks for your tutorial. I really appreciate it. I am having the same problem when I try to load RGtk2 from the ~/Downloads folder. Some things I have tried:I checked and I do have gtk+ in my local/cellar folder. I also checked my .bash_profile and it looks like the path is in there. I also tried to load the source file from Xquartz with no luck. I'm not really sure what to do. Here's my error just in case:

* installing to library ‘/Users/mikes/Library/R/3.4/library’
* installing *source* package ‘RGtk2’ ...
** package ‘RGtk2’ successfully unpacked and MD5 sums checked
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for INTROSPECTION... no
checking for GTK... no
configure: error: GTK version 2.8.0 required
ERROR: configuration failed for package ‘RGtk2’
* removing ‘/Users/mikes/Library/R/3.4/library/RGtk2’

Can you elaborate @mindexplore about how you loaded the package in XQuarts. I tried and it still didn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment