bucanero / ps3toolchain

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

cannot build ps3 toolchain #4

Closed ghost closed 4 years ago

ghost commented 4 years ago

Sorry I could not make an issue in that repo, there was no button for it, so I am making it here. I wanted to have a go at building this project, so starting with the toolchain I followed the instructions and I get this:

image

It took ages to get to this stage and I got this twice. Once I did it as instructed, then the second time I built the pslight first according to those instructions then tried this again only to see the same issue.

Do you know what it means? I would appreciate some help to get this up and running. Thanks.

bucanero commented 4 years ago

Hello,

The original ps3toolchain repo is here: https://github.com/ps3dev/ps3toolchain My fork is mostly for personal adjustments for macOS (they've been added to the main repo now), and for offering pre-compiled binary releases for macOS and Linux (Ubuntu).

Your issue seems to be with one of the SDL libraries from ps3libraries, and not with the main toolchain or PSL1GHT sdk. I remember that they have been doing some changes/updates with the SDL libraries recently (and some RSX stuff too), so I'd suspect that one of those recent changes broke things up.

probably the best option about this rsxInit / SDL issue is to ask there or in https://github.com/ps3dev/ps3libraries If you're using linux, you can also try my pre-compiled binaries, that should save you some time too.

bucanero commented 4 years ago

I can confirm there's an issue with recent changes. I've reported it to https://github.com/ps3dev/PSL1GHT/issues/106

ghost commented 4 years ago

OK, I think the pre-compiled ones would be much easier. At least my laptop won't turn into a jet engine. Now however, tiny3d does not want to compile:

mohasi@DESKTOP-DGICVGO:~/ps3/PSDK3v2/libraries-src/Tiny3D$ make
make install -C lib
make[1]: Entering directory '/home/mohasi/ps3/PSDK3v2/libraries-src/Tiny3D/lib'
glue.d:1: *** target pattern contains no '%'.  Stop.
make[1]: *** [Makefile:78: build] Error 2
make[1]: Leaving directory '/home/mohasi/ps3/PSDK3v2/libraries-src/Tiny3D/lib'
make: *** [Makefile:5: all] Error 2

Any ideas?

bucanero commented 4 years ago

oh, tiny3d is tricky, the fixed lib for the gcc7 toolchain should work: https://github.com/wargio/tiny3d/ but hasn't been added to the ps3toolchain yet ( https://github.com/ps3dev/ps3libraries/issues/38 )... so try and see if you can build it locally.

anyways, the quickest solution is to just use a precompiled binary libtiny3d.a: https://github.com/bucanero/psl1ght-libs/blob/master/tiny3d/lib/libtiny3d.a

Install the header files in your path and then just link with the libtiny3d.a

btw, precompiled ps3-toolchain can be found here 👉 https://github.com/bucanero/ps3toolchain/releases/

ghost commented 4 years ago

So I manually included the headers for ya2d and tiny3d to get past the initial errors, then I got this one:

image

It seems freetype is missing from the pre-compiled toolchain.

I know some C but am more C# programmer. I wanted to get this up and running to play with it and see if I could help out and implement something. The instructions for building seem to be lacking though.

Update: OK I fixed that issue by taking out the freetype directory from inside the freetype2 directory at \usr\local\ps3dev\portlibs\ppu\include. Seems the other parts expect it to be so.

bucanero commented 4 years ago

hello, it looks like FreeType2 in Linux gets installed a bit differently than in my macOS toolchain, because I do have the file /usr/local/ps3dev/portlibs/ppu/include/freetype/config/ftheader.h (actually ./freetype/ is a link to ./freetype2/freetype/ , so I guess the linux toolchain is not keeping that symlink)

I've got this issue reported some time ago in a different project ( https://github.com/bucanero/apollo-ps3/issues/13 ) . A solution is to change the Makefile adding:

-I$(PS3DEV)/portlibs/ppu/include/freetype2

Regarding ya2d, you can get the library from https://github.com/bucanero/ya2d_ps3

ghost commented 4 years ago

Thanks for your reply! Unfortunately the freetype directory for the linux pre-built toolchain was inside the freetype2 directory. I have actually got to the stage where pkgi is building. However, I have a shallow understanding of what I am doing and have got to this stage by manually copying some things while doing make and make install on others. That does not give me much confidence. It would be nice if there was a tutorial on how to set up an environment from scratch which also explained the why and not just the how.

bucanero commented 4 years ago

Yes, if it's your first time trying homebrew console development it can be a bit troublesome, since there isn't much documentation for the open-source tools and libraries.

I wrote a basic tutorial for macOS, but it might give you a basic idea on how to build your first example and run it on a PS3: http://www.bucanero.com.ar/2019/08/14/building-your-ps3-dev-environment-on-macos/

You can also find some outdated PSL1GHT docs here: https://psl1ght.psdev.tk/

not really related to PS3, but the PS Vita scene has a good source of information here: https://vitasdk.org/