Giter Club home page Giter Club logo

pspdev's Introduction

PSPDEV

CI CI-Docker Docker Pulls

Main PSP Repo for building the whole PSP Development environment in your local machine.

This program will automatically build and install the whole compiler and other tools used in the creation of Homebrew software for the Sony PlayStation Portable® video game system.

Table of Contents

Up and running

You can get started very quickly by grabbing the latest development pre-releases from the releases' page for your platform and extract them to the pspdev directory in your path.

Export the PSPDEV environment variable to point to the pspdev directory. For example:

export PSPDEV=~/pspdev
export PATH=$PATH:$PSPDEV/bin

What these scripts do

These scripts download (git clone) and install:

Requirements

  • Install gcc/clang, make, cmake, patch, git, texinfo, flex, bison, gettext, wget, gsl, gmp, mpfr, mpc, libusb, readline, libarchive, gpgme, bash, openssl and libtool.
  • If you don't have those. We offer a script to help you for installing dependencies:
sudo ./prepare.sh

Note

This script will automatically detect your operating system.

Installation from source

  1. Ensure that you have enough permissions for managing PSPDEV location (default to /usr/local/pspdev, but you can use a different path). PSPDEV location MUST NOT have spaces or special characters in its path! PSPDEV should be an absolute path. On Unix systems, if the command mkdir -p $PSPDEV fails for you, you can set access for the current user by running commands:

    export PSPDEV=/usr/local/pspdev
    sudo mkdir -p $PSPDEV
    sudo chown -R $USER: $PSPDEV
  2. Add this to your login script (example: ~/.bash_profile)

    export PSPDEV=/usr/local/pspdev
    export PATH=$PATH:$PSPDEV/bin

    NOTE: Ensure that you have full access to the PSPDEV path. You can change the PSPDEV path with the following requirements: Only use absolute paths, Do not use spaces., Only use Latin characters.

  3. Run build-all.sh

    ./build-all.sh

Tip

If you are upgrading from the previous version of the PSPDEV environment, it is highly recommended removing the content of the PSPDEV folder before upgrade. This is a necessary step after the major toolchain upgrade.

sudo rm -rf $PSPDEV

Docker generation

This repo also uses CI/CD to create a docker image called pspdev/pspdev:latest per change. This is useful if you're a developer that wants to create/port an application to the PSP. You can compile your project using this docker image.

Extra steps

If you want, you can JUST install the extra dependencies as psplinkusb and ebootsigner. To achieve this execute

./build-extra.sh

macOS

If you download the pre-built macOS binaries and get a security error such as "pspsh" cannot be opened because the developer cannot be verified., you can remove the quarantine attribute by running:

xattr -dr com.apple.quarantine path/to/prebuilt/pspdev

Local package builds

The toolchain (binutils, gcc), the SDK (pspsdk) and the host tools are built locally. However, the provided packages (psp-packages) are installed via psp-pacman (or a similar mechanism if not available), which fetches packages from GitHub releases. If you wish to build these packages locally, you might define the variable LOCAL_PACKAGE_BUILD which will force pacman to build the packages from source instead of downloading them:

LOCAL_PACKAGE_BUILD=1 ./build-all.sh

This is particularly useful if you are testing changes in the toolchain (i.e. gcc or binutils) and want to test your changes end to end. It can also be useful if you want a hermetic build and don't want to use any of the provided binaries.

Thanks

Special thanks to all the contributors and maintainers whose efforts and commitment drive the continuous improvement of this project.

pspdev's People

Contributors

bucanero avatar carstene1ns avatar davidgfnet avatar diamant3 avatar dogo avatar draanpsp avatar fjtrujy avatar ieee802dot11ac avatar jamaicanater avatar korigamik avatar sadeeed avatar sharkwouter avatar tpimh avatar wally4000 avatar xslendix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pspdev's Issues

bruh

i386 support pls

