PS3 Compiling open-source PS3 toolchain nowadays (in 2020)

All samples (PSL1GHT and tiny3d) are working for you?
IDK, let me try them and see.

About compiling Tiny3d, it gives me an error with "#include spu_soundmodule.bin.h" :No such file or directory" when processing "tiniy3d/samples/fireworks3D/source/main.c:52:10"

So I guess samples arent working :(
 
IDK, let me try them and see.

About compiling Tiny3d, it gives me an error with "#include spu_soundmodule.bin.h" :No such file or directory" when processing "tiniy3d/samples/fireworks3D/source/main.c:52:10"

So I guess samples arent working :(
Correct, Dont worry. Before tiny3d, you have to install wargio/ps3soundlib.
 
I get the same error after installing ps3soundlib. The ps3soundlib installation shows that it successfully installs that file under "/usr/local/ps3dev/portlibs/ppu/modules/include/spu_soundmodule_bin.h"

Edit: Oh wait, the firework sample looks for .bin.h and the ps3soundlib installs _bin.h

Edit 2: I changed the code to look for the _bin.h file but it gives the same error.
 
Last edited:
Correct, Dont worry. Before tiny3d, you have to install wargio/ps3soundlib.

That's why I suggested on Github that we move fireworks3d sample to PSL1GHT/samples/graphics , because it requires tiny3d and the soundlib already built and ready.
That way we avoid any issues trying to build tiny3d-lib and soundlib. (because that cross-dependency is a bit of a pain)

and a related comment, for toolchain build, I think that the scripts should only build tiny3d-lib and soundlib , and don't waste time/cpu building any samples. If the user wants, they can build samples and tests later when the toolchain is ready.
 
All samples (PSL1GHT and tiny3d) are working for you?

I've rebuilt the whole toolchain+psl1ght+tiny3d this morning, but I haven't tested any sample or app.
I think I'll rebuild some of my homebrews with the latest stuff and see if they work as usual. I'll report if I get any trouble.

What is most weird to me is that the game runs well on RPCS3, but in the console it crashes, I know an emulator isn't an exact copy of the console and stuff that runs on the emulator isn't guaranteed to run on the console, but it being a kind of big problem related to the newer compiled I would have expected to see it crash in the emulator too.

well, an emulator can help a lot, but as you said things are not 100% exact-replica as a real ps3
recently we were chasing a crash with tiny3d and the new gcc7, and everything was working fine on the emulator, but not on the real ps3
the issue in the end was related to memory alignment ... maybe your issue can be also related to that?
 
About compiling Tiny3d, it gives me an error with "#include spu_soundmodule.bin.h" :No such file or directory" when processing "tiniy3d/samples/fireworks3D/source/main.c:52:10"

So I guess samples arent working :(

just skip the fireworks3d sample for now, and test a "graphics-only" sample, like sprites2d, yuv
at least you should be able to run those
 
well, an emulator can help a lot, but as you said things are not 100% exact-replica as a real ps3
recently we were chasing a crash with tiny3d and the new gcc7, and everything was working fine on the emulator, but not on the real ps3
the issue in the end was related to memory alignment ... maybe your issue can be also related to that?

I was tinking about memory but because of HEN (probably makes no sense, but as HEN runs on memory, maybe the new toolchain does something different and makes the game crash while allocating memory over HEN memory or something), but it's more like a crazy conspiracy theory :D.

What I can see is that the game skips the whole intro, and goes directly to the main menu but with missing sprites, and pressing any key locks the system, and using the xmb to get out of the game soft reboots the console. If you say there are memory alignment problems (or there were) then it could be that.

just skip the fireworks3d sample for now, and test a "graphics-only" sample, like sprites2d, yuv
at least you should be able to run those

I'll try that, thanks.

Edit: sprites2d is working.

Edit 2: I tried bucanero's pre compiled linux toolchain and the game is still the same, also tiny3d has the same error while compiling fireworks3d, so I guess my toolchain was ok.

I'll try the docker image with the older gcc and see if that works.
 
Last edited:
I re-built the latest version of pkgi-ps3 with the updated toolchain and everything seems to work fine

(but in my case, pkgi, apollo, & artemis were already built using the gcc7 toolchain.)
 
I guess it's just a matter of updating SMW's code for the new compiler or using an old compiler. SWM code is massive (to me) so I'll try an older compiler. I'll keep the new toolchain for new projects tho (not that I have any in mind but just in case I decide to do something PS3 related).

Thanks @bucanero @Crystal for all the help!

Edit: Just some good news, the docker image works alright, the game compiles and runs as expected. Thanks again!
 
Last edited:
btw, shagkur has just added a new SPU library to Psl1ght , libspumars (A library to issue tasks onto the SPU's)

I haven't looked into the details, but it might come handy for emulators or videogames, if you can throw tasks such as decoding audio to the SPUs.
 
That's great! that may come handy for dynamic levels in SMW as heavily dynamic levels usually slow down the game noticeably.
Is Psl1ght included in the toolchain or do I have to build it separately?
 
btw, shagkur has just added a new SPU library to Psl1ght , libspumars (A library to issue tasks onto the SPU's)

I haven't looked into the details, but it might come handy for emulators or videogames, if you can throw tasks such as decoding audio to the SPUs.

A sample should be welcome, but nothing....
And after all work to correct Tiny3d and ggc 7.2 problems....none of them have been added to official ps3libraries. :apologetic:
 
That's great! that may come handy for dynamic levels in SMW as heavily dynamic levels usually slow down the game noticeably.
Is Psl1ght included in the toolchain or do I have to build it separately?

Yes, PSL1GHT is part of the ps3toolchain, if you build the toolchain from https://github.com/ps3dev/ps3toolchain you'll get the latest psl1ght compiled with the new SPU lib.

A sample should be welcome, but nothing....
And after all work to correct Tiny3d and ggc 7.2 problems....none of them have been added to official ps3libraries. :apologetic:

I couldn't find any sample for the new libspumars (I asked on github, perhaps someone will answer)

I'll check on ps3libraries and see if we can get some feedback about tiny3d /soundlib. I saw that wargio was going to do some PRs about the samples
 
looks like shagkur answered my request, and he added a libspumars example today

just keep in mind that he added so many changes to PSL1GHT that right now there's an issue if you try to compile the SDL libraries. I've reported the issue so they can address it.
I was going to ask you about that, yesterday I couldn't compile NoRSX, and now it fails before that on SDL as you said. Now I know is not my fault, but god I got upset thinking I messed something up.
 
I was going to ask you about that, yesterday I couldn't compile NoRSX, and now it fails before that on SDL as you said. Now I know is not my fault, but god I got upset thinking I messed something up.

the SDL stuff should be fixed now... I think that now everything can be compiled ok

btw, Tiny3D and soundlib have been finally added to the ps3libraries repo (but they're under the develop branch)

I've also updated polarSSL, cURL, and added mbedTLS to my own fork:
https://github.com/bucanero/ps3libraries
 
Did anyone ever get this compiled on Windows ? im trying to build it on MinGW (tried on Msys1 and Msys2) but not having much luck, it compiles fine in Linux on the few distro's i tried (Debian, Bohdi, Ubuntu, Mint which are all Debian based), On MinGW it just seems to meet error after error even if you meet the requirements (i tried from the toolchain-mingw.sh and normal toolchain.sh), also by default toolchain-mingw.sh fails because the line
http://www.mr511.de/software/libelf-0.8.13.tar.gz
is a dead link now, so i had to replace that with a working link to get it working

EDIT- Realised i forgot to post the error im getting, the first error i get is this one and then even if i fix that error i get more like it after
Code:
gcc -DHAVE_CONFIG_H -I. -I../../binutils  -I. -I../../binutils -I../bfd -I../../
binutils/../bfd -I../../binutils/../include -D__USE_MINGW_FSEEK -DLOCALEDIR="\"/
usr/local/ps3dev/ppu/share/locale\"" -Dbin_dummy_emulation=bin_vanilla_emulation
  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2 -D__USE_MINGW
_ACCESS -c ../../binutils/rename.c
../../binutils/rename.c:93:1: error: conflicting types for 'set_times'
   93 | set_times (const char *destination, const struct stat *statbuf)
      | ^~~~~~~~~
In file included from ../../binutils/rename.c:23:
../../binutils/bucomm.h:70:13: note: previous declaration of 'set_times' was here
   70 | extern void set_times (const char *, const struct stat *);
      |             ^~~~~~~~~
make[4]: *** [Makefile:893: rename.o] Error 1
 
Last edited:

Similar threads

Back
Top