PS3 cross-compile problem

Hi!

I have problem cross compiling GNU Radio on my x86_64 machine for my
ps3.
I’ve never tried cross compiling before, so I’m not sure that I’ve got
everything right,
but when I try (on the x86_64 machine) to run

[andreas@mars trunk]$ ./configure-cell-cross
–prefix=/mnt/share/cell-install

I get the following errors printed in config.log

configure:3036: checking for powerpc64-unknown-linux-gnu-gcc
configure:3063: result: ppu32-gcc
configure:3341: checking for C compiler version
configure:3348: ppu32-gcc --version>&5
./configure: line 3349: ppu32-gcc: command not found
configure:3351: $? = 127
configure:3358: ppu32-gcc -v>&5
./configure: line 3359: ppu32-gcc: command not found
configure:3361: $? = 127
configure:3368: ppu32-gcc -V>&5
./configure: line 3369: ppu32-gcc: command not found
configure:3371: $? = 127
configure:3394: checking for C compiler default output file name
configure:3421: ppu32-gcc -I/mnt/cell-root/usr/include
-L/mnt/cell-root/lib -L/mnt/cell-root/usr/lib conftest.c >&5
./configure: line 3422: ppu32-gcc: command not found
configure:3424: $? = 127
configure:3462: result:
configure: failed program was:
| /* confdefs.h. /
| #define PACKAGE_NAME “”
| #define PACKAGE_TARNAME “”
| #define PACKAGE_VERSION “”
| #define PACKAGE_STRING “”
| #define PACKAGE_BUGREPORT “”
| #define PACKAGE “gnuradio”
| #define VERSION “3.1svn”
| /
end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3469: error: C compiler cannot create executables

It seems that there is some problem with the ppu32-gcc setting…

so I checked (the ps3) but got:

[andreas@spartacus ~]$ ppu32-gcc -v
Using built-in specs.
Target: ppu
Configured with: …/toolchain/gcc/configure --prefix=/usr
–mandir=/usr/share/man --infodir=/usr/share/info
–with-as=/usr/bin/ppu-as --with-ld=/usr/bin/ppu-ld --enable-threads
–with-system-zlib --disable-checking --enable-__cxa_atexit
–disable-libunwind-exceptions --enable-languages=c,c++,fortran,ada
–disable-nls --enable-clocale=gnu
–enable-version-specific-runtime-libs --with-long-double-128
–program-prefix=ppu- --disable-bootstrap --host=ppu
–build=powerpc64-unknown-linux-gnu --target=ppu
Thread model: posix
gcc version 4.1.1

Can anyone tell me what is wrong??

Andreas

Problem solved!

I just had to add /opt/cell/toolchain/bin
to PATH on the build machine.

After that, configure-cell-cross, make, ‘make check’ and ‘make install’
worked without problems.

I would however like to point out some things that maybe should be in
the wiki:

  1. There is a line that says: Download the latest Cell
    http://www.kernel.org/pub/linux/kernel/people/geoff/cell/CELL-Linux-CL_20080201-ADDON.iso
    (ADDON CD iso).
    The link doesn’t work, I used an ADDON cd at
    http://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-distro-kit/

  2. There is a line that says: At the kboot command prompt, enter:
    linux64 xdriver=fbdev video=720p install text.
    I’m not using the PS3 for games, so I have connected a 20+ years old TV
    to it, which (probably combined with being European) does not handle the
    720p resolution. I had to use video=576i instead. For guidance look at
    PS3™ | Video Output Settings.

  3. You HAVE to use the /mnt/cell-root location on your build machine
    when mounting the ps3 root. You really do.
    I tried some other location first, but even if you change the variables
    in the scripts, I found that /mnt/cell-root was hard linked in some
    places. When trying to change mountpoint to /mnt/cell-root, which I
    should have used the first time, I noticed that running
    tweak-cell-for-cross-compiling a second time with another location isn’t
    wise. The result is additive, that is, if you first got the .so files
    tweaked to path1/lib…so, the second time you get path2/path1/lib…so.
    Not good. So do use /mnt/cell-root as it says.

  4. Read the error messages. Read the error messages. Read the error
    message… Get it?
    If it says ‘ppu32-gcc: command not found’, that means that the
    ppu32-gcc command was not found. Do you have the file? Where is it
    located? Is the PATH ok? Are you checking the PATH on the right machine?
    I had missed that ppu32-gcc had to be accessible with a good PATH on the
    build machine too.

Next thing would be to get the usrp connected and running, but first I’d
like to have some sound and display. Anyone that have “been there, done
that” that could point me in the right direction to get those two things
working on the PS3, or presented remotely??

Andreas


On Sun, Jul 27, 2008 at 03:32:22PM +0200, Andreas Fernström wrote:

Problem solved!

I just had to add /opt/cell/toolchain/bin
to PATH on the build machine.

After that, configure-cell-cross, make, ‘make check’ and ‘make install’ worked without problems.

I would however like to point out some things that maybe should be in the wiki:

login: guest
password: gnuradio

Next thing would be to get the usrp connected and running, but first
I’d like to have some sound and display. Anyone that have “been
there, done that” that could point me in the right direction to get
those two things working on the PS3, or presented remotely??

Sounds works out of the box if you using -I or -O plughw:0,0 on the
audio examples. If you want to help make hw:0,0 work drop me a line.
I’ll tell you what needs to happen.

For a display, just ssh in to the ps3 from your build host using the
-X option to enable X11 forwarding.

Eric