user@computer: ~/Desktop/stuff/playstation/psp/homebrew/Minecraft $ psp-gcc main.c
bash: /bin/psp-gcc: cannot execute binary file: Exec format error

Build Deps: Mac Ports? Do we really need it here?

As far as i'm aware Mac Ports isn't being used by Maintainers and CI/CD is electively using homebrew as it's tried and tested.

GIven we have nobody actively testing or updating deps for macports I would suggest we remove it from the prepare script.

Cannot build homebrew on v20240701 Release

Using pspdev-macos-latest-arm64 and pspdev-ubuntu-latest-x86_64 on v20240701 release.

Building themadump:

psp-gcc -I./include -I. -I/Users/reha/Documents/pspdev/psp/include -I/Users/reha/Documents/pspdev/psp/sdk/include -Ofast -w -D_PSP_FW_VERSION=370   -c -o source/kernel.o source/kernel.c
source/kernel.c: In function 'kthread':
source/kernel.c:82:22: error: assignment to 'int (*)(const char *, const char *, const char *, int,  void *, long int)' from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   82 |         _sceIoAssign = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0xB2A628C1);
      |                      ^
source/kernel.c:83:24: error: assignment to 'int (*)(const char *)' from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   83 |         _sceIoUnassign = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x6D08A871);
      |                        ^
source/kernel.c:84:20: error: assignment to 'int (*)(const char *, int,  SceMode)' {aka 'int (*)(const char *, int,  int)'} from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   84 |         _sceIoOpen = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x109F50BC);
      |                    ^
source/kernel.c:85:21: error: assignment to 'int (*)(SceUID)' {aka 'int (*)(int)'} from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   85 |         _sceIoClose = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x810C4BC3);
      |                     ^
source/kernel.c:86:20: error: assignment to 'int (*)(SceUID,  void *, SceSize)' {aka 'int (*)(int,  void *, unsigned int)'} from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   86 |         _sceIoRead = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x6A638D83);
      |                    ^
source/kernel.c:87:21: error: assignment to 'int (*)(SceUID,  const void *, SceSize)' {aka 'int (*)(int,  const void *, unsigned int)'} from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   87 |         _sceIoWrite = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x42EC03AC);
      |                     ^
source/kernel.c:88:21: error: assignment to 'int (*)(const char *, SceMode)' {aka 'int (*)(const char *, int)'} from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   88 |         _sceIoMkdir = pspXploitFindFunction("sceIOFileManager", "IoFileMgrForKernel", 0x06A70004);
      |                     ^
source/kernel.c:89:31: error: assignment to 'int (*)(int)' from 'u32' {aka 'long unsigned int'} makes pointer from integer without a cast [-Wint-conversion]
   89 |         _sceKernelDelayThread = pspXploitFindFunction("sceThreadManager", "ThreadManForUser", 0xCEADEB47);
      |                               ^
make: *** [source/kernel.o] Error 1

Building psp_pspident:

Building decrypted EBOOT.PBP...
main.c: In function 'main':
main.c:147:41: error: unknown type name 'pspTime'
  147 |                                         pspTime time;
      |                                         ^~~~~~~
main.c:152:69: error: request for member 'year' in something not a structure or union
  152 |                                                                 time.year, time.month, time.day,
      |                                                                     ^
main.c:152:80: error: request for member 'month' in something not a structure or union
  152 |                                                                 time.year, time.month, time.day,
      |                                                                                ^
main.c:152:92: error: request for member 'day' in something not a structure or union
  152 |                                                                 time.year, time.month, time.day,
      |                                                                                            ^
main.c:153:69: error: request for member 'hour' in something not a structure or union
  153 |                                                                 time.hour, time.minutes, time.seconds);
      |                                                                     ^
main.c:153:80: error: request for member 'minutes' in something not a structure or union
  153 |                                                                 time.hour, time.minutes, time.seconds);
      |                                                                                ^
