ps2dev / gsKit

gsKit is a C interface to the PS2 Graphics Synthesizer
Other
107 stars 28 forks source link

Move libc to newlib #34

Closed rickgaiser closed 4 years ago

rickgaiser commented 4 years ago

These PR series move libc from ps2sdk to newlib:

1: File and directory functions (both fio and fileXio) are now handled by newlib, tranparently. With the following functions supported: -- close/open -- read/write -- lseek -- ioctl -- unlink (remove) -- link (rename) -- mkdir/rmdir -- stat -- opendir/closedir -- readdir -- rewinddir

Existing code must be modified to use these standard posix function names instead of calling fio* fileXio functions directly, becouse of an incompatibility between newlib and the ps2 file handing. For this reason existing code will provide an error when including ps2 headers that should not be used:

error "Using fio/fileXio functions directly in the newlib port will lead to problems."

error "Use posix function calls instead."

For some applications however, using the fio/fileXio functions directly may still be needed (for instance when mounting partitions). By defining 'NEWLIB_PORT_AWARE' before including these headers this is still possible. As far as I know the only incompatibility it with opening a file. The flags, like O_RDONLY, are incompatible and must be changed to FIO_O_RDONLY.

2: time function is implemented, returning the UTC time. Using the stat function the times from files can also be returned in UTC format.

3: nanosleep is implemented. It sleeps using SetAlarm. Then busy waits the last nanoseconds, resulting in both a lot of free cpu time, and a very accurate sleep time.

4: The linkfile has been moved to the binutils port, and crt0.s has been moved to newlib port.

5: The newlib port is upgraded from 1.10 to 1.14. This adds (amongs other things) wchar support, needed by some applications like uLE. Upgrading to newer versions resulted in a lot of compiler issues. Perhaps newlib can be upgraded to 3.x when the compiler gets updated.

The end result is that porting new applications to the ps2 will become a lot more easy. Or sometimes they will just run.

Special thanks to @fjtrujy, the creator of the PS2 RetroArch port, for making this possible.


This PR series consists of ps2toolchain, ps2sdk, ps2sdk-ports and gsKit to get a working newlib toolchain. This is the gsKit PR. It fixes 1 small bug, and the rest is for posix/newlib compatibility.

astrelsky commented 4 years ago

@rickgaiser I've setup the toolchain, ps2sdk and the ports using the for-ps2dev branches. I have also built and installed the freetype2, zlib, libjpeg and libpng ports. However executing ./setup.sh fails when it goes to build the examples with the following.

Welcome to the setup script for gsKit.
This script will attempt to automatically detect the presence of LIBPNG, LIBJPEG, LIBTIFF and ZLIB, and will set up all required environmental variables.
If your libraries are not stored in /usr/local/ps2dev/ps2sdk/ports, please specify the location of the libraries manually.
Performing pre-install cleanup.
Libraries:
-e      LIBJPEG detected.
-e      LIBPNG detected.
-e      ZLIB detected.
-e      LIBTIFF not detected.
Building gsKit.
/usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.3/../../../../ee/bin/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [/home/astre/Documents/ps2/gsKit/ee/Rules.make:64: alpha.elf] Error 1
make[1]: *** [../Rules.make:21: all-alpha] Error 2
make: *** [Rules.make:21: all-examples] Error 2
Installing gsKit.
/usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.3/../../../../ee/bin/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [/home/astre/Documents/ps2/gsKit/ee/Rules.make:64: alpha.elf] Error 1
make[1]: *** [../Rules.make:25: install-alpha] Error 2
make: *** [Rules.make:25: install-examples] Error 2
Performing post-install cleanup.

I can't seem to track down where it is trying to include crt0.o but even so it should be able to find it since it is now in the ee-gcc lib folder.

rickgaiser commented 4 years ago

Hi and thank you for testing. I've never used the setup.sh, but when I run it I don't get the error:

Welcome to the setup script for gsKit.
This script will attempt to automatically detect the presence of LIBPNG, LIBJPEG, LIBTIFF and ZLIB, and will set up all required environmental variables.
If your libraries are not stored in /home/rgaiser/dev/ps2max-newlib/ps2dev/ps2sdk/ports, please specify the location of the libraries manually.
Performing pre-install cleanup.
Libraries:
-e  LIBJPEG detected.
-e  LIBPNG detected.
-e  ZLIB detected.
-e  LIBTIFF detected.
Building gsKit.

It is not intended for other projects to include the
Makefile.global file used by gsKit.

Installing gsKit.
Performing post-install cleanup.

I've also tried without LIBTIFF, but still no error.

Can you try removing all the --silent flags from setup.sh and run it again? That way we can see what linker options are used. Have you also setup your environment variables correctly? Is it possible they still point to your previous toolchain or source folder? These are something like:

