views:

861

answers:

3

Hi. I recently discovered Ruby Shoes, which sounds rather useful for a beginner like me. The only the problem is that my laptop is x64, while the only Linux package is i686. I tried it anyway and it didn't work for me, I kept getting an error. I didn't expect it to work, of course, but is there still a way to get Shoes on x64 Linux? Thanks!

+2  A: 

There doesn't appear to be a 64-bit package for Linux, so if your distro doesn't package shoes you'll need to compile it yourself. This isn't as scary as it sounds!

First, make sure you have the proper development libraries:

Shoes relies on Cairo, Pango, libungif, libjpeg, GTK+ 2.0, and Ruby, as well as GCC and its linker.

To install all of these libraries on Ubuntu or Debian:

# aptitude install libcairo2-dev libpixman-1-dev libpango1.0-dev \ libungif4-dev libjpeg62-dev libgtk2.0-dev vlc libvlc-dev \ libsqlite3-dev libcurl4-openssl-dev ruby1.8-dev rake

(On Ubuntu older than 8.10, actually you'll need libvlc0-dev.)

To install these libraries on Fedora:

# yum install -y giflib-devel cairo-devel libpixman-devel \ pango-devel libjpeg-devel gtk2-devel sqlite-devel vlc-devel \ libcurl-devel ruby-devel

I can get more specific if I knew what distribution you're using. Once you're ready, grab the tarball from shoooes.net and unpack it.

Then, enter the directory and run

make

this will build the project. Assuming this completes successfully, run

make install

If you need further help compiling this, consider joining the mailing list

  • Send a message to shoes AT code.whytheluckystiff.net
  • Cc: why AT whytheluckystiff.net

or #shoes on irc.freenode.net

Adam Lassek
A: 

I'm using Fedora Core 10. Here's what I get when I attempt building it.

$ ~/shoes-0.r1134
bash: /home/Alex/shoes-0.r1134: is a directory
$ make
make: *** No targets specified and no makefile found.  Stop

Alternatively...

$ make shoes-0.r1134
make: Nothing to be done for `shoes-0.r1134'.

Also, I've looked in the repo's, and Ruby Shoes isn't in it.

Bones
It looks like you're calling make from outside the directory; you must be in the same directory as the Makefile when you call make.
Adam Lassek
Have a look at a Linux configure - make - make install tutorial: http://twinturbo.org/linux/understanding-linux-software-installation-using-configure-make-make-install/
codeape
A: 

I tried the instructions above. I got

[nathan@ebisu ~/tmp/shoes-0.r1134] make
build options: shoes raisins (0.r1134) [x86_64-linux]
CC       = cc
RUBY     = /usr
OPTIONS  =
CC shoes/app.c
CC shoes/canvas.c
CC shoes/effects.c
CC shoes/image.c
CC shoes/internal.c
CC shoes/ruby.c
CC shoes/world.c
CC shoes/native/gtk.c
CC shoes/http/curl.c
CC -o dist/libshoes.so
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libjpeg.so when searching for -ljpeg
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libjpeg.a when searching for -ljpeg
CC bin/main.c
CC -o dist/shoes-bin
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libjpeg.so when searching for -ljpeg
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libjpeg.a when searching for -ljpeg
cp: cannot stat `/usr/lib/libruby.so': No such file or directory
make: *** [dist/shoes.launch] Error 1

Obviously I do have libjpeg installed.

Nathan