# Problem linking on a Bluegene-L

**URL:** <https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015>\
**Category:** Ruby\
**Created:** [November 15, 2006, 8:31am UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015 "2006-11-15T08:31:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 15, 2006, 8:31am UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/1 "2006-11-15T08:31:08Z")

</div>

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.

mpi-ruby-0.4 could not detect my machine configuration, so I copied the  
config.guess file from ruby 1.8.4. No clue if this was a good idea, but  
it detected the machine as ppc64/Linux.

When compiling mpi-ruby-0.4 I get the follwing error.

Please advise on the next course of action 🙂

## -Chad

crb002@bluegene:~/source/mpi\_ruby-0.4\> make  
make all-recursive  
make[1]: Entering directory `/home/crb002/source/mpi_ruby-0.4' Making all in src make[2]: Entering directory`/home/crb002/source/mpi\_ruby-0.4/src’  
/bgl/BlueLight/ppcfloor/bglsys/bin/mpicc -g -O2  
-I/home/crb002/lib/ruby/1.8/powerpc64-linux -I/home/crb002/include -o  
mpi\_ruby main.o mpi.o mpi\_comm.o mpi\_exception.o mpi\_group.o  
mpi\_keyval.o mpi\_op.o mpi\_request.o mpi\_status.o -lruby  
-L/home/crb002/lib  
/bgl/BlueLight/V1R3M0\_240\_2006-060623/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3/…/…/…/…/powerpc-bgl-blrts-gnu/bin/ld:  
warning: libdl.so.2, needed by /home/crb002/lib/libruby.so, not found  
(try using -rpath or -rpath-link)  
/bgl/BlueLight/V1R3M0\_240\_2006-060623/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3/…/…/…/…/powerpc-bgl-blrts-gnu/bin/ld:  
warning: libcrypt.so.1, needed by /home/crb002/lib/libruby.so, not found  
(try using -rpath or -rpath-link)  
/bgl/BlueLight/V1R3M0\_240\_2006-060623/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3/…/…/…/…/powerpc-bgl-blrts-gnu/bin/ld:  
warning: libm.so.6, needed by /home/crb002/lib/libruby.so, not found  
(try using -rpath or -rpath-link)  
/bgl/BlueLight/V1R3M0\_240\_2006-060623/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3/…/…/…/…/powerpc-bgl-blrts-gnu/bin/ld:  
warning: libc.so.6, needed by /home/crb002/lib/libruby.so, not found  
(try using -rpath or -rpath-link)  
/home/crb002/lib/libruby.so: undefined reference to `getenv@GLIBC_2.0' /home/crb002/lib/libruby.so: undefined reference to`strcpy@GLIBC\_2.0’  
/home/crb002/lib/libruby.so: undefined reference to `chroot@GLIBC\_2.0’  
…(A few more pages of the same)

---

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 15, 2006, 3:36pm UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/2 "2006-11-15T15:36:16Z")

</div>

Chad B. 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?

---

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 15, 2006, 5:26pm UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/3 "2006-11-15T17:26:46Z")

</div>

On 11/15/06, Jeffrey S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Chad B. 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?

The TOP500 lists 28, so at least that many.

---

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 16, 2006, 2:01pm UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/4 "2006-11-16T14:01:45Z")

</div>

Ilmari H. wrote:

> On 11/15/06, Jeffrey S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Chad B. 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?
> 
> The TOP500 lists 28, so at least that many.

No, those aren’t BlueGene/L’s, they’re other BlueGenes. The BlueGene/L  
is by definition the one built for Lawrence Livermore. It’s the fastest  
supercomputer in the world. To be using BlueGene/L, you either have to  
be working at LLNL or in the IBM research division.

---

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 17, 2006, 4:26pm UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/5 "2006-11-17T16:26:27Z")

</div>

Jeffrey S. wrote:

> > The TOP500 lists 28, so at least that many.
> 
> No, those aren’t BlueGene/L’s, they’re other BlueGenes. The BlueGene/L  
> is by definition the one built for Lawrence Livermore. It’s the fastest  
> supercomputer in the world. To be using BlueGene/L, you either have to  
> be working at LLNL or in the IBM research division.

My failure to understand: Other BlueGenes based on the L architecture  
are said by TOP500 to be in the BlueGene/L system family, so are called  
BlueGene/Ls in the vernacular. Sorry for not getting it earlier.

---

<div class="post-metadata">

**Author:** ![underbluewaters](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/5daacb/32.png) [@underbluewaters](https://www.ruby-forum.com/u/underbluewaters)\
**Post date:** [November 16, 2006, 10:37pm UTC](https://www.ruby-forum.com/t/problem-linking-on-a-bluegene-l/76015/6 "2006-11-16T22:37:57Z")

</div>

Jeffrey S. wrote:

> Chad B. 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/](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:

> **[sg247179.pdf](https://www.redbooks.ibm.com/redbooks/pdfs/sg247179.pdf)**
>
> 2.35 MB

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
