From: Chad Brewbaker Date: 2006-11-17T06:38:00+09:00 Subject: Re: Problem linking on a Bluegene-L Jeffrey Schwab wrote: > Chad Brewbaker wrote: >> I am trying to get mpi-ruby-0.4 working on a Bluegene-L system. I >> compiled ruby-1.8.4 with --enable-shared. make test seemed ok except it >> bombed on the SOAP library. > > On "a" BlueGene/L? How many of them do you think there are? No clue on the official name IBM calls it. It's one cabinet (1024 nodes) http://bluegene.ece.iastate.edu/ Also, the problem is worse than I thought. The 1024 compute nodes run on a different chipset than the service nodes. Thus, I need to hack the ruby configure script to do cross compilation: http://www.redbooks.ibm.com/redbooks/pdfs/sg247179.pdf Here is the configure script I modified off of the one from when they ported Fastest Fourier Transform in The West: #!/bin/bash # Shell script to build FFTW 2.1.5 on eServer Blue Gene # Owain Kenway, EPCC, 2005 echo "Setting environment variables" export MPICC=mpixlCC export CC=blrts_xlc export F77=blrts_xlf export FFLAGS="-O5 -qarch=440d -qtune=440 -qmaxmem=-1" export CFLAGS="-O5 -qarch=440d -qtune=440 -qmaxmem=-1" export LDFLAGS="-O5 -qarch=440d -qtune=440 -qmaxmem=-1 \ -L/bgl/BlueLight/ppcfloor/bglsys/lib" echo "Configuring" ./configure --build=ppc-linux-gnu --host=powerpc-aix \ --prefix=/home/crb002/computenode --enable-shared The problem now when compiling ruby-1.8.5 with the above script is that configure stops with an error: ...bunch of similar stuff... checking whether getpgrp requires zero arguments... yes checking whether setpgrp takes no argument... configure: error: cannot check setpgrp when cross compiling Looks like it's time to hack the configure.in file and feed it back through autoconf. Anybody here have experience cross compiling ruby? The only problem I can see is that the compute nodes run a striped down kernel that only allows one user process, and has a reduced set of POSIX system calls. From what I know this shouldn't be too much of a problem because ruby was designed to run as a single process. -Chad -- Posted via http://www.ruby-forum.com/.