export PS2DEV=/usr/local/ps2dev
export PS2SDK=$PS2DEV/ps2sdk
export GSKIT=$PS2DEV/gsKit
export PS2SDKSRC=/home/astre/Documents/ps2/ps2sdk
export GSKITSRC=/home/astre/Documents/ps2/gsKit
astrelsky commented 4 years ago

I have the following in~/.profile

export PS2DEV=/usr/local/ps2dev
export PS2SDK=$PS2DEV/ps2sdk
export GSKIT=$PS2DEV/gsKit
export PATH=$PATH:$PS2DEV/bin:$PS2SDK/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin

Below is the output after removing --silent

spoiler ``` Welcome to the setup script for gsKit. This script will attempt to automatically detect the presence of LIBPNG, LIBJPEG, LIBTIFF and ZLIB, and will set up all required environmental variables. If your libraries are not stored in /usr/local/ps2dev/ps2sdk/ports, please specify the location of the libraries manually. Performing pre-install cleanup. GSKITSRC=`pwd` make -C ee clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C gs clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' rm -f gsCore.o gsFontM.o gsHires.o gsInit.o gsMisc.o gsPrimitive.o gsTexManager.o gsTexture.o gsVU1.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C dma clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' rm -f dmaCore.o dmaInit.o dmaSpr.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C toolkit clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' rm -f gsKit_texture_finish.o gsKit_texture_png.o gsKit_texture_bmp.o gsKit_texture_jpeg.o gsKit_texture_tiff.o gsKit_texture_raw.o gsKit_texture_tga.o gsKit_texture_fnt_raw.o gsKit_init_font.o gsKit_font_upload_raw.o gsKit_font_upload.o gsKit_font_print_scaled.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=`pwd` make -C lib clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/lib' rm -f libgskit.a rm -f libdmakit.a rm -f libgskit_toolkit.a make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/lib' GSKITSRC=`pwd` make -C examples clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/examples' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C alpha clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/alpha' rm -f alpha.o alpha.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/alpha' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C basic clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/basic' rm -f basic.o basic.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/basic' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C bigtex clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/bigtex' rm -f bigtex.o bigtex.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/bigtex' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C coverflow clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/coverflow' rm -f coverflow.o coverflow.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/coverflow' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C fb clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/fb' rm -f fb.o fb.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/fb' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C font clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/font' rm -f font.o font.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/font' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C fontm clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/fontm' rm -f fontm.o fontm.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/fontm' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C hires clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/hires' rm -f main.o hires.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/hires' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C linuz-texture clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/linuz-texture' rm -f texture.o testorig.o sample.o texture.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/linuz-texture' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C modetest clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/modetest' rm -f modetest.o pad.o modetest.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/modetest' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C pixelperfect clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/pixelperfect' rm -f pixelperfect.o pixelperfect.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/pixelperfect' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C png-texture clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/png-texture' rm -f textures.o textures.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/png-texture' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C texstream clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/texstream' rm -f texstream.o texstream.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/texstream' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C textures clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/textures' rm -f textures.o textures.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/textures' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C vsync clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/vsync' rm -f vsync.o vsync.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/vsync' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples' Libraries: -e LIBJPEG detected. -e LIBPNG detected. -e ZLIB detected. -e LIBTIFF not detected. Building gsKit. GSKITSRC=`pwd` make -C ee make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C gs make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsCore.c -o gsCore.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsFontM.c -o gsFontM.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsHires.c -o gsHires.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsInit.c -o gsInit.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsMisc.c -o gsMisc.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsPrimitive.c -o gsPrimitive.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsTexManager.c -o gsTexManager.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsTexture.c -o gsTexture.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c gsVU1.c -o gsVU1.o ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libgskit.a gsCore.o gsFontM.o gsHires.o gsInit.o gsMisc.o gsPrimitive.o gsTexManager.o gsTexture.o gsVU1.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C dma make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c dmaCore.c -o dmaCore.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c dmaInit.c -o dmaInit.o ee-gcc -D_EE -O2 -G0 -Wall -Wno-unused -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -c dmaSpr.c -o dmaSpr.o ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libdmakit.a dmaCore.o dmaInit.o dmaSpr.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C toolkit make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_finish gsToolkit.c -c -o gsKit_texture_finish.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_png gsToolkit.c -c -o gsKit_texture_png.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_bmp gsToolkit.c -c -o gsKit_texture_bmp.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_jpeg gsToolkit.c -c -o gsKit_texture_jpeg.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_tiff gsToolkit.c -c -o gsKit_texture_tiff.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_raw gsToolkit.c -c -o gsKit_texture_raw.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_tga gsToolkit.c -c -o gsKit_texture_tga.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_texture_fnt_raw gsToolkit.c -c -o gsKit_texture_fnt_raw.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_init_font gsToolkit.c -c -o gsKit_init_font.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_font_upload_raw gsToolkit.c -c -o gsKit_font_upload_raw.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_font_upload gsToolkit.c -c -o gsKit_font_upload.o ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -DF_gsKit_font_print_scaled gsToolkit.c -c -o gsKit_font_print_scaled.o ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libgskit_toolkit.a gsKit_texture_finish.o gsKit_texture_png.o gsKit_texture_bmp.o gsKit_texture_jpeg.o gsKit_texture_tiff.o gsKit_texture_raw.o gsKit_texture_tga.o gsKit_texture_fnt_raw.o gsKit_init_font.o gsKit_font_upload_raw.o gsKit_font_upload.o gsKit_font_print_scaled.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=`pwd` make -C lib make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/lib' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/lib' GSKITSRC=`pwd` make -C examples make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/examples' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C alpha make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/alpha' ee-gcc -D_EE -O2 -G0 -Wall -DHAVE_LIBJPEG -DHAVE_LIBPNG -DHAVE_ZLIB -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/home/astre/Documents/ps2/gsKit/ee/gs/include -I/home/astre/Documents/ps2/gsKit/ee/dma/include -I/home/astre/Documents/ps2/gsKit/ee/toolkit/include -c alpha.c -o alpha.o ee-gcc -L/usr/local/ps2dev/ps2sdk/ports/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -L/home/astre/Documents/ps2/gsKit/lib -L/usr/local/ps2dev/ps2sdk/ee/lib -o alpha.elf alpha.o -Xlinker --start-group -ljpeg -lfileXio -ldebug -lz -lpng -lm -lgskit_toolkit -lgskit -ldmakit -Xlinker --end-group /usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.3/../../../../ee/bin/ld: cannot open crt0.o: No such file or directory collect2: ld returned 1 exit status make[2]: *** [/home/astre/Documents/ps2/gsKit/ee/Rules.make:64: alpha.elf] Error 1 make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/alpha' make[1]: *** [../Rules.make:21: all-alpha] Error 2 make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples' make: *** [Rules.make:21: all-examples] Error 2 Installing gsKit. GSKITSRC=`pwd` make -C ee install make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C gs install make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libgskit.a gsCore.o gsFontM.o gsHires.o gsInit.o gsMisc.o gsPrimitive.o gsTexManager.o gsTexture.o gsVU1.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' mkdir -p /usr/local/ps2dev/gsKit/include cp *.h /usr/local/ps2dev/gsKit/include make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C dma install make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libdmakit.a dmaCore.o dmaInit.o dmaSpr.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' mkdir -p /usr/local/ps2dev/gsKit/include cp *.h /usr/local/ps2dev/gsKit/include make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C toolkit install make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' ee-ar rcs /home/astre/Documents/ps2/gsKit/lib/libgskit_toolkit.a gsKit_texture_finish.o gsKit_texture_png.o gsKit_texture_bmp.o gsKit_texture_jpeg.o gsKit_texture_tiff.o gsKit_texture_raw.o gsKit_texture_tga.o gsKit_texture_fnt_raw.o gsKit_init_font.o gsKit_font_upload_raw.o gsKit_font_upload.o gsKit_font_print_scaled.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include install make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' mkdir -p /usr/local/ps2dev/gsKit/include cp *.h /usr/local/ps2dev/gsKit/include make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=`pwd` make -C lib install make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/lib' mkdir -p /usr/local/ps2dev/gsKit/lib cp libgskit.a libdmakit.a libgskit_toolkit.a /usr/local/ps2dev/gsKit/lib make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/lib' GSKITSRC=`pwd` make -C examples install make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/examples' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C alpha install make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/alpha' ee-gcc -L/usr/local/ps2dev/ps2sdk/ports/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -L/home/astre/Documents/ps2/gsKit/lib -L/usr/local/ps2dev/ps2sdk/ee/lib -o alpha.elf alpha.o -Xlinker --start-group -ljpeg -lfileXio -ldebug -lz -lpng -lm -lgskit_toolkit -lgskit -ldmakit -Xlinker --end-group /usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.3/../../../../ee/bin/ld: cannot open crt0.o: No such file or directory collect2: ld returned 1 exit status make[2]: *** [/home/astre/Documents/ps2/gsKit/ee/Rules.make:64: alpha.elf] Error 1 make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/alpha' make[1]: *** [../Rules.make:25: install-alpha] Error 2 make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples' make: *** [Rules.make:25: install-examples] Error 2 Performing post-install cleanup. GSKITSRC=`pwd` make -C ee clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C gs clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' rm -f gsCore.o gsFontM.o gsHires.o gsInit.o gsMisc.o gsPrimitive.o gsTexManager.o gsTexture.o gsVU1.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/gs' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C dma clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' rm -f dmaCore.o dmaInit.o dmaSpr.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/dma' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C toolkit clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C src clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' rm -f gsKit_texture_finish.o gsKit_texture_png.o gsKit_texture_bmp.o gsKit_texture_jpeg.o gsKit_texture_tiff.o gsKit_texture_raw.o gsKit_texture_tga.o gsKit_texture_fnt_raw.o gsKit_init_font.o gsKit_font_upload_raw.o gsKit_font_upload.o gsKit_font_print_scaled.o make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/src' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C include clean make[3]: Entering directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[3]: Nothing to be done for 'clean'. make[3]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit/include' make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee/toolkit' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/ee' GSKITSRC=`pwd` make -C lib clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/lib' rm -f libgskit.a rm -f libdmakit.a rm -f libgskit_toolkit.a make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/lib' GSKITSRC=`pwd` make -C examples clean make[1]: Entering directory '/home/astre/Documents/ps2/gsKit/examples' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C alpha clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/alpha' rm -f alpha.o alpha.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/alpha' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C basic clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/basic' rm -f basic.o basic.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/basic' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C bigtex clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/bigtex' rm -f bigtex.o bigtex.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/bigtex' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C coverflow clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/coverflow' rm -f coverflow.o coverflow.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/coverflow' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C fb clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/fb' rm -f fb.o fb.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/fb' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C font clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/font' rm -f font.o font.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/font' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C fontm clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/fontm' rm -f fontm.o fontm.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/fontm' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C hires clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/hires' rm -f main.o hires.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/hires' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C linuz-texture clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/linuz-texture' rm -f texture.o testorig.o sample.o texture.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/linuz-texture' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C modetest clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/modetest' rm -f modetest.o pad.o modetest.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/modetest' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C pixelperfect clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/pixelperfect' rm -f pixelperfect.o pixelperfect.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/pixelperfect' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C png-texture clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/png-texture' rm -f textures.o textures.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/png-texture' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C texstream clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/texstream' rm -f texstream.o texstream.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/texstream' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C textures clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/textures' rm -f textures.o textures.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/textures' GSKITSRC=/home/astre/Documents/ps2/gsKit make -C vsync clean make[2]: Entering directory '/home/astre/Documents/ps2/gsKit/examples/vsync' rm -f vsync.o vsync.elf make[2]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples/vsync' make[1]: Leaving directory '/home/astre/Documents/ps2/gsKit/examples' ```

