evanphx / rubinius

Rubinius, the Ruby VM

This URL has Read+Write access

rubinius / doc / common_problems.txt
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 1 # Common Build Problems and Solutions
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 2
3 TODO: Imported from Lighthouse wiki. Likely outdated
4
5 These are typical error messages / scenarios that you may encounter at various
6 stages of building Rubinius, along with the typical causes and solutions.
7
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 8 ## Before anything else
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 9
10 *Make certain that you do not have an old version of Rubinius installed
11 somewhere.* Executing new code using the old libraries will end in tears. The
12 name should be `librubinius-*` and the typical location is `/usr/local/lib/`
13 or `/usr/lib` but you can use `find` to make sure you get everything in case
14 your install location is strange.
15
16 Old .rbc files may be getting in the way. 'rake clean build' should eliminate
17 these problems.
18
19
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 20 ## C Compilation Errors
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 21
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 22 ### "undefined reference to '[some symbol]"
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 23
24 Try `rake distclean build` to make sure the entire C codebase is rebuilt.
25
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 26 ### "error: IN_DONT_FOLLOW not declared"
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 27
28 On Linux at least, the inotify library may be used but for some reason, some
29 distributions' sys/inotify.h does not have the necessary constants. You can
30 either disable it in the configuration or try to use updated header files at
31 least from
32 [here](http://inotify.aiken.cz/?section=inotify&page=download&lang=en).
33
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 34 ### "Unable to compile [extension].so/dylib/etc."
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 35
36 First, even if an extension fails to build, you should still be OK. Try
37 `shotgun/rubinius -v` to verify that Rubinius itself works.
38
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 39 ### "glibtool: link: cannot build libtool library `librubinius.la' from
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 40 non-libtool objects: ..." (Mac OS X)
41
42 Make sure your `glibtool` is at least version 1.5. You may also have multiple
43 versions installed, use `` `which glibtool` `` to locate the one that is
44 currently being picked up. Typically this problem occurs if you have an
45 outdated version in `/sw/bin/glibtool` and a newer one in `/usr/bin/glibtool`.
46
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 47 ### "MACOSX_DEPLOYMENT_TARGET ..."
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 48
49 The error message is probably complaining that it is supposedly set to 10.1 or
50 something; you can override this by giving the env explicitly on the command
51 line. The Rubinius code seems to be correct though so it is likely you have
52 that invalid #define in your system headers somewhere.
53
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 54 ## Ruby Build Errors
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 55
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 56 ### "... in `initialize': uninitialized constant Mutex::Channel"
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 57
58 Unset `$RUBYOPT` (usually set for Gems.)
59
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 60 ### "Unable to find [ClassName]"
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 61
62 These are caused by some load order dependency not being properly constructed.
63 Determine which file needs which other file and insert a "depends on
64 [file].rb", then `rake build : load_order`.
65
059d6bb0 » brixen 2008-11-22 A few more docs and RDoc to... 66 ### "Unable to find 'kernel/bootstrap/archive.rbc'" -- "Unable to run
9a496b9a » brixen 2008-11-21 Migrated docs from Lighthou... 67 runtime/stable/bootstrap.rba"
68
69 Either:
70
71 1. You have accidentally deleted/moved/etc. something in `runtime/` and you
72 can probably restore it with a quick `git checkout runtime/` ; or
73 1. Something is breaking in the loader, break out the GDB.