[MacRuby-devel] PPC build server for MacRuby trunk

Rich Morin rdm at cfcl.com
Tue Apr 7 00:16:25 PDT 2009


I have set up a PPC-based server (dual-core 2.0 GHz Power Mac G5) to do
nightly downloads and builds of the MacRuby trunk.  The current snapshot
was made at 2350 PDT; the next and following runs will occur at 0500.  I
plan to install a script RSN to remove ancient output.

Clues and suggestions welcome...

-r


Building LLVM
-------------

The README file suggests using:

  UNIVERSAL_ARCH="i386 x86_64"

for building LLVM.  This doesn't seem reasonable for a PPC machine.
So, based Dömötör Gulyás's hint on how to build MacRuby, I tried:

  UNIVERSAL_ARCH="ppc i386"

After an interminable series of compilations, the build finished:

  llvm[4]: Linking Release executable Sample (without symbols)
  llvm[4]: ======= Finished Linking Release Executable Sample
    (without symbols)
  make[1]: Nothing to be done for `all'.
  llvm[0]: ***** Completed Release Build


Installing LLVM
---------------

I then tried to install llvm, but got LOTS of errors of the form:

  /opt/local/bin/ginstall: cannot create regular file
    `/usr/local/include/./.svn/all-wcprops':
      No such file or directory

I then alternated between mkdir and "make install" commands for a
while, making the following directories:

  /usr/local/include/.svn
  /usr/local/include/llvm/.svn
  /usr/local/include/llvm/.svn/{prop-base,text-base}
  /usr/local/include/llvm/ADT/.svn/
  /usr/local/include/llvm/ADT/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Analysis/.svn
  /usr/local/include/./llvm/Analysis/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Assembly/.svn
  /usr/local/include/./llvm/Assembly/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Bitcode/.svn
  /usr/local/include/./llvm/Bitcode/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/CodeGen/.svn
  /usr/local/include/./llvm/CodeGen/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/CompilerDriver/.svn
  /usr/local/include/./llvm/CompilerDriver/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Config/.svn
  /usr/local/include/./llvm/Config/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Debugger/.svn
  /usr/local/include/./llvm/Debugger/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/ExecutionEngine/.svn
  /usr/local/include/./llvm/ExecutionEngine/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Support/.svn
  /usr/local/include/./llvm/Support/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Support/.svn
  /usr/local/include/./llvm/Support/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/System/.svn
  /usr/local/include/./llvm/System/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Target/.svn
  /usr/local/include/./llvm/Target/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Transforms/.svn
  /usr/local/include/./llvm/Transforms/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Transforms/IPO/.svn
  /usr/local/include/./llvm/Transforms/IPO/.svn/{prop-base,text-base}
  /usr/local/include/./llvm/Transforms/Utils/.svn
  /usr/local/include/./llvm/Transforms/Utils/.svn/{prop-base,text-base}
  /usr/local/include/./llvm-c/.svn
  /usr/local/include/./llvm-c/.svn/{prop-base,text-base}
  /usr/local/include/./llvm-c/Transforms/.svn
  /usr/local/include/./llvm-c/Transforms/.svn/text-base

This was really tedious.  I assume that there is something I (or the
build script) should have done to obviate this hassle.  Suggestions?


Build, Specs, Benchmarks
------------------------

The build proceeded without any apparent problems.
The specs proceeded without any apparent problems.
The benchmarks stalled for a looooooong time here:

  50000 raise    942.180000  13.450000 955.630000 (536.527173)


Examining code, output, etc.
----------------------------

The directory tree is available for public examination at:

  http://www.cfcl.com/rdm/macruby/

    YYYY.MMDD.HHMM/              tree for a given run
      1_svn_co                   log for "svn co ..."
      2_rake                     log for "rake"
      3_rake_spec_ci             log for "rake bench:ci"
      4_rake_bench_ci            log for "rake bench:ci"
      macruby-experimental/...   working directory tree

    Notes                        assorted notes
    doit*                        the script
    llvm-trunk/...               LLVM build tree
-- 
http://www.cfcl.com/rdm            Rich Morin
http://www.cfcl.com/rdm/resume     rdm at cfcl.com
http://www.cfcl.com/rdm/weblog     +1 650-873-7841

Technical editing and writing, programming, and web development


More information about the MacRuby-devel mailing list