ps3dev / ps3toolchain

A script to autobuild an open source toolchain for the PS3.
BSD 2-Clause "Simplified" License
283 stars 92 forks source link

Compile issue (006-binutils-2.20-SPU.sh) #4

Closed lombers closed 14 years ago

lombers commented 14 years ago

Hi,

I've run into an issue when building the ps3toolchain on Mac OSX (10.6.4) with the latest XCode (3.2.4). This is the output from the compile:

Undefined symbols: "_libintl_textdomain", referenced from: _main in cc7oQTPh.o "_libintl_bindtextdomain", referenced from: _main in cc7oQTPh.o "_libintl_gettext", referenced from: _main in cc7oQTPh.o _main in cc7oQTPh.o _print_version in ccua8cuu.o _print_version in ccua8cuu.o ld: symbol(s) not found collect2: ld returned 1 exit status make[4]: * [bin2c] Error 1 make[4]: * Waiting for unfinished jobs.... libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o size size.o bucomm.o version.o filemode.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a -liconv -lz mv -f .deps/nm.Tpo .deps/nm.Po mv -f .deps/readelf.Tpo .deps/readelf.Po make[3]: * [all-recursive] Error 1 make[2]: * [all] Error 2 make[1]: * [all-binutils] Error 2 make: * [all] Error 2 ../scripts/006-binutils-2.20-SPU.sh: Failed. ERROR: Could not run the toolchain script.

I'm not sure of the exact issue, but I can confirm the build works fine when using kakaroto's ps3toolchain from his PL3 git which seems to be a slightly older revision.

Please let me know if you need any further details.

Regards

David

ooPo commented 14 years ago

This is a very strange problem, both the ps3toolchain version linked to in kakaroto's PL3 and the current one both use the same version of binutils (2.20) and the script to build it is the same. Notice the failure is on the SPU binutils, and that hasn't changed in quite a while.

Try adding '--disable-nls' to the configure line in scripts/006-binutils-2.20-SPU.sh.

lombers commented 14 years ago

I did as you suggested and it appears to build cleanly. I added the "--disable-nls" line as you said, this is the last few lines of output after running it this morning:

rm -f /usr/local/ps3dev/spu/bin/spu-gcc /usr/bin/install -c xgcc /usr/local/ps3dev/spu/bin/spu-gcc rm -f /usr/local/ps3dev/spu/bin/spu-gcc-4.5.1 ( cd /usr/local/ps3dev/spu/bin && \ ln spu-gcc spu-gcc-4.5.1 ) if [ -f gcc-cross ] ; then \ if [ -d /usr/local/ps3dev/spu/lib/gcc/spu/4.5.1/../../../../spu/bin/. ] ; then \ rm -f /usr/local/ps3dev/spu/lib/gcc/spu/4.5.1/../../../../spu/bin/gcc; \ /usr/bin/install -c gcc-cross /usr/local/ps3dev/spu/lib/gcc/spu/4.5.1/../../../../spu/bin/gcc; \ else true; fi; \ else \ rm -f /usr/local/ps3dev/spu/bin/spu-gcc-tmp; \ ( cd /usr/local/ps3dev/spu/bin && \ ln spu-gcc spu-gcc-tmp && \ mv -f spu-gcc-tmp spu-spu-gcc ); \ fi /usr/bin/install -c lto-wrapper /usr/local/ps3dev/spu/libexec/gcc/spu/4.5.1/lto-wrapper

Is that what I should expect to see if the build executes cleanly?

Thanks for all your help.

ooPo commented 14 years ago

If it didn't say a script failed, you're all done.

lombers commented 14 years ago

Yep tested and it's all good. Thanks!

ooPo commented 14 years ago

Great, I've added that to the SPU scripts so it shouldn't be a problem anymore.