| View previous topic :: View next topic |
| Author |
Message |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Sat Jan 28, 2006 4:40 pm Post subject: Help test the newtoolchain script. |
|
|
WARNING! STILL EXPERIMENTAL!
http://www.oopo.net/consoledev/files/newtoolchain-20060128.tgz
| Code: |
###################
## WHAT IS THIS? ##
###################
This is my second attempt at a great script for automating the building
and installing of various toolchains. A brief list of the new changes:
- Moved from a shell script to a perl script.
- Presents an easy-to-read interface to the user.
- Supports PS2, PSP and GP2X in one script. Adding more is easy.
- Logs everything to a log file and shows the last 20 lines on an error.
- Allows the easy choosing of which steps to run and which to skip.
- Automatically grabs the latest in patches and software, when possible.
######################
## HOW DO I USE IT? ##
######################
Usage:
./toolchain.pl [system] <list_of_steps>
Valid systems are currently:
PS2 PSP GP2X GP2X-LIBS (case sensitive)
Valid steps are as follows:
PS2
1 = binutils
2 = gcc (C)
3 = newlib
4 = gcc (C++)
5 = pspsdk
6 = ps2client
PSP
1 = binutils
2 = gcc (C)
3 = pspsdk headers
4 = newlib
5 = gcc (C++)
6 = pspsdk
GP2X
1 = linux-headers
2 = binutils
3 = glibc (stage1)
4 = gcc (stage1)
5 = glibc (stage2)
6 = gcc (stage2)
GP2X-LIBS
1 = zlib
2 = jpeglib
3 = libpng
4 = freetype
5 = SDL
6 = SDL_image
7 = SDL_mixer
8 = SDL_ttf
Steps can be specified in any order and can even be repeated. Be careful
to not specify an order that is invalid as you'll end up with a bad build.
###################
## ANY EXAMPLES? ##
###################
To build a complete ps2dev toolchain:
./toolchain.sh PS2
To update and build only the pspsdk:
./toolchain.sh PSP 6
To build just the pspdev binutils and pspsdk:
./toolchain.sh PSP 1 6
To be really weird:
./toolchain.sh PS2 1 2 3 4 5 6 5 4 3 2 1
###########################
## WHO THE HELL ARE YOU? ##
###########################
I'm Dan, sometimes known as ooPo. I can be found at:
peori@oopo.net
ooPo on freenode (#ps2dev & #pspdev)
ooPo on efnet (#gp2xdev)
http://www.oopo.net/consoledev
http://forums.ps2dev.org
Enjoy the script, and if you want to modify it... go ahead!
Just let me know, ok?
|
Check out the crazy new dependency checking:
| Code: | my %dependencies = (
"COMMON" => [
[ " gcc:\t\t", "{ gcc -v; }", "Please install gcc before continuing." ],
[ " $make:\t\t", "{ $make -v; }", "Please install $make before continuing." ],
[ " wget:\t\t", "{ wget -V; }", "Please install wget before continuing." ],
[ " patch:\t\t", "{ patch -v; }", "Please install patch before continuing." ],
],
"PS2" => [
[ " svn:\t\t", "{ svn help; }", "Please install subversion before continuing."],
[ " \$PS2DEV:\t", "{ export | grep ' PS2DEV='; }", "Please read README.PS2 for information." ],
[ " \$PS2SDK:\t", "{ export | grep ' PS2SDK='; }", "Please read README.PS2 for information." ],
[ " path:\t\t", "{ export | grep ' PATH=' | grep '$PS2DEV'; }", "Please read README.PS2 for information." ],
[ " privs:\t\t", "{ mkdir -p $PS2DEV && touch $PS2DEV/.test && rm $PS2DEV/.test; }", "Please read README.PS2 for information." ],
],
"PSP" => [
[ " svn:\t\t", "{ svn help; }", "Please install subversion before continuing."],
[ " automake:\t", "{ automake --version; }", "Please install automake before continuing." ],
[ " autoconf:\t", "{ autoconf --version; }", "Please install autoconf before continuing." ],
[ " \$PSPDEV:\t", "{ export | grep ' PSPDEV='; }", "Please read README.PSP for information." ],
[ " path:\t\t", "{ export | grep ' PATH=' | grep '$PSPDEV'; }", "Please read README.PSP for information." ],
[ " privs:\t\t", "{ mkdir -p $PSPDEV && touch $PSPDEV/.test && rm $PSPDEV/.test; }", "Please read README.PSP for information." ],
], |
Download, unpack, patch and build!
| Code: | "PSP" => [
[ "binutils-2.16.1", [ "psp" ],
"{ wget -c ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.16.1.tar.bz2; }",
"{ rm -Rf binutils-2.16.1 && tar xfvj binutils-2.16.1.tar.bz2; }",
"{ cd binutils-2.16.1 && svn cat svn://svn.pspdev.org/psp/trunk/psptoolchain/binutils-2.16.1.patch | patch -p1; }",
"{ cd binutils-2.16.1 && mkdir -p build-\$target && cd build-\$target && ../configure --prefix=$PSPDEV --target=\$target --enable-install-libbfd && $make && $make install && $make clean; }",
],
[ "gcc-4.0.2 (C)", [ "psp" ],
"{ wget -c ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2 && wget -c ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.0.2/gcc-g++-4.0.2.tar.bz2; }",
"{ rm -Rf gcc-4.0.2 && tar xfvj gcc-core-4.0.2.tar.bz2 && tar xfvj gcc-g++-4.0.2.tar.bz2; }",
"{ cd gcc-4.0.2 && svn cat svn://svn.pspdev.org/psp/trunk/psptoolchain/gcc-4.0.2.patch | patch -p1; }",
"{ cd gcc-4.0.2 && mkdir -p build-\$target && cd build-\$target && ../configure --prefix=$PSPDEV --target=\$target --enable-languages='c' --with-newlib --without-headers && $make && $make install && $make clean; }",
],
[ "pspsdk-current (headers)", [ "psp" ],
"{ svn checkout svn://svn.pspdev.org/psp/trunk/pspsdk; }",
"",
"",
"{ cd pspsdk && ./bootstrap && ./configure --with-pspdev=$PSPDEV && $make install-data && $make clean; }",
],
[ "newlib-1.13.0", [ "psp" ],
"{ wget -c ftp://sources.redhat.com/pub/newlib/newlib-1.13.0.tar.gz; }",
"{ rm -Rf newlib-1.13.0 && tar xfvz newlib-1.13.0.tar.gz; }",
"{ cd newlib-1.13.0 && svn cat svn://svn.pspdev.org/psp/trunk/psptoolchain/newlib-1.13.0.patch | patch -p1; }",
"{ cd newlib-1.13.0 && mkdir -p build-\$target && cd build-\$target && ../configure --prefix=$PSPDEV --target=\$target && CPPFLAGS='-G0' $make && $make install && $make clean; }",
],
|
And here's what it looks like in action:
| Code: | $ ../toolchain.pl
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
privs: Found!
automake: Found!
autoconf: Found!
Step 1 of 6: binutils-2.14
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
iop: Done!
dvp: Done!
Step 2 of 6: gcc-3.2.2 (C)
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
iop: Done!
Step 3 of 6: newlib-1.10.0
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
Step 4 of 6: g++-3.2.2 (C/C++)
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
Step 5 of 6: ps2sdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
=====================
== ERROR DETECTED! ==
=====================
Installing include/speedregs.h to /usr/local/ps2dev/ps2sdk/common/include
Installing include/tamtypes.h to /usr/local/ps2dev/ps2sdk/common/include
Installing include/tcpip.h to /usr/local/ps2dev/ps2sdk/common/include
Installing include/sys/fcntl.h to /usr/local/ps2dev/ps2sdk/common/include/sys
Installing include/sys/ioctl.h to /usr/local/ps2dev/ps2sdk/common/include/sys
Installing include/sys/select.h to /usr/local/ps2dev/ps2sdk/common/include/sys
Installing include/sys/stat.h to /usr/local/ps2dev/ps2sdk/common/include/sys
Installing include/sys/time.h to /usr/local/ps2dev/ps2sdk/common/include/sys
make[1]: Leaving directory `/home/peori/Coding/ps2/toolchain/TEST/ps2sdk/common'
make -C samples release
make[1]: Entering directory `/home/peori/Coding/ps2/toolchain/TEST/ps2sdk/samples'
mkdir -p /usr/local/ps2dev/ps2sdk/samples
cp -f Makefile_sample /usr/local/ps2dev/ps2sdk/samples/Makefile
cp -f Makefile.pref_sample /usr/local/ps2dev/ps2sdk/samples/Makefile.pref
cp -f Makefile.eeglobal_sample /usr/local/ps2dev/ps2sdk/samples/Makefile.eeglobal
cp -f Makefile.eeglobal_cpp_sample /usr/local/ps2dev/ps2sdk/samples/Makefile.eeglobal_cpp
cp -f Makefile.iopglobal_sample /usr/local/ps2dev/ps2sdk/samples/Makefile.iopglobal
Released samples dir.
make[1]: Leaving directory `/home/peori/Coding/ps2/toolchain/TEST/ps2sdk/samples'
ln: creating symbolic link `/usr/local/ps2dev/ee/lib/gcc-lib//3.2.2//crt0.o' to `/usr/local/ps2dev/ps2sdk/ee/startup/crt0.o': No such file or directory
|
Enjoy! |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sat Jan 28, 2006 5:51 pm Post subject: |
|
|
What is that ERROR DETECTED ?
Oh, related to the crt.o file ? |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sat Jan 28, 2006 8:51 pm Post subject: |
|
|
| I just installed the Eclipse SDK on this Fedora Core 4 installation and I will be trying to use the Perl script to isntall all the toolchain and PSPSDK from scratch. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sat Jan 28, 2006 9:19 pm Post subject: |
|
|
Feels new and yet a little bit too new ;).
I mean, the script execution is very neat and clean hiding away in a logfile all that screen outputs from the various configuration and compilation steps: something I am not too accustomed to when dealing with anithing in the 'NIX world :). All those "checking for <...>" "creating config" "checking if <...>" are gone ;). I think that moving it to a log file instead of outputting it to screen should save you some cycles (at least it would in all my code when I generated run-time debug messages: log file logging would be much faster than outputting tons of messaging to the console screen).
Edit: I am currently at step 6 of 6.
Edit: all done.
Edit: in the future, when we want to only update PSPSDK, should we run step 3 and step 6 or only step 6 ? |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sat Jan 28, 2006 9:34 pm Post subject: |
|
|
| Samples do seem to compile, I will just have to try them on the PSP later with the EBOOT oader (FW 2.00). |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Sun Jan 29, 2006 1:22 am Post subject: |
|
|
For updating pspsdk, running step 6 should be sufficient.
Everything is logged to logfile.txt, btw. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sun Jan 29, 2006 3:24 am Post subject: |
|
|
| ooPo wrote: | For updating pspsdk, running step 6 should be sufficient.
Everything is logged to logfile.txt, btw. |
I know of the log file, I was praising the choice of logging to the text file instead of outputting to the console screen :).
What does step 3 do then (if step 6 is sufficient) ? really, I am kinda curious :). |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Sun Jan 29, 2006 5:00 am Post subject: |
|
|
| Building newlib requires headers from pspsdk, so all step 3 does is install those headers. Unless you're rebuilding newlib you don't need to do step 3 again. |
|
| Back to top |
|
 |
BraveDog
Joined: 30 Dec 2004 Posts: 29 Location: Cleveland
|
Posted: Sun Jan 29, 2006 5:16 am Post subject: |
|
|
| Code: |
building:
ee: Done!
iop: Done!
dvp: Done!
Step 2 of 6: gcc-3.2.2 (C)
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
iop: Done!
Step 3 of 6: newlib-1.10.0
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Done!
Step 4 of 6: gcc-3.2.2 (C/C++)
downloading: Done!
unpacking: Done!
patching: Done!
building:
ee: Error!
=====================
== ERROR DETECTED! ==
=====================
/bin/sh ../libtool --tag CXX --mode=compile /usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/gcc/xgcc -shared-libgcc -B/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/gcc/ -nostdinc++ -L/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/src -L/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/src/.libs -nostdinc -B/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/newlib/ -isystem /usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/newlib/targ-include -isystem /usr/local/ps2src/newtoolchain/gcc-3.2.2/newlib/libc/include -B/usr/local/ps2dev/ee/ee/bin/ -B/usr/local/ps2dev/ee/ee/lib/ -isystem /usr/local/ps2dev/ee/ee/include -nostdinc++ -I/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include/ee -I/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include -I../../../../libstdc++-v3/libsupc++ -I../../../../libstdc++-v3/libmath -g -O2 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -G0 -g -c ../../../../libstdc++-v3/src/locale-inst.cc
/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/gcc/xgcc -shared-libgcc -B/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/gcc/ -nostdinc++ -L/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/src -L/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/src/.libs -nostdinc -B/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/newlib/ -isystem /usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/newlib/targ-include -isystem /usr/local/ps2src/newtoolchain/gcc-3.2.2/newlib/libc/include -B/usr/local/ps2dev/ee/ee/bin/ -B/usr/local/ps2dev/ee/ee/lib/ -isystem /usr/local/ps2dev/ee/ee/include -nostdinc++ -I/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include/ee -I/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include -I../../../../libstdc++-v3/libsupc++ -I../../../../libstdc++-v3/libmath -g -O2 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -G0 -g -c ../../../../libstdc++-v3/src/locale-inst.cc -o locale-inst.o
/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include/bits/locale_facets.tcc: In
member function `_InIter std::money_get<_CharT, _InIter>::do_get(_InIter,
_InIter, bool, std::ios_base&, std::_Ios_Iostate&, std::basic_string<_CharT,
std::char_traits<_CharT>, std::allocator<_CharT> >&) const [with _CharT =
char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]':
../../../../libstdc++-v3/src/locale-inst.cc:47: instantiated from here
/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/include/bits/locale_facets.tcc:1167: Internal
compiler error in schedule_block, at haifa-sched.c:1714
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[3]: *** [locale-inst.lo] Error 1
make[3]: Leaving directory `/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory `/usr/local/ps2src/newtoolchain/gcc-3.2.2/build-ee-c++/ee/libstdc++-v3'
make: *** [all-target-libstdc++-v3] Error 2
ERROR: Error!
bravedog@trinity /usr/local/ps2src/newtoolchain
$
|
Well, since I was having problems with the toolchain script in svn, I thought I'd try this new one. Seemed to to work well for a while, but died in the c++ build. I have built the toolchain lots of times before. I have no idea what is messed up on my system now. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sun Jan 29, 2006 7:43 am Post subject: |
|
|
| ooPo wrote: | | Building newlib requires headers from pspsdk, so all step 3 does is install those headers. Unless you're rebuilding newlib you don't need to do step 3 again. |
Thanks ooPo for the explanation :). |
|
| Back to top |
|
 |
Gary13579
Joined: 15 Aug 2005 Posts: 93
|
Posted: Sun Jan 29, 2006 8:34 am Post subject: |
|
|
Still on step 1, but as I said on IRC, it seems to crash if you are running it from a path with a space on it (ie "/home/Gary S/newtoolchain/").
The errors: http://pastebin.com/527878
Will let you know how the rest goes. |
|
| Back to top |
|
 |
BraveDog
Joined: 30 Dec 2004 Posts: 29 Location: Cleveland
|
Posted: Mon Jan 30, 2006 11:09 pm Post subject: |
|
|
Ok, I have done much more tests. I have been only working with builing the PS2 toolchain. I have reinstalled cygwin twice and tried building it with two versions of gcc (3.4.4 and 3.3.2). They all errored on the build of libstdc++ on locale-inst.cc. However when I tried my Mandrake 10.0 box it compiled everything just fine. I think one of the packages changed recently on cygwin and now the c++ stuff has problems building. I don't think it is a problem with your script ooPo, that seems to work wonderfully. So this just seems to only be a problem in cygwin, and I think it is because of a recent change in one of cygwins packages.
I found this note in the gcc-3.2.2.patch:
| Code: |
Personally, I had trouble getting libstdc++-v3 to build without double precision
emulation but YMMV. It should be possible to configure the compiler and libs
to use single precision doubles in place of doubles, however you'd have to make
sure that all your libs are built in this manner.
|
Anyone got any advice? (besides stop using cygwin :) ). |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Thu Feb 02, 2006 3:12 am Post subject: PROBLEM |
|
|
i see that you have released a new version of the script, good :). I tried to run the last one released before it using only step 6 and it failed, but the newest one did not fail :D.
Edit: no the problem remains, in order to execute step 6 alone you first have to execute step 3 or all steps before it.
| Quote: | [root@IGGS newtoolchain]# ./toolchain.pl PSP 6
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Error!
=====================
== ERROR DETECTED! ==
=====================
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
## { cd pspsdk && ./configure --with-pspdev=/usr/local/pspdev && make && make install && make clean; }
##
sh: line 0: cd: pspsdk: No such file or directory
ERROR: Error!
|
If I run steps 3 and 6 at the same time ./toolchain.pl PSP 3 6 it works and then it lets me run step 6 alone.
(I did delete the directory in which I unpacked the new toolchain script and re-unpacked it using the new version once more, just to test it again). |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Thu Feb 02, 2006 3:40 am Post subject: |
|
|
Hmm. Step 3 downloads pspsdk, step 6 doesn't as it assumes it is still downloaded.
Lemme fix that. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Thu Feb 02, 2006 3:40 am Post subject: |
|
|
In the log file, why is it not present the SVN version of the PSPSDK downloaded (like if you browse the repository witha web server: using the old script it would say which version was checked out... I do not find it in this log file...) ? I hope not to have missed it big time.
Here is the proof of what I posted earlier:
| Quote: | [root@IGGS newtoolchain]# ./toolchain.pl PSP 6
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Error!
=====================
== ERROR DETECTED! ==
=====================
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
## { cd pspsdk && ./configure --with-pspdev=/usr/local/pspdev && make && make install && make clean; }
##
sh: line 0: cd: pspsdk: No such file or directory
ERROR: Error!
[root@IGGS newtoolchain]# ./toolchain.pl PSP 3
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 3 of 6: pspsdk-current (headers)
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Done!
[root@IGGS newtoolchain]# ./toolchain.pl PSP 6
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Done!
[root@IGGS newtoolchain]#
|
Edit: oh, so it was a bug :). At least I was not yelling for a no-issue this time :). |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Thu Feb 02, 2006 3:52 am Post subject: |
|
|
One more thing, the doxygen documentation for PSPSDK... in which directory is it (dumb question I know) ?
The docs directory does not seem to be generated :(.
(not in /usr/local/pspdev/psp/ or /usr/local/pspdev/psp/sdk/ at least and I just installed dot :() |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Fri Feb 03, 2006 9:58 pm Post subject: Still problems. Newer ones at least... |
|
|
| Quote: | [root@IGGS Panajev]# rm -rf newtoolchain
[root@IGGS Panajev]# tar -zxvf downloads/newtoolchain-20060202.tgz
newtoolchain/
newtoolchain/toolchain.pl
newtoolchain/patches/
newtoolchain/patches/binutils-2.16.1-GP2X.patch
newtoolchain/patches/freetype-2.1.10-GP2X.patch
newtoolchain/patches/gcc-4.0.2-GP2X.patch
newtoolchain/patches/glibc-2.3.5-GP2X.patch
newtoolchain/patches/jpeg-6b-GP2X.patch
newtoolchain/patches/libpng-1.2.8-GP2X.patch
newtoolchain/patches/SDL-1.2.9-GP2X-paeryn.patch
newtoolchain/patches/SDL_image-1.2.4-GP2X.patch
newtoolchain/patches/SDL_mixer-1.2.6-GP2X.patch
newtoolchain/patches/SDL_ttf-2.0.7-GP2X.patch
newtoolchain/patches/libogg-1.1.3-GP2X.patch
newtoolchain/patches/libvorbis-1.1.2-GP2X.patch
newtoolchain/patches/libmikmod-3.1.11-GP2X.patch
newtoolchain/patches/smpeg-0.4.4-GP2X.patch
newtoolchain/patches/SDL_gfx-2.0.13-GP2X.patch
newtoolchain/README
newtoolchain/README.PS2
newtoolchain/README.PSP
newtoolchain/README.GP2X
[root@IGGS Panajev]# cd newtoolchain
[root@IGGS newtoolchain]# ./toolchain.pl PSP 6
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Error!
=====================
== ERROR DETECTED! ==
=====================
Checked out revision 1778.
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
## { cd pspsdk && ./configure --with-pspdev=/usr/local/pspdev && make && make install && make clean; }
##
sh: ./configure: No such file or directory
ERROR: Error!
[root@IGGS newtoolchain]#
|
Yet, running steps 3 and 6 works as a charm:
| Quote: | [root@IGGS newtoolchain]# ./toolchain.pl PSP 3 6
Dependencies:
gcc: Found!
make: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 3 of 6: pspsdk-current (headers)
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Done!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Done!
|
|
|
| Back to top |
|
 |
BraveDog
Joined: 30 Dec 2004 Posts: 29 Location: Cleveland
|
Posted: Wed Feb 08, 2006 12:27 am Post subject: |
|
|
ooPo,
Great job on the script, can I suggest that in the PS2 section to have it set PS2SDKSRC to the place where it does the svn checkout?
ie. export PS2SDKSRC=`pwd`/ps2sdk or something similar. |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Wed Feb 08, 2006 2:06 am Post subject: |
|
|
| It downloads ps2sdk to the exact same place it downloads the rest of the software. Why would you need a way to specify a different location for just that specific package? |
|
| Back to top |
|
 |
BraveDog
Joined: 30 Dec 2004 Posts: 29 Location: Cleveland
|
Posted: Wed Feb 08, 2006 2:24 am Post subject: |
|
|
Well, it was in the old toolchain.sh.
| Code: |
## Check out the latest source.
cvs -d $CVSROOT checkout ps2sdk
## Enter the source directory.
cd ps2sdk
## Configure the source.
export PS2SDKSRC="`pwd`"
## Build the source.
$MAKE clean; $MAKE || { echo "ERROR BUILDING PS2SDK"; exit; }
## Install the result.
$MAKE release || { echo "ERROR INSTALLING PS2SDK"; exit; }
## Replace newlib's crt0 with the one in ps2sdk.
ln -sf $(PS2SDK)/ee/startup/crt0.o $(PS2DEV)/ee/lib/gcc-lib/ee/3.2.2/
ln -sf $(PS2SDK)/ee/startup/crt0.o $(PS2DEV)/ee/ee/lib/
|
This would ensure that is uses code and tools like bin2s from the directory it just fetched. Mine was set to where I usually checkout ps2sdk on my own. This way I can have a older 'stable' ps2sdk sandbox and the toolchain grabs the latest and greatest. If you feel this should change, that is fine. I will just make sure to set $PS2SDKSRC to where the toolchain script will be building from. |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Wed Feb 08, 2006 4:29 am Post subject: |
|
|
Wasn't that a leftover from back when ps2sdk needed $PS2SDKSRC set to build properly? I think it automatically sets it now when it doesn't exist.
| Code: | ifeq (x$(PS2SDKSRC), x)
export PS2SDKSRC=$(shell pwd)
endif |
That's from the current ps2sdk makefile. |
|
| Back to top |
|
 |
BraveDog
Joined: 30 Dec 2004 Posts: 29 Location: Cleveland
|
Posted: Wed Feb 08, 2006 5:08 am Post subject: |
|
|
| Ah, ok. Well then I guess I need to unset this variable. Then all should work fine. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sat Feb 11, 2006 9:06 am Post subject: |
|
|
| Quote: | [root@IGGS newtoolchain]# ./toolchain.pl PSP 6
Dependencies:
gcc: Found!
make -j2: Found!
wget: Found!
patch: Found!
svn: Found!
automake: Found!
autoconf: Found!
$PSPDEV: Found!
path: Found!
privs: Found!
Step 6 of 6: pspsdk-current
downloading: Done!
unpacking: Done!
patching: Done!
building:
psp: Error!
=====================
== ERROR DETECTED! ==
=====================
Checked out revision 1796.
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
##
##
##
## Executing the following command:
##
## { cd pspsdk && ./configure --with-pspdev=/usr/local/pspdev && make -j2 && make -j2 install && make -j2 clean; }
##
sh: ./configure: No such file or directory
ERROR: Error!
|
New revision of the script, new error... sorry ooPo :(. |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Sat Feb 11, 2006 2:43 pm Post subject: |
|
|
Yeah, I see it isn't running the bootstrap command before trying to configure.
I'll fix it. In the meantime, use: ./toolchain.pl 3 6
Step 3 will download and properly set up pspsdk for step 6. |
|
| Back to top |
|
 |
Panajev2001a
Joined: 20 Aug 2005 Posts: 100
|
Posted: Sun Feb 12, 2006 4:49 am Post subject: |
|
|
| ooPo wrote: | Yeah, I see it isn't running the bootstrap command before trying to configure.
I'll fix it. In the meantime, use: ./toolchain.pl 3 6
Step 3 will download and properly set up pspsdk for step 6. |
I am doing that, jsut reporting any problems with the command that only asks for step 6 when I see a new release. For my own needs I make it run steps 3 and 6 of course :).
Thanks again for the new script btw :). |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
|
| Back to top |
|
 |
Paolo
Joined: 08 Nov 2005 Posts: 12
|
Posted: Wed Feb 15, 2006 12:50 am Post subject: |
|
|
Hi!
I installed fresh version of Cygwin to c:\cygwin and added the following lines to .bashrc:
export PSPDEV="/usr/local/pspdev"
export PATH="$PATH:$PSPDEV/bin"
Then I extracted and executed the new toolchain (newtoolchain-20060211.tgz).
After a while it gave the following error: (Last lines from log)
| Code: | rm -f ./libgcc.a
psp-ar rc ./libgcc.a libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_enable_execute_stack.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_ffssi2.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o libgcc/./_ctzdi2.o libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o libgcc/./_popcountdi2.o libgcc/./_paritysi2.o libgcc/./_paritydi2.o libgcc/./_powisf2.o libgcc/./_powidf2.o libgcc/./_powixf2.o libgcc/./_powitf2.o libgcc/./_mulsc3.o libgcc/./_muldc3.o libgcc/./_mulxc3.o libgcc/./_multc3.o libgcc/./_divsc3.o libgcc/./_divdc3.o libgcc/./_divxc3.o libgcc/./_divtc3.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./_pack_sf.o libgcc/./_unpack_sf.o libgcc/./_addsub_sf.o libgcc/./_mul_sf.o libgcc/./_div_sf.o libgcc/./_fpcmp_parts_sf.o libgcc/./_compare_sf.o libgcc/./_eq_sf.o libgcc/./_ne_sf.o libgcc/./_gt_sf.o libgcc/./_ge_sf.o libgcc/./_lt_sf.o libgcc/./_le_sf.o libgcc/./_unord_sf.o libgcc/./_si_to_sf.o libgcc/./_sf_to_si.o libgcc/./_negate_sf.o libgcc/./_make_sf.o libgcc/./_sf_to_df.o libgcc/./_sf_to_tf.o libgcc/./_thenan_sf.o libgcc/./_sf_to_usi.o libgcc/./_usi_to_sf.o libgcc/./_pack_df.o libgcc/./_unpack_df.o libgcc/./_addsub_df.o libgcc/./_mul_df.o libgcc/./_div_df.o libgcc/./_fpcmp_parts_df.o libgcc/./_compare_df.o libgcc/./_eq_df.o libgcc/./_ne_df.o libgcc/./_gt_df.o libgcc/./_ge_df.o libgcc/./_lt_df.o libgcc/./_le_df.o libgcc/./_unord_df.o libgcc/./_si_to_df.o libgcc/./_df_to_si.o libgcc/./_negate_df.o libgcc/./_make_df.o libgcc/./_df_to_sf.o libgcc/./_df_to_tf.o libgcc/./_thenan_df.o libgcc/./_df_to_usi.o libgcc/./_usi_to_df.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-c.o
make[2]: psp-ar: Command not found
make[2]: *** [libgcc.a] Error 127
make[2]: Leaving directory `/home/Administrator/newtoolchain/gcc-4.0.2/build-psp/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/home/Administrator/newtoolchain/gcc-4.0.2/build-psp/gcc'
make: *** [all-gcc] Error 2 |
What did I miss? It says that psp-ar not found, but I can find psp-ar.exe in c:\cygwin\usr\local\pspdev\bin
Any help would be appreciated, my previous pspsdk installation broke somehow, and I haven't been able to reinstall it, no matter what I try... :(
Btw, new toolchain script looks nice!!! :D |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Wed Feb 15, 2006 1:27 am Post subject: |
|
|
When you added those lines to your .bashrc, did you quit and re-open the cygwin shell window before trying to run the toolchain script?
Adding stuff to your startup script only works if you restart. |
|
| Back to top |
|
 |
harleyg

Joined: 05 Oct 2005 Posts: 123
|
Posted: Wed Feb 15, 2006 1:45 am Post subject: |
|
|
no.
you can use source ~/.bashrc... |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Wed Feb 15, 2006 3:30 am Post subject: |
|
|
As I always state when someone thinks they're smart for piping up out of nowhere with a semingly more-clever method...
This is a new user. I am trying to make sure he understands the basics before telling him the advanced stuff.
Kthxbai. |
|
| Back to top |
|
 |
|