main.c:153:94: error: request for member 'seconds' in something not a structure or union
  153 |                                                                 time.hour, time.minutes, time.seconds);
      |                                                                                              ^
make: *** [main.o] Error 1
Building encrypted EBOOT.PBP...
usage: pack_ms_game.py [-h] [--vanity VANITY] input output
pack_ms_game.py: error: argument input: can't open 'EBOOT_DEC.PBP': [Errno 2] No such file or directory: 'EBOOT_DEC.PBP'
cp: ident_pbp/EBOOT_ENC.PBP: No such file or directory

LibPspExploit builds completely fine.

因为热爱,所以坚持

Support /opt/homebrew/bin/brew homebrew patth

I've encountered an issue with the setup script that currently checks for Homebrew only in its default installation path for Intel Macs (/usr/local/bin/brew). As Apple Silicon Macs use a different default path (/opt/homebrew/bin/brew), the script fails to recognize Homebrew installations on these newer machines.

Does the docker image build pspsdk in optimized mode?

We've noticed rather slow performance of the WIP DevilutionX PSP port and I wondered if the SDK is actually built in optimized mode (e.g. -O2) in the docker image.

Looking at the scripts:

  1. configure.ac defaults to unoptimized mode:
    https://github.com/pspdev/pspsdk/blob/713aef7c52e1835b79f4d5c9e23a1ab470092dcc/configure.ac#L72-L74
  2. https://github.com/pspdev/pspdev/blob/master/scripts/002-pspsdk.sh doesn't pass/set any CFLAGS

When we fixed a similar issue for another homebrew SDK (nxdk for the original xbox), we saw DevilutionX FPS almost double.
If this is indeed an issue, it'd be great if you could fix it! Thanks!

/cc @AJenbo @fjtrujy

Proposal to adopt new Versioning Scheme

Since its initial commit to this GitHub repository in Oct 2010, the reported SDK version has been 1.0+beta2. This is despite significant changes having been made the last decade to justify, at the very least, a versioning bump.

As opposed to a version bump however, changing the scheme may be better suited. Semantic Versioning comes immediately to mind as it has become a standard in software as of recent. SemVer allows for easily reporting the SDK build date, which would be ideal for better specifying SDK versions while still maintaining the original 1.0 beta2 status (if absolutely necessary).

