Passing 'make test-all' on Ruby 1.8.4 on MacOS X

Getting Ruby 1.8.4 to pass ‘make test-all’ on MacOS X can be tricky.
Here’s a list of things which may help:

  • Set your GCC back to version 3.3. This cleans up a lot of warning
    messages, and may prevent bugs caused by GCC 4.0.

    sudo gcc_select 3.3

  • Disable your firewall (if you’re on a safe network!) before running
    ‘make test-all’, and turn it back on again afterwards. The Ruby
    networking tests assume they can listen on addresses other than
    127.0.0.1, which isn’t a safe assumption under MacOS X. You can
    disable your firewall under “System Preferences” > “Sharing”.

  • Run ‘make install’ before running ‘make test-all’. The test
    suites rely on an installed copy of Ruby to run.

Hope this helps! Some of these tips will apply to other platforms, too.

Cheers,
Eric