I had completely removed the $PS2DEV folder prior to rebuilding the toolchain and libraries.

rickgaiser commented 4 years ago

Ok, I did a complete rebuild:

Then in ps2toolchain:

Then in ps2sdk:

Then in ps2sdk-ports

Then in gsKit:

This works, but I've also found the problem to be in script nr.5 The one that builds ps2sdk is also the one that messes with crt0.o. I'll add a commit to fix this shortly.

astrelsky commented 4 years ago

Ok, I did a complete rebuild:

  • clone all 4 repositories: ps2toolchain, ps2sdk, ps2sdk-ports and gsKit
  • switch to for-ps2dev branch on all 4 repositories
  • create environment variables to the new toolchain location

Then in ps2toolchain:

  • ./toolchain.sh 1 2 3 4
  • NOTE: we do NOT want ps2toochain to build the old ps2sdk

Then in ps2sdk:

  • make clean all install

Then in ps2sdk-ports

  • make all

Then in gsKit:

  • ./setup.sh

This works, but I've also found the problem to be in script nr.5 The one that builds ps2sdk is also the one that messes with crt0.o. I'll add a commit to fix this shortly.

Ah ok thank you.

Edit: In case you see what I previously wrote just know I've been studying for too long :sweat_smile: I can barely remember my own name at the moment.

rickgaiser commented 4 years ago

It should be fixed with https://github.com/ps2dev/ps2toolchain/pull/58/commits/e38225f919f297d9e2a0c854295b3105d9e17fae

If you can re-test that would be great.

astrelsky commented 4 years ago

It should be fixed with ps2dev/ps2toolchain@e38225f

If you can re-test that would be great.

Everything built without a problem now. I did notice warnings of implicit declarations of the file io functions in libjpeg though. I'm not sure if they were present previously or not.

libjpg.c: In function `jpgOpen':
libjpg.c:206: warning: implicit declaration of function `lseek'
libjpg.c:213: warning: implicit declaration of function `read'
libjpg.c:214: warning: implicit declaration of function `close'
libjpg.c: In function `jpgScreenshot':
libjpg.c:483: warning: implicit declaration of function `write'
libjpg.c: In function `print_text_marker':
libjpg.c:548: warning: implicit declaration of function `isprint'