An immediate use case for this would be to have our Doxygen documentation better be identified as the actively maintained one (as opposed to http://psp.jim.sh/pspsdk-doc/) by seeing a date printed on the header and at the landing page instead of identifying it from the small font footer.

Would love to have a discussion about this here, looking forward to a response.

build-all.sh fails to install on macOS Ventura 13.0 (22A380)

➜  pspdev git:(master) sh build-all.sh 
Installing latest environment status
HEAD is now at f63dad3 Merge pull request #162 from z2442/patch-1
Installing latest environment status
Using repo reference main
HEAD is now at 19a924c Merge pull request #10 from pspdev/gdb-without-python-on-ci-build
Already on 'main'
Your branch is up to date with 'origin/main'.
Installing latest environment status
fatal: ambiguous argument 'origin/allegrex-v2.37.0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
../scripts/001-binutils.sh: Failed.
../scripts/001-allegrex.sh: Failed.
../scripts/001-psptoolchain.sh: Failed.

Docker missing cmake package

Hi, I'm posting this issue to notify that the docker image of pspdev lacks the cmake package. It is necessary for the psp-cmake command that is bundled in the toolchain, without it, the psp-cmake command fails

seledreams@seledreams-Predator-PH315-51:~$ docker run --rm -it pspdev/pspdev:latest
/ # psp-cmake /usr/local/pspdev/bin/psp-cmake: line 10: cmake: command not found

it's easy to fix by using apk add cmake in a dockerfile using the image, but it would be more convenient if it was already bundled in the image. cmake shouldn't be that heavy of a package to include

[Question] Would you be interested in adding Cygwin scripts and patches?

Hello,

For the past 2 days I had the absolute pleasure (read: nightmare) of building the toolchain under cygwin.

My question is mainly this - would you be interested adding in some extra patches (that I could write) for this toolchain to build and work under cygwin?

I know Docker and WSL are available, but this would still benefit Windows dev setups in a few ways:

  • No need for virtualization setup
  • More portable deployment for Windows developers - you can pack the cygwin environment in a folder basically and ship it out
  • Because it's so portable, it's easier to integrate into existing Visual Studio projects that center around Windows (real example of this is Widescreen Fixes Pack)

There are a few cons though:

  • cygwin has some key libraries that are unmaintained (python is at 3.9, libgpgme doesn't even have GPGME_KEYLIST_MODE_LOCATE, etc.)
  • it's still Windows speaking the POSIX language, so it's janky by nature
  • gcc stage 2 building can randomly segfault during its build process
  • cygwin seems to have slowed its development down, especially with WSL and compared to MSYS2

(for MSYS2 if you were wondering I did try it and it fails to compile gdb and gcc, complaining about missing config.h in libiberty)

Still, considering the pace of the project, I think it's still a somewhat viable option, but that's why I'm asking you first before I do anything.

What had to be done to get it working

As for a quick summary what needs to be done to get it working (this is not yet comprehensive, just from notes I have):

  • in addition to the requirements in the README, the following packages (and all of their -devel packages, including for the ones in README) need to be installed too: automake, autoconf, libarchive, libncurses-devel, openssl-devel, python3-virtualenv, python3.9-pip, python3.9
  • libiconv currently does not ship with a pkgconfig and one has to be created manually in /lib/pkgconfig/iconv.pc , example:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: iconv
Description: Character set conversion library
Version: 1.17-1
Libs: -L${libdir} -liconv
Cflags: -I${includedir}

(replace the version with one you have)

  • libgpgme is currently at version 1.9, which is before the implementation of the GPGME_KEYLIST_MODE_LOCATE flag, so it has to be replaced with GPGME_KEYLIST_MODE_LOCAL | GPGME_KEYLIST_MODE_EXTERN in pacman/libalpm source lib/libalpm/signing.c
  • meson.build installation fails (for pacman 6.0.1) because at line 409 the slash has to be removed from $DESTDIR:

from:

meson.add_install_script('sh', '-c', 'mkdir -p "$DESTDIR/@0@"'.format(path))

to:

meson.add_install_script('sh', '-c', 'mkdir -p "$DESTDIR@0@"'.format(path))
  • and last, but not least, you need to enable wget as the XferCommand in pacman.conf by uncommenting its line: XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

And that basically wraps up the needed changes for cygwin to compile this toolchain. It's very messy as you can see, but I think it could be done. I hadn't checked extras much (the psplink stuff) so I'm not even sure if that would compile...

Docker | `linux/arm64/v8` host platform

I tried using the provided docker-image on a Macbook M1 but got the following error:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown.

This is the command to test it docker run --rm -it pspdev/pspdev:latest /bin/bash

Would it be possible to provide a suitable cross-compiled image via the github actions ?

`pspdev/pspdev` Docker image might be incomplete

TL;DR: I think the Docker image that is being pushed to Docker Hub and Github image repo might be missing build-all.sh (or equivalent) steps in order to be readily mounted and used to compile projects

If we try to use pspdev/pspdev or ghcr.io/pspdev/pspdev to make a project, e.g. running a command like:

 docker run -v "`pwd`:/build" --rm -it pspdev/pspdev  make

We will get an error like:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "make": executable file not found in $PATH: unknown.

Same happens if we use ghcr.io/pspdev/pspdev.

If I try to run apk add make inside the container, and then run make, I start getting other errors with missing files:

Error loading shared library libmpc.so.3: No such file or directory (needed by /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus)
Error loading shared library libmpfr.so.6: No such file or directory (needed by /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus)
Error loading shared library libgmp.so.10: No such file or directory (needed by /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus)
Error relocating /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus: mpfr_hypot: symbol not found
Error relocating /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus: __gmpz_cmp: symbol not found
Error relocating /usr/local/pspdev/libexec/gcc/psp/11.2.0/cc1plus: mpfr_set_emin: symbol not found

Notes

I first noticed this issue while using the (now archived) pspdev-docker, where I had to point to pspdev instead of psptoolchain (see this PR).

The build using the Dockerfile where we call build-all.sh has a huge difference in size to the official public images, which, despite being on a different base image (e.g. alpine vs ubuntu), I suspect, taking into account the errors above, could be due to the pspdev/pspdev images missing also files.

$docker images
REPOSITORY                        TAG       IMAGE ID       CREATED        SIZE
ghcr.io/filfreire/pspdev-docker   latest    21cb99b89fe3   38 hours ago   984MB
pspdev/pspdev                     latest    6faeed61bddf   6 days ago     240MB
ghcr.io/pspdev/pspdev             latest    6faeed61bddf   6 days ago     240MB

I see that in the actions, the build-all.sh is run for ubuntu:latest BUT, it is not run for the base Dockerfile, so I was wondering if this is on purpose - e.g. the provided container is not meant to have the pre-baked/compiled toolchain?

pspdev.cmake sets system name as Generic

Hi,
I was wondering if it would be possible to set the system name of the PSP in the cmake to an actual name like SonyPSP or PSP ? because when setting up cmake systems alongside devkitpro toolkits, it ends up looking pretty dirty to have to suddenly change the type of platform check

It's far from an emergency since it works as intended, but I feel like it is probably better to set an accurate system name rather than keeping it as "generic"

image

windows10 msys2 build problem

make[2]: Entering directory '/d/dev/Scoop/persist/msys2/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/psp/libstdc++-v3/include'
echo timestamp > stamp-pb
echo timestamp > stamp-host
make[2]: [Makefile:1767: psp/bits/largefile-config.h] Error 1 (ignored)
make[2]: [Makefile:1768: psp/bits/largefile-config.h] Error 1 (ignored)
echo 0 > stamp-namespace-version
echo 1 > stamp-visibility
echo 1 > stamp-extern-template
echo 1 > stamp-dual-abi
echo 1 > stamp-cxx11-abi
echo 1 > stamp-allocator-new
echo 'undef GLIBCXX_USE_FLOAT128' > stamp-float128
sed -e '/^#pragma/b'
-e '/^#/s/([ABCDEFGHIJKLMNOPQRSTUVWXYZ
][ABCDEFGHIJKLMNOPQRSTUVWXYZ_])/GLIBCXX\1/g'
-e 's/GLIBCXX_SUPPORTS_WEAK/GXX_WEAK/g'
-e 's/GLIBCXX___MINGW32_GLIBCXX
_/MINGW32/g'
-e 's,^#include "(.
)",#include <bits/\1>,g'
< /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/../libgcc/gthr.h > psp/bits/gthr.h
sed -e 's/(UNUSED)/GLIBCXX\1/g'
-e 's/(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]H)/GLIBCXX\1/g'
< /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/../libgcc/gthr-single.h > psp/bits/gthr-single.h
sed -e 's/(UNUSED)/GLIBCXX\1/g'
-e 's/(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ
]
H)/GLIBCXX\1/g'
-e 's/SUPPORTS_WEAK/GXX_WEAK/g'
-e 's/([ABCDEFGHIJKLMNOPQRSTUVWXYZ
]USE_WEAK)/GLIBCXX\1/g'
< /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/../libgcc/gthr-posix.h > psp/bits/gthr-posix.h
sed -e 's/(UNUSED)/GLIBCXX\1/g'
-e 's/(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
H)/GLIBCXX\1/g'
-e 's/SUPPORTS_WEAK/GXX_WEAK/g'
-e 's/([ABCDEFGHIJKLMNOPQRSTUVWXYZ
]USE_WEAK)/GLIBCXX\1/g'
-e 's,^#include "(.
)",#include <bits/\1>,g'
< /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/../libgcc/gthr-posix.h > psp/bits/gthr-default.h
make[2]: Leaving directory '/d/dev/Scoop/persist/msys2/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/psp/libstdc++-v3/include'
Making all in include
In file included from /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/psp/libstdc++-v3/include/unordered_set:47,
from /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/include/precompiled/stdc++.h:118:
/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/psp/libstdc++-v3/include/bits/unordered_set.h:1882:1: internal compiler error: Segmentation fault
1882 | } // namespace std
| ^
0x100a90f79 crash_signal
../../gcc/toplev.c:327
0x10084773f ???
/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/gcc/gtype-desc.c:7471
0x1007f645e gt_pch_save(__sFILE64*)
../../gcc/ggc-common.c:549
0x10062a997 c_common_write_pch()
../../gcc/c-family/c-pch.c:177
0x10048fa8c c_parse_final_cleanups()
../../gcc/cp/decl2.c:4909
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See https://gcc.gnu.org/bugs/ for instructions.
make[4]: *** [Makefile:1862: psp/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from /home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/libstdc++-v3/include/precompiled/stdc++.h:133:
/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/psp/libstdc++-v3/include/variant:1848:1: internal compiler error: Segmentation fault
1848 | } // namespace std
| ^
0x100a90f79 crash_signal
../../gcc/toplev.c:327
0x10084773f ???
/home/leecl/pspsdk/pspdev/build/psptoolchain/build/psptoolchain-allegrex/build/gcc/build-psp-stage2/gcc/gtype-desc.c:7471
0x1007f645e gt_pch_save(__sFILE64*)
../../gcc/ggc-common.c:549
0x10062a997 c_common_write_pch()
../../gcc/c-family/c-pch.c:177
0x10048fa8c c_parse_final_cleanups()
../../gcc/cp/decl2.c:4909
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See https://gcc.gnu.org/bugs/ for instructions.
make[4]: *** [Makefile:1867: psp/bits/stdc++.h.gch/O2g.gch] Error 1
make[3]: *** [Makefile:568: all-recursive] Error 1
make[2]: *** [Makefile:493: all] Error 2
make[1]: *** [Makefile:12145: all-target-libstdc++-v3] Error 2
make: *** [Makefile:957: all] Error 2
../scripts/005-gcc-stage2.sh: Failed.
../scripts/001-allegrex.sh: Failed.
../scripts/001-psptoolchain.sh: Failed.

Cannot compile on MacOS Catalina

the prebuilts dont work so i tried to compile it from source but i get these errors
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
61 | #error Unknown operation
| ^~~
make[2]: [addsf3.o] Error 1
make[2]: Waiting for unfinished jobs....
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
61 | #error Unknown operation
| ^
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
61 | #error Unknown operation
| ^
make[2]: [negsf2.o] Error 1
make[2]: [subsf3.o] Error 1
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
61 | #error Unknown operation
| ^~~
make[2]: [mulsf3.o] Error 1
make[1]: [all-target-libgcc] Error 2
make: *** [all] Error 2

prepare.sh doesn't install python3-pip on debian

Ran prepare script and then tried to build only to get a complaint that pip3 wasn't installed. Looking in the prepare script, it looks like it does make sure pip3 is installed on every Linux flavor except Debian/Ubuntu. I think python3-pip should be added to the list of packages to ensure are installed for Debian/Ubuntu.

A question about the PrxEncrypter thing

What does it actually mean when the message PRX SIGNER: Elf is to big shows up when building a PSP game?
All it says is that the elf thing is just too big and that is it. No further info. i don't want to test the game with CFW.

i do not know if this is where i should be asking questions, i didnt want to join the discord server just for this only

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.