Building LLVM-GCC on Linux/PowerPC failed

Hi, folks

    I am trying to build LLVM-GCC 4.2 on a Linux/PowerPC machine.
Actually, the PowerPC is a PS3. The source was downloaded from
http://llvm.org/releases/2.8/llvm-gcc-4.2-2.8.source.tgz

  Here is my system information and configuration options:

Hi,

Hi, folks

I am trying to build LLVM-GCC 4.2 on a Linux/PowerPC machine.
Actually, the PowerPC is a PS3.

(snip)

And here is the compiling error,

-----------------------------------------------------------------------
In file included from /usr/include/features.h:354,
from /usr/include/stdio.h:28,
from ../../gcc/tsystem.h:90,
from ../../gcc/crtstuff.c:68:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or

Adding -m64 to CFLAGS should help.

CFLAGS=-m64 ../configure --prefix=/tmp/chenwj --enable-langugaes=c,c++

Also check that there isn't a -m32 amongst CFLAGS

HTH,
Csaba

Hi, Csaba

  Thanks for the tip. My PS3 workstationn is installed a 32-bit OS. I will
install a 64-bit OS soon and try what you said.

  Thanks again.

Regards,
chenwj

Hi,

Hello

Thanks for the tip. My PS3 workstationn is installed a 32-bit OS. I will

Please carefully read the readme.llvm file in the llvm-gcc source directory.
At least it will give some hints how llvm-gcc should be configured
(e.g. it doesn't seem you're passing any path to already built LLVM
libs, etc.)

Dear all,

I heard a different way to solve it.
$ apt-get install libc6-dev-amd64

Maybe this can help?

2010/12/30 Anton Korobeynikov <anton@korobeynikov.info>

Hi Nowar,

Hi, folks

  I am "stll" trying to build LLVM-GCC 4.2 on a Linux/PS3 machine, which
has a 64-bit OS.

  Here is my system information and configuration options:

陳韋任 wrote:

Linux ps3 2.6.32-rc2-00995-g96ebbe6-dirty #2 SMP Fri Oct 2 15:12:28 CST
2009 ppc64 Cell Broadband Engine, altivec supported GNU/Linux

Yes, the kenel is 64 bit, but you may still have a pure 32
bit userspace (thats what my dual G5 PowerMac running Linux
has).

Does your maching have directories like /lib64 and /usr/lib64?

If you compile a program like:

    #include <stdio.h>
    int main (void) {
        printf ("sizeof (void*) : %zd\n", sizeof (void*)) ;
        return 0 ;
    }

what is the size of a void pointer?

Does this change if you add -m64 to the gcc command line?

Erik

Hi, Erik

  Thanks for your reply.

Does your maching have directories like /lib64 and /usr/lib64?

Yes, it has /lib64 and /usr/lib64.

what is the size of a void pointer?

$ ./a.out
sizeof (void*) : 8

Does this change if you add -m64 to the gcc command line?

No.

Regards,
chenwj

陳韋任 wrote:

> Does your maching have directories like /lib64 and /usr/lib64?
Yes, it has /lib64 and /usr/lib64.

> what is the size of a void pointer?
$ ./a.out
sizeof (void*) : 8

> Does this change if you add -m64 to the gcc command line?
No.

Ok, as far as I cam tell, everything on your system is
correct.

I don't have any further ideas for you to test.

Erik

Hello

       build/genmodes\.o build/errors\.o \.\./\./libiberty/libiberty\.a

build/genmodes -h > tmp-modes.h
/bin/sh: line 1: 9623 Segmentation fault build/genmodes -h >

Here genmodes is already built via llvm. Given that there is no proper
ppc-linux/ppc64-linux codegen support, it's not unexpected that you're
seeing a segfault here.

Try to configure with --disable-bootstrap

Don't know if it helps, but clang at least builds nicely. Unfortunately
I have a 32bit runtime installed and this seems to cause problems
somewhere - clang defaults to 64bit assembly (if I understood the output
correctly), and the assembly made from running
'clang --ccc-host-triple=powerpc-linux-gnu' is not accepted by the
default system assembler. It might work better on a 64bit system.

And I probably should file a bug. Is ppc32 still maintained?

kalle

Kalle Raiskila wrote:

And I probably should file a bug. Is ppc32 still maintained?

I have no concrete knowledge of this, but llvm compiles
and passes all tests on ppc32, so it seems to be maintained.
About once a week I grab the latest SVN head and check this.

Erik

It is run by one of the automatic testers, and introduced bugs that break the tester get fixed. Nobody is doing new work on it.

I have no concrete knowledge of this, but llvm compiles
and passes all tests on ppc32, so it seems to be maintained.
About once a week I grab the latest SVN head and check this.

It is run by one of the automatic testers, and introduced bugs that break
the tester get fixed. Nobody is doing new work on it.

Just to clarify: ppc32-darwin, not ppc32-linux.

Hi, Erik

  If I do NOT add "--disable-multilib" option, then I will get the
following error,

Hello

The "--disable-bootstrap" give me no luck. Why you think that
"--disable-bootstrap" might help?

Due to reasons I outlined in my prev. e-mail. Now you can notice that
the build proceed much further. Try to add --disable-libmudflap as well.

Hi, Anton

  Finally, I built LLVM-GCC 2.8 on a Linux/PS3 machine.

  I just put my configuration options here,

P.S.
    I repeat your trick again when it failed at compiling the gomp library,
i.e., add "--disable-libgomp" option.

Regards,
chenwj