Git Product home page Git Product logo

ps2dev's Introduction

ps2dev

GitHub Workflow StatusGitHub Workflow StatusDocker Pulls

Main PS2 Repo for building the whole PS2 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® 2 videogame system.

What these scripts do

These scripts download (git clone) and install:

Requirements

  1. Install gcc/clang, make, cmake, patch, git, texinfo, flex, bison, gettext, wget, gsl, gmp, zlib, mpfr and mpc if you don't have those packages.
  • Ubuntu
sudo apt -y install gcc g++ make cmake patch git texinfo flex bison gettext libgsl-dev libgmp3-dev libmpfr-dev libmpc-dev zlib1g-dev
  • Fedora/CentOS
sudo dnf -y install gcc make cmake patch git texinfo flex bison gettext gmp-devel mpfr-devel libmpc-devel zlib-devel
  • Alpine
apk add build-base cmake git texinfo flex bison gettext gmp-dev mpfr-dev mpc1-dev zlib-dev
  1. Optional. If you are upgrading from the previous version of the PS2DEV environment, it is highly recommended to remove the content of the PS2DEV folder before upgrade. This is a necessary step after the major toolchain upgrade.
sudo rm -rf $PS2DEV
  1. Ensure that you have enough permissions for managing PS2DEV location (which defaults to /usr/local/ps2dev, but you can use a different path). PS2DEV location MUST NOT have spaces or special characters in its path! PS2DEV should be an absolute path. On Unix systems, if the command mkdir -p $PS2DEV fails for you, you can set access for the current user by running commands:
export PS2DEV=/usr/local/ps2dev
sudo mkdir -p $PS2DEV
sudo chown -R $USER: $PS2DEV
  1. Add this to your login script (example: ~/.bash_profile) Note: Ensure that you have full access to the PS2DEV path. You can change the PS2DEV path with the following requirements: only use absolute paths, don't use spaces, only use Latin characters.
export PS2DEV=/usr/local/ps2dev
export PS2SDK=$PS2DEV/ps2sdk
export GSKIT=$PS2DEV/gsKit
export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin
  1. Run build-all.sh
./build-all.sh

Docker generation

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

Extra steps

If you want, you can JUST install the extra dependencies ps2client and ps2-packer. To achieve this, execute the following:

./build-extra.sh

macOS

If you download the pre-built macOS binaries and get a security error such as "ps2client" 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/ps2toolchain

Thanks

ps2dev's People

Contributors

akuhak avatar bucanero avatar dirsors avatar fjtrujy avatar hakanrw avatar jacobleeharris avatar rickgaiser avatar terremoth avatar uyjulian avatar ziemas 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ps2dev's Issues

Is SDL3's Uint32 32- of 64-bit?

Hello!

I just tried enabled C90 for the SDL3 tests, and saw the following error in our PS2 GitHub CI.

 [2/328] /usr/local/ps2dev/ee/bin/mips64r5900el-ps2-elf-gcc -DHAVE_SIGNAL_H -I/__w/SDL/SDL/build/include-config-release -I/__w/SDL/SDL/src -I/__w/SDL/SDL/build/include -I/__w/SDL/SDL/include -I/__w/SDL/SDL/include/SDL3 -I/usr/local/ps2dev/gsKit/include -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/usr/local/ps2dev/ps2sdk/ports/include -D_EE -DPS2 -D__PS2__ -O2 -G0 -O3 -DNDEBUG -std=c90 -idirafter /__w/SDL/SDL/src/video/khronos -Wall -Wundef -fno-strict-aliasing -Werror=declaration-after-statement -Wdeclaration-after-statement -Wshadow -Wno-unused-local-typedefs -fdiagnostics-color=always -Werror -MD -MT test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj -MF test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj.d -o test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj -c /__w/SDL/SDL/test/testoffscreen.c
/__w/SDL/SDL/test/testoffscreen.c: In function ‘save_surface_to_bmp’:
/__w/SDL/SDL/test/testoffscreen.c:65:44: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘SDL_WindowID’ {aka ‘long unsigned int’} [-Werror=format=]
   65 |     (void)SDL_snprintf(file, sizeof(file), "SDL_window%" SDL_PRIs32 "-%8.8d.bmp",
      |                                            ^~~~~~~~~~~~~
   66 |                        SDL_GetWindowID(window), ++frame_number);
      |                        ~~~~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        SDL_WindowID {aka long unsigned int}
In file included from /__w/SDL/SDL/include/SDL3/SDL.h:32,
                 from /__w/SDL/SDL/test/testoffscreen.c:22:
/__w/SDL/SDL/include/SDL3/SDL_stdinc.h:252:21: note: format string is defined here
  252 | #define SDL_PRIs32 "d"
/__w/SDL/SDL/test/testoffscreen.c: In function ‘SDL_main’:
ninja: job failed: /usr/local/ps2dev/ee/bin/mips64r5900el-ps2-elf-gcc -DHAVE_SIGNAL_H -I/__w/SDL/SDL/build/include-config-release -I/__w/SDL/SDL/src -I/__w/SDL/SDL/build/include -I/__w/SDL/SDL/include -I/__w/SDL/SDL/include/SDL3 -I/usr/local/ps2dev/gsKit/include -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/usr/local/ps2dev/ps2sdk/ports/include -D_EE -DPS2 -D__PS2__ -O2 -G0 -O3 -DNDEBUG -std=c90 -idirafter /__w/SDL/SDL/src/video/khronos -Wall -Wundef -fno-strict-aliasing -Werror=declaration-after-statement -Wdeclaration-after-statement -Wshadow -Wno-unused-local-typedefs -fdiagnostics-color=always -Werror -MD -MT test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj -MF test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj.d -o test/CMakeFiles/testoffscreen.dir/testoffscreen.c.obj -c /__w/SDL/SDL/test/testoffscreen.c
ninja: subcommand failed
/__w/SDL/SDL/test/testoffscreen.c:166:25: error: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
  166 |                 SDL_Log("Frames remaining: %" SDL_PRIu32 " rendering at %2.2f frames per second\n", max_frames - frames, fps);
      |                         ^~~~~~~~~~~~~~~~~~~~~                                                       ~~~~~~~~~~~~~~~~~~~
      |                                                                                                                |
      |                                                                                                                long unsigned int
In file included from /__w/SDL/SDL/include/SDL3/SDL.h:32,
                 from /__w/SDL/SDL/test/testoffscreen.c:22:
/__w/SDL/SDL/include/SDL3/SDL_stdinc.h:259:21: note: format string is defined here

url: https://github.com/madebr/SDL/actions/runs/5074321746/jobs/9114376815
branch: https://github.com/madebr/SDL/tree/tests-c90

This also happens with psp and n3ds,
so I am unsure what is at fault here.

Confusion over compiler binaries and naming...

Forgive me in case I've missed something out, but I've just compiled and I can't find any binaries in my path with the usual names of ee-gcc, iop-gcc etc., I've got mips64r5900el-ps2-elf-gcc and other compilers/linkers/etc. installed, but these are also targeting new GCC versions (11.1.0).

Are there any major differences I need to add in order to target these compilers from old source Makefiles, or is it done seamlessly?
Thanks for keeping the PS2 toolchain alive :)

build-extra.sh error

hi,

In ubuntu 20.04, 005-ps2-packer-extra.sh give me this error (both called by itself or via build-all/build-extra):

n2b-packer.c:23:10: fatal error: ucl/ucl.h: No such file or directory
   23 | #include <ucl/ucl.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:104: n2b-packer.so] Error 1
../scripts/005-ps2-packer-extra.sh: Failed.

ucl is present in /usr/local/ps2dev/ps2sdk/ports/include/ucl

Development build broke sm64-port

The latest ps2dev development build makes the sm64 port inoperable: the project compiles without errors, but the resulting elf only works on emulators, and only a black screen is visible on real hardware.

Add "cmake" as requirement.

I would like to suggest "cmake" as a requirement because the script also compiles and installs ps2sdk-ports. And add "ps2sdk-ports" to the "These scripts download (git clone) and install" list.
Without cmake, the build-all.sh returns "cmake: command not found."

Buidling v1.3.0 fails with git error

I want to build v1.3.0.
As far as I understand, I have to clone this repo, do a git checkout v1.3.0, and run ./build-all.sh.

This fails:

Instaling specific version v1.3.0
+ BUILD_SCRIPTS=(`ls ../scripts/*.sh | sort`)
++ ls ../scripts/001-toolchain.sh ../scripts/002-ps2sdk.sh ../scripts/003-gskit.sh ../scripts/004-ps2sdk-ports.sh ../scripts/005-ps2-packer-extra.sh ../scripts/006-ps2client-extra.sh
++ sort
+ '[' ']'
+ for SCRIPT in ${BUILD_SCRIPTS[@]}
+ ../scripts/001-toolchain.sh v1.3.0
Using repo reference v1.3.0
fatal: ambiguous argument 'origin/v1.3.0': unknown revision or path not in working tree
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
+ echo '../scripts/001-toolchain.sh: Failed.'
../scripts/001-toolchain.sh: Failed.
+ exit 1

I have to remove the git reset --hard... in all files in the scripts directory to get it working.

Am I doing it wrong?

libtool not listed as a required package

libtool is not listed as a requirement on the readme, but it is required.

./libtool: 757: ./libtool: Cannot fork
Makefile:900: recipe for target 'init.lo' failed
make[3]: *** [init.lo] Error 2

Dispatch to ps2homebrew organization

Is it possible to create dispatch actions to the ps2hombrew projects? So each project compiles when this docker image is updated. Something like this

    strategy:
      matrix:
        repo: ['ps2homebrew/wLaunchELF', 'ps2homebrew/Open-PS2-Loader', 'ps2homebrew/repo3']
    runs-on: ubuntu-latest
    - name: Repository Dispatch to ps2homebrew organization
      uses: peter-evans/repository-dispatch@v1
      with:
        repository: ${{ matrix.repo }}
        token: ${{ secrets.DISPATCH_TOKEN }}
        event-type: ${{ env.NEW_DISPATCH_ACTION }}
        client-payload: '{"ref": "${{ github.ref }}"}'

Building gsKit with libpng

I'm interested in building gsKit with support for libpng from the sdk ports. From what I gathered, it should involve building changing the build order to this:

  • ps2toolchain
  • ps2sdk
  • ps2sdk-ports
  • gsKit
  • everything else

Also, if I'm not mistaken, could we simply call the "setup.sh" script in gsKit for building it?

Install fails with: ERROR: Set $PS2DEV before continuing.

OS: Arch Linux x86_64

I followed the set up steps but since I use ZSH I added the env variables to my .zlogin. And prior to installing I set the variables (so the would exist even before I rebooted) and did as following

inaba@japan ~ $ git clone https://github.com/ps2dev/ps2dev.git
Cloning into 'ps2dev'...
remote: Enumerating objects: 74, done.
remote: Counting objects: 100% (74/74), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 74 (delta 25), reused 59 (delta 15), pack-reused 0
Receiving objects: 100% (74/74), 13.31 KiB | 6.66 MiB/s, done.
Resolving deltas: 100% (25/25), done.
inaba@japan ~ $ cd ps2dev 
inaba@japan ~/ps2dev (master) $ ./build-all.sh 
ls: cannot access '/usr/local/ps2dev': No such file or directory
mkdir: cannot create directory ‘/usr/local/ps2dev’: Permission denied
ERROR: Create /usr/local/ps2dev before continuing.
../depends/check-ps2dev.sh: Failed.
inaba@japan ~/ps2dev (master) $ sudo ./build-all.sh 
[sudo] password for inaba: 
ERROR: Set $PS2DEV before continuing.
../depends/check-ps2dev.sh: Failed.

Yet the env variable it's complaining about is actually set, as seen here

inaba@japan ~/ps2dev (master) $ echo $PS2DEV
/usr/local/ps2dev

can't execute binaries in macOS Catalina (10.15.4)

Most probably due to macOS security checks, after unpacking the ps2dev macOS .tar.gz, trying to execute any binary brings up an error. For example:

"ps2client" cannot be opened because the developer cannot be verified.

Screenshot 2020-05-22 14 37 08

Perhaps an explanation on how to disable the quarantine status for the ps2dev folder in macOS could be added to the Readme.

Building fails in Ubuntu 18.04.6 with arch x86

Problems using:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
Architecture: x86
Kernel: 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:16:44 UTC 2018 i686 athlon i686 GNU/Linux

./build-all.sh
Without errors in 001-toolchain.sh

Errors in 002-toolchain.sh:

Installing latest environment status
Using repo reference origin/master
HEAD está ahora en 6b656d1a Merge pull request #461 from crypt4489/MIPTBP_fixes
Nothing to clean in samples
Cleaning PS2SDK dependencies.
Cleaning lwip.
src/ps2-irxgen.c: In function ‘load_file’:
src/ps2-irxgen.c:145:4: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
(void) fread(data, 1, size, fp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ff.c:3282:13: warning: 'find_volume' defined but not used [-Wunused-function]
3282 | static UINT find_volume ( /* Returns BS status found in the hosting drive */
| ^~~~~~~~~~~
obj/ioplib.o: in function `ioplib_getByName':
(.text+0xc): jump to a non-instruction-aligned address
collect2: error: ld returned 1 exit status
/home/cdlt/SDKs/ps2dev/build/ps2sdk/iop/Rules.make:120: fallo en las instrucciones para el objetivo 'irx/mx4sio_bd.irx'
make[3]: *** [irx/mx4sio_bd.irx] Error 1
/home/cdlt/SDKs/ps2dev/build/ps2sdk/Rules.make:21: fallo en las instrucciones para el objetivo 'all-mx4sio_bd'
make[2]: *** [all-mx4sio_bd] Error 2
/home/cdlt/SDKs/ps2dev/build/ps2sdk/Rules.make:21: fallo en las instrucciones para el objetivo 'all-sio'
make[1]: *** [all-sio] Error 2
Makefile:33: fallo en las instrucciones para el objetivo 'all-iop'
make: *** [all-iop] Error 2
../scripts/002-ps2sdk.sh: Failed.

PROBLEM: Issues building

when trying to compile older projects something like this appears, most often than not

src/supportbase.c:360:38: error: 'struct dirent' has no member named 'd_stat'
360 | game->sizeMB = dirent->d_stat.st_size >> 20;

and i cannot find a ps2dev binary that works thats below gcc14. And the ones i find say something like "mips64r5900el-ps2-elf-gcc No such file or directory" even when the binary exists and i have the environment variables well set.

Im new on this and frustrated asf

Xcode 12 build

It appears the main issue is the compiler defaulting to -Werror,-Wimplicit-function-declaration

Specifically, it breaks some configure scripts' feature detection like this

Not sure where you want to handle it, as a number of builds have this issue, but I can confirm that running CFLAGS=-Wno-implicit-function-declaration ./build-all.sh works

libpng doesn't work after update

Hi.

After ps2dev update it turned that libpng doesnt work in my project.
To be 100% sure that is not my fault, I tried to reproduce this bug in gsKit and problem is also there.
I was wondering where to put this PR, but I think the problem is more with the toolchain than with libpng or gsKit itself.

Which line cause the problem:

FILE *file = fopen("host:files/test.png", "rb");
png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); // <-- Problem is here
png_infop info_ptr = png_create_info_struct(png_ptr);
...

Repro steps:

  1. GSKITSRC=cloned-ps2dev/build/gskit
  2. cd $GSKITSRC
  3. Uncomment LIBPNG and ZLIB in Makefile.pref
  4. make
  5. Open ./examples/png-texture/textures.elf in PCSX2
  6. image

Code snippet:

#include <png.h>

// CFlags: -DHAVE_LIBPNG -DHAVE_ZLIB
// LDFlags: -L$(PS2SDK)/ports/lib
// EELibs: -lpng -lz

FILE *file = fopen("host:files/test.png", "rb");
assertMsg(file != NULL, "Failed to open .png file!");
unsigned char header[8];
fread(header, 1, 8, file);
assertMsg(!png_sig_cmp(header, 0, 8), "File was not recognized as a PNG file");
png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
assertMsg(png_ptr, "PNG read struct init failed!");
png_infop info_ptr = png_create_info_struct(png_ptr);
assertMsg(info_ptr, "PNG info struct init failed!");
assertMsg(!setjmp(png_jmpbuf(png_ptr)), "PNG reader fatal error!");
png_read_end(png_ptr, NULL);
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
fclose(file);

Thanks

Cannot build - if - command not found

Seems there is a syntax error? I definitely have all the dependencies necessary for building installed. This is on Gentoo on a very up-to-date machine as of last weekend (kernel 6.2.11, GCC 12, etc).

Configuring in binutils
loading cache .././config.cache
loading cache .././config.cache within ltconfig
creating libtool
loading cache .././config.cache
/home/tatsh/dev/ps2dev/build/ps2toolchain/build/ps2toolchain-dvp/build/binutils-gdb/binutils/configure: line 2699: `if: command not found
configure: error: cannot find output from `if [ -f $r/flex/flex ] ; then echo $r/flex/flex ; else echo flex ; fi`; giving up
make: *** [Makefile:1738: configure-binutils] Error 1
../scripts/001-binutils.sh: Failed.
../scripts/001-dvp.sh: Failed.
../scripts/001-toolchain.sh: Failed.

Environment:

 $ env | grep -E '^(PS2|GSKIT|PATH)'
PS2SDK=/home/tatsh/.local/share/ps2dev/ps2sdk
GSKIT=/home/tatsh/.local/share/ps2dev/gsKit
PS2DEV=/home/tatsh/.local/share/ps2dev
PATH=/home/tatsh/.node/bin:/home/tatsh/.dotnet/tools:/home/tatsh/.local/bin:/home/tatsh/dev/misc-scripts:/usr/lib/llvm/14/share/opt-viewer:/usr/lib/llvm/15/share/opt-viewer:/usr/lib/llvm/16/share/opt-viewer:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/16/bin:/usr/lib/llvm/15/bin:/usr/lib/llvm/14/bin:/opt/android-sdk-update-manager/tools:/opt/android-sdk-update-manager/platform-tools:/opt/nvidia-cg-toolkit/bin:/etc/eselect/wine/bin:/home/tatsh/.local/share/ps2dev/bin:/home/tatsh/.local/share/ps2dev/ee/bin:/home/tatsh/.local/share/ps2dev/iop/bin:/home/tatsh/.local/share/ps2dev/dvp/bin:/home/tatsh/.local/share/ps2dev/ps2sdk/bin

build.log

Missing libc.erl

PS2 path locations are the same as in the README
When running make on the hello ps2sdk sample as root I get this error:

cp /usr/local/ps2dev/ps2sdk/ee/lib/libc.erl libc.erl cp: cannot stat '/usr/local/ps2dev/ps2sdk/ee/lib/libc.erl': No such file or directory make: *** [Makefile:21: libc.erl] Error 1

Makefile:29: S2DEV/ps2sdk/Defs.make: No existe el fichero o el directorio

SO: Debian 10 buster x64

Hello, I have a problem when I run ./build-all.sh
I have the variables $PS2DEV, $PS2SDK and $GSKIT according to the readme.md of the repository

tiocomegfas@debian-msi:/usr/local$ echo $PS2DEV
/usr/local/ps2dev
tiocomegfas@debian-msi:/usr/local$ echo $PS2SDK
$PS2DEV/ps2sdk
tiocomegfas@debian-msi:/usr/local$ echo $GSKIT
$PS2DEV/gsKit

ran the bash and it gives me this error:

Clonando en 'gsKit'...
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 2552 (delta 8), reused 3 (delta 1), pack-reused 2523
Recibiendo objetos: 100% (2552/2552), 4.09 MiB | 335.00 KiB/s, listo.
Resolviendo deltas: 100% (1702/1702), listo.
Makefile:29: S2DEV/ps2sdk/Defs.make: No existe el fichero o el directorio
make: *** No hay ninguna regla para construir el objetivo 'S2DEV/ps2sdk/Defs.make'. Alto.
../scripts/003-gskit.sh: Failed.

Thank you and I remain attentive to your comments

Error loading shared library libmpc.so, libmpfr.so and libgmp.so

Hello everyone, I'm trying to compile the hello.c example but I'm having problems. I had to add the make by the command "apk add make" in the container but when I do a "make all" I get the following error.

mips64r5900el-ps2-elf-gcc -D_EE -O2 -G0 -Wall -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I. -c hello.c -o hello.o Error loading shared library libmpc.so.3: No such file or directory (needed by /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1) Error loading shared library libmpfr.so.6: No such file or directory (needed by /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1) Error loading shared library libgmp.so.10: No such file or directory (needed by /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1) Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_hypot: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_cmp: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_emin: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_atan: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_get_version: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_exp2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_asinh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_max: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_log1p: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_snprintf: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_div: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_cbrt: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_atan2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_mul: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_j0: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_underflow_p: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_set_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_exp10: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_exp: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_pow: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_clear: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_log2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_init2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_erangeflag: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_pow: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_lgamma: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_asinh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sqrt_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_inits: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_cos: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_gamma: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_remainder: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_log10: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_tanh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_add: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_clears: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_set: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_get_version: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_si_2exp: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_sizeinbase: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_yn: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_str: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_free_str: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sqrt: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_erfc: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_j1: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_inf: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sin_cos: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_remquo: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sin: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_inits2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_fdiv_q: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_emax: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_tan: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_tanh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_get_str: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_acosh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_sinh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_atan: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_acosh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_init2: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_jn: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_clear_flags: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_clear: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_export: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_com: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_number_p: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_log: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_exp: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_cos: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_swap: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_nan: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_import: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_sub_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_fma: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sinh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sub: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_init_set: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_sub: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_atanh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_init: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_sqrt: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_sub_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_asin: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_log: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_y0: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_strtofr: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_acos: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_min: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_out_str: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_tan: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_free_cache: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_expm1: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_atanh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_dim: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_asin: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_y1: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_overflow_p: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_erf: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_clear: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_cosh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_acos: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_cosh: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpc_sin: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: mpfr_set_ui_2exp: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmpz_add_ui: symbol not found Error relocating /usr/local/ps2dev/ee/libexec/gcc/mips64r5900el-ps2-elf/10.2.0/cc1: __gmp_version: symbol not found make: *** [/usr/local/ps2dev/ps2sdk/samples/Makefile.eeglobal:31: hello.o] Error 1

Does anyone have any idea what it might be?

Several components' configure scripts are outdated

The config.guess and related configure scripts within the following modules are quite old, which prevents building on younger platforms like aarch64 MacOS (added to autoconf's source tree in mid 2020), it'd be great if they could be autoreconf'ed (either within the repositories, or as part of the dependency building scripts) to allow for this!

I've attempted to enumerate the troublesome dependencies, but it's quite possible I've missed some:

Due to the way the toolchain is bootstrapped, this is pretty difficult to easily patch around, so I hope you can help :)

Docker container is flaky on GitHub CI

Hello,

We're using the ps2dev/ps2dev:latest container to do ci on SDL.
Since recently, I began to notice linking the test executables sometimes fails.
When re-running the job, it then succeeds.

Let's consider today's failed run:

Example failing link command, from attempt 1:

ninja: job failed: : && /usr/local/ps2dev/ee/bin/mips64r5900el-ps2-elf-gcc -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/usr/local/ps2dev/ps2sdk/ports/include -D_EE -DPS2 -D__PS2__ -O2 -G0 -O3 -DNDEBUG -T/usr/local/ps2dev/ps2sdk/ee/startup/linkfile -L/usr/local/ps2dev/ps2sdk/ee/lib -L/usr/local/ps2dev/gsKit/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -Wl,-zmax-page-size=128 test/CMakeFiles/testpopup.dir/testpopup.c.obj -o test/testpopup  libSDL3_test.a  libSDL3.a  -lm  -lpatches  -lgskit  -ldmakit  -lps2_drivers && :
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: /usr/local/ps2dev/ps2sdk/ports/lib/libps2_drivers.a(init_ps2_fileXio_driver.o): in function `init_fileXio_driver':
(.text+0x6c): undefined reference to `fileXioInit'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: /usr/local/ps2dev/ps2sdk/ports/lib/libps2_drivers.a(init_ps2_hdd_driver.o): in function `init_hdd_driver':
(.text+0xd8): undefined reference to `fileXioDevctl'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: /usr/local/ps2dev/ps2sdk/ports/lib/libps2_drivers.a(mount_current_partition_ps2_hdd_driver.o): in function `mount_current_hdd_partition':
(.text+0x228): undefined reference to `fileXioMount'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: /usr/local/ps2dev/ps2sdk/ports/lib/libps2_drivers.a(umount_hdd_partition_ps2_hdd_driver.o): in function `umount_hdd_partition':
(.text+0x68): undefined reference to `fileXioDevctl'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: (.text+0x70): undefined reference to `fileXioUmount'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: (.text+0x8c): undefined reference to `fileXioDevctl'
/usr/local/ps2dev/ee/lib/gcc/mips64r5900el-ps2-elf/11.3.0/../../../../mips64r5900el-ps2-elf/bin/ld: (.text+0xac): undefined reference to `fileXioDevctl'
collect2: error: ld returned 1 exit status

Same command as above, but it succeeds now. From attempt 2

: && /usr/local/ps2dev/ee/bin/mips64r5900el-ps2-elf-gcc -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I/usr/local/ps2dev/ps2sdk/ports/include -D_EE -DPS2 -D__PS2__ -O2 -G0 -O3 -DNDEBUG -T/usr/local/ps2dev/ps2sdk/ee/startup/linkfile -L/usr/local/ps2dev/ps2sdk/ee/lib -L/usr/local/ps2dev/gsKit/lib -L/usr/local/ps2dev/ps2sdk/ports/lib -Wl,-zmax-page-size=128 test/CMakeFiles/testpopup.dir/testpopup.c.obj -o test/testpopup  libSDL3_test.a  libSDL3.a  -lm  -lpatches  -lgskit  -ldmakit  -lps2_drivers && :

The link commands are identical so there's some non-deterministic behavior going on.

Script fails; make[3]: mipsel-ps2-irx-gcc: Command not found

Tried it on Ubuntu 20.04 LTS on a physical machine as well as on WSL2; both ended up with the same problem:

make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[3]: mipsel-ps2-irx-gcc: Command not found
make[2]: mipsel-ps2-irx-gcc: Command not found
Nothing to clean in samples
make[2]: mipsel-ps2-irx-gcc: Command not found
make[2]: mipsel-ps2-irx-ar: Command not found
make[2]: *** [/usr/local/ps2dev/ps2dev/build/ps2sdk/iop/Rules.make:109: lib/libkernel.a] Error 127
make[1]: *** [/usr/local/ps2dev/ps2dev/build/ps2sdk/Rules.make:21: all-kernel] Error 2
make: *** [Makefile:31: all-iop] Error 2
../scripts/002-ps2sdk.sh: Failed.

Build failed

I have installed the listed dependencies.

The error log:

$ ./build-all.sh 
Installing latest environment status
Using repo reference origin/master
HEAD is now at 5964c2d Add gettext dependency for compilation
Installing latest environment status
Using repo reference origin/main
HEAD is now at 0dc5224 Merge pull request #3 from fjtrujy/main
HEAD is now at 9cca5c1 Added abi options to dvp-as for toolchain compatibility
Building with 12 jobs
creating cache ./config.cache
*** This configuration is not supported in the following subdirectories:
     ld
    (Any other directories should still work fine.)
updating cache ./config.cache
creating ./config.status
creating Makefile
Configuring in intl
loading cache .././config.cache
updating cache .././config.cache
creating ./config.status
creating Makefile
creating config.h
linking ../../intl/libgettext.h to libintl.h
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
ar: `u' modifier ignored since `D' is the default (see `U')
Configuring in libiberty
loading cache .././config.cache
updating cache .././config.cache
creating ./config.status
creating Makefile
creating testsuite/Makefile
creating config.h
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/concat.c: In function ‘concat_length’:
../../libiberty/concat.c:111:1: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
  111 | concat_length VPARAMS ((const char *first, ...))
      | ^~~~~~~~~~~~~
../../libiberty/concat.c: In function ‘concat_copy’:
../../libiberty/concat.c:126:1: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
  126 | concat_copy VPARAMS ((char *dst, const char *first, ...))
      | ^~~~~~~~~~~
../../libiberty/concat.c: In function ‘concat_copy2’:
../../libiberty/concat.c:145:1: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
  145 | concat_copy2 VPARAMS ((const char *first, ...))
      | ^~~~~~~~~~~~
../../libiberty/concat.c: In function ‘concat’:
../../libiberty/concat.c:156:1: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
  156 | concat VPARAMS ((const char *first, ...))
      | ^~~~~~
../../libiberty/concat.c: In function ‘reconcat’:
../../libiberty/concat.c:193:1: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
  193 | reconcat VPARAMS ((char *optr, const char *first, ...))
      | ^~~~~~~~
../../libiberty/regex.c: In function ‘byte_regex_compile’:
../../libiberty/regex.c:154:47: warning: right-hand operand of comma expression has no effect [-Wunused-value]
  154 | #      define bzero(s, n) (memset (s, '\0', n), (s))
      |                           ~~~~~~~~~~~~~~~~~~~~^~~~~~
../../libiberty/regex.c:3158:13: note: in expansion of macro ‘bzero’
 3158 |             bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
      |             ^~~~~
../../libiberty/cplus-dem.c: In function ‘demangle_template’:
../../libiberty/cplus-dem.c:2043:15: warning: variable ‘start’ set but not used [-Wunused-but-set-variable]
 2043 |   const char *start;
      |               ^~~~~
In file included from ../../libiberty/regex.c:649:
../../libiberty/regex.c: In function ‘byte_compile_range’:
../../libiberty/regex.c:1953:16: warning: operand of ?: changes signedness from ‘char’ to ‘unsigned int’ due to unsignedness of other operand [-Wsign-compare]
 1953 |   (translate ? (char) translate[(unsigned char) (d)] : (d))
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libiberty/regex.c:4548:22: note: in expansion of macro ‘TRANSLATE’
 4548 |   range_start_char = TRANSLATE (range_start_char);
      |                      ^~~~~~~~~
../../libiberty/regex.c:1953:16: warning: operand of ?: changes signedness from ‘char’ to ‘unsigned int’ due to unsignedness of other operand [-Wsign-compare]
 1953 |   (translate ? (char) translate[(unsigned char) (d)] : (d))
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libiberty/regex.c:2178:24: note: in definition of macro ‘SET_LIST_BIT’
 2178 |   (b[((unsigned char) (c)) / BYTEWIDTH]               \
      |                        ^
../../libiberty/regex.c:4558:21: note: in expansion of macro ‘TRANSLATE’
 4558 |       SET_LIST_BIT (TRANSLATE (this_char));
      |                     ^~~~~~~~~
../../libiberty/regex.c:1953:16: warning: operand of ?: changes signedness from ‘char’ to ‘unsigned int’ due to unsignedness of other operand [-Wsign-compare]
 1953 |   (translate ? (char) translate[(unsigned char) (d)] : (d))
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libiberty/regex.c:2179:30: note: in definition of macro ‘SET_LIST_BIT’
 2179 |    |= 1 << (((unsigned char) c) % BYTEWIDTH))
      |                              ^
../../libiberty/regex.c:4558:21: note: in expansion of macro ‘TRANSLATE’
 4558 |       SET_LIST_BIT (TRANSLATE (this_char));
      |                     ^~~~~~~~~
../../libiberty/regex.c: In function ‘byte_re_compile_fastmap’:
../../libiberty/regex.c:154:47: warning: right-hand operand of comma expression has no effect [-Wunused-value]
  154 | #      define bzero(s, n) (memset (s, '\0', n), (s))
      |                           ~~~~~~~~~~~~~~~~~~~~^~~~~~
../../libiberty/regex.c:4645:3: note: in expansion of macro ‘bzero’
 4645 |   bzero (fastmap, 1 << BYTEWIDTH);  /* Assume nothing's valid.  */
      |   ^~~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/cp-demangle.c: In function ‘demangle_special_name’:
../../libiberty/cp-demangle.c:2018:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2018 |    if (!flag_strict)
      |       ^
../../libiberty/cp-demangle.c:2065:2: note: here
 2065 |  default:
      |  ^~~~~~~
../../libiberty/cplus-dem.c: In function ‘demangle_fund_type’:
../../libiberty/cplus-dem.c:3929:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3929 |       if (!ISDIGIT ((unsigned char)**mangled))
      |          ^
../../libiberty/cplus-dem.c:3934:5: note: here
 3934 |     case 'I':
      |     ^~~~
In file included from ../../libiberty/regex.c:649:
../../libiberty/regex.c: In function ‘byte_re_match_2_internal’:
../../libiberty/regex.c:7236:27: warning: variable ‘sdummy’ set but not used [-Wunused-but-set-variable]
 7236 |             const CHAR_T *sdummy = NULL;
      |                           ^~~~~~
../../libiberty/regex.c:7235:22: warning: variable ‘pdummy’ set but not used [-Wunused-but-set-variable]
 7235 |             UCHAR_T *pdummy = NULL;
      |                      ^~~~~~
../../libiberty/cplus-dem.c: In function ‘demangle_signature’:
../../libiberty/cplus-dem.c:1550:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1550 |    if (AUTO_DEMANGLING || GNU_DEMANGLING)
      |       ^
../../libiberty/cplus-dem.c:1564:2: note: here
 1564 |  default:
      |  ^~~~~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/dyn-string.c: In function ‘dyn_string_insert_cstr’:
../../libiberty/dyn-string.c:311:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
  311 |   strncpy (dest->s + pos, src, length);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libiberty/dyn-string.c:303:16: note: length computed here
  303 |   int length = strlen (src);
      |                ^~~~~~~~~~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/regex.c: In function ‘xregerror’:
../../libiberty/regex.c:8178:20: warning: unused parameter ‘preg’ [-Wunused-parameter]
 8178 |     const regex_t *preg;
      |                    ^~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
In file included from ../../libiberty/regex.c:649:
../../libiberty/regex.c: In function ‘byte_re_match_2_internal’:
../../libiberty/regex.c:6789:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 6789 |       is_a_jump_n = true;
../../libiberty/regex.c:6790:19: note: here
 6790 |                   case pop_failure_jump:
      |                   ^~~~
../../libiberty/regex.c:7212:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7212 |    if ((re_opcode_t) p[-1] != pop_failure_jump)
      |       ^
../../libiberty/regex.c:7227:9: note: here
 7227 |         case pop_failure_jump:
      |         ^~~~
../../libiberty/regex.c:1806:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1806 |   set_regs_matched_done = 0;      \
      |   ~~~~~~~~~~~~~~~~~~~~~~^~~
../../libiberty/regex.c:7239:13: note: in expansion of macro ‘POP_FAILURE_POINT’
 7239 |             POP_FAILURE_POINT (sdummy, pdummy,
      |             ^~~~~~~~~~~~~~~~~
../../libiberty/regex.c:7245:2: note: here
 7245 |  unconditional_jump:
      |  ^~~~~~~~~~~~~~~~~~
../../libiberty/regex.c:7545:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7545 |                   is_a_jump_n = true;
../../libiberty/regex.c:7546:17: note: here
 7546 |                 case maybe_pop_jump:
      |                 ^~~~
../../libiberty/regex.c: In function ‘byte_common_op_match_null_string_p’:
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/regex.c:7813:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7813 |       p1 += 2 * OFFSET_ADDRESS_SIZE;
      |          ^
../../libiberty/regex.c:7815:5: note: here
 7815 |     default:
      |     ^~~~~~~
../../libiberty/regex.c: In function ‘byte_regex_compile’:
../../libiberty/regex.c:2525:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2525 |           if ((syntax & RE_BK_PLUS_QM)
      |              ^
../../libiberty/regex.c:2528:9: note: here
 2528 |         handle_plus:
      |         ^~~~~~~~~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
../../libiberty/ternary.c:150:1: warning: ‘ternary_recursivesearch’ defined but not used [-Wunused-function]
  150 | ternary_recursivesearch (p, s)
      | ^~~~~~~~~~~~~~~~~~~~~~~
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
Configuring in opcodes
loading cache .././config.cache
updating cache .././config.cache
loading cache .././config.cache within ltconfig
creating libtool
updating cache .././config.cache
loading cache .././config.cache
creating ./config.status
creating Makefile
creating po/Makefile.in
creating config.h
Configuring in bfd
loading cache .././config.cache
updating cache .././config.cache
loading cache .././config.cache within ltconfig
creating libtool
loading cache .././config.cache
updating cache .././config.cache
creating ./config.status
creating Makefile
creating doc/Makefile
creating bfd-in3.h
creating bfdver.h
creating po/Makefile.in
creating config.h
Making all in doc
Making all in po
creating po/Makefile.in
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/bfdwin.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/archive.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/cache.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/init.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/bfdio.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/corefile.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/bfd.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/format.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/coffgen.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/libbfd.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c -DDEFAULT_VECTOR=bfd_elf32_littlemips_vec "-DSELECT_VECS=&bfd_elf32_littlemips_vec,&bfd_elf64_littlemips_vec,&bfd_elf64_little_generic_vec,&bfd_elf64_big_generic_vec,&bfd_elf32_little_generic_vec,&bfd_elf32_big_generic_vec" "-DSELECT_ARCHITECTURES=&bfd_mips_arch" -DHAVE_bfd_elf32_littlemips_vec -DHAVE_bfd_elf64_littlemips_vec -DHAVE_bfd_elf64_little_generic_vec -DHAVE_bfd_elf64_big_generic_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec ../../bfd/archures.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/opncls.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/section.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/reloc.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/syms.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/hash.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/linker.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c -DDEFAULT_VECTOR=bfd_elf32_littlemips_vec "-DSELECT_VECS=&bfd_elf32_littlemips_vec,&bfd_elf64_littlemips_vec,&bfd_elf64_little_generic_vec,&bfd_elf64_big_generic_vec,&bfd_elf32_little_generic_vec,&bfd_elf32_big_generic_vec" "-DSELECT_ARCHITECTURES=&bfd_mips_arch" -DHAVE_bfd_elf32_littlemips_vec -DHAVE_bfd_elf64_littlemips_vec -DHAVE_bfd_elf64_little_generic_vec -DHAVE_bfd_elf64_big_generic_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec ../../bfd/targets.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/srec.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/binary.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/tekhex.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/ihex.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/merge.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/stabs.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/stab-syms.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/dwarf2.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/simple.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf32-mips.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elfxx-mips.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/archive64.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf32.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elflink.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf-strtab.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf-eh-frame.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/ecofflink.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/dwarf1.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf64-mips.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf64.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf32-gen.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/elf64-gen.c
gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -D_GNU_SOURCE -I. -I../../bfd -I../../bfd/../include -I../../bfd/../intl -I../intl -w -D_FORTIFY_SOURCE=0 -O2 -c ../../bfd/cpu-mips.c
mkdir .libs
ar cru .libs/libbfd.a  archive.o archures.o bfd.o bfdio.o bfdwin.o cache.o coffgen.o corefile.o format.o init.o libbfd.o opncls.o reloc.o section.o syms.o targets.o hash.o linker.o srec.o binary.o tekhex.o ihex.o stabs.o stab-syms.o merge.o dwarf2.o simple.o archive64.o elf32-mips.o elfxx-mips.o elf32.o elf.o elflink.o elf-strtab.o elf-eh-frame.o dwarf1.o ecofflink.o elf64-mips.o elf64.o elf64-gen.o elf32-gen.o cpu-mips.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib .libs/libbfd.a
creating libbfd.la
(cd .libs && rm -f libbfd.la && ln -s ../libbfd.la libbfd.la)
Making all in po
/bin/sh: 2: no: not found
make[3]: *** [Makefile:215: ro.gmo] Error 127
make[2]: *** [Makefile:596: all-recursive] Error 1
make[1]: *** [Makefile:742: all-recursive-am] Error 2
make: *** [Makefile:1711: all-opcodes] Error 2
../scripts/001-binutils.sh: Failed.
../scripts/001-dvp.sh: Failed.
../scripts/001-toolchain.sh: Failed.

Continued failing Windows builds

The following build from GH Actions was successful for Ubuntu and macos, but not Windows with msys2:
actions/runs/3670801519/jobs/6205575662

Step 6 (Run all stages in the shell) exited with error code 1 (see line 3864 in log), due to an error from configure:

configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
[https://gcc.gnu.org/pub/gcc/infrastructure/.](https://gcc.gnu.org/pub/gcc/infrastructure/)  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.
../scripts/002-gcc-stage1.sh: Failed.
../scripts/002-iop.sh: Failed.
../scripts/001-toolchain.sh: Failed.
Error: Process completed with exit code 1.

The build did not stop, but instead uploaded incomplete artifacts for Windows (just 18 MB instead of about 150 MB).

[Windows] $PS2DEV/bin obsolete?

When downloading the artifacts from the Releases tab, at least the Windows build does not feature a bin/ directory in ps2dev/. This made me curious if it is even needed at all, when adding the variables to the environment (MSYS2 in my case).

Build failed with M1 Mac

Build fails on an M1 MacBook. Looks like ld in the binutils package doesn't like aarch64. I guess a linux arm64 would have the same issue (raspberry pi 4 for example).

bash-3.2$ ./build-all.sh 
Installing latest environment status
HEAD is now at 4459dab Merge pull request #102 from uyjulian/buildsystem_improve
Already on 'master'
Your branch is up to date with 'origin/master'.
Installing latest environment status
HEAD is now at 484a8dd Merge pull request #12 from uyjulian/buildsystem_improve
Already on 'main'
Your branch is up to date with 'origin/main'.
HEAD is now at 9cca5c1 Added abi options to dvp-as for toolchain compatibility
Already on 'dvp-v2.14'
Your branch is up to date with 'origin/dvp-v2.14'.
creating cache ./config.cache
*** This configuration is not supported in the following subdirectories:
     ld
    (Any other directories should still work fine.)
rm: conftest.dSYM: is a directory
../configure: line 2713: test: too many arguments
../configure: line 2785: test: too many arguments
../configure: line 2857: test: too many arguments
../configure: line 3001: test: too many arguments
../configure: line 3073: test: too many arguments
../configure: line 3145: test: too many arguments
../configure: line 3217: test: too many arguments
../configure: line 3289: test: too many arguments
../configure: line 3370: test: too many arguments
../configure: line 3442: test: too many arguments
../configure: line 3514: test: too many arguments
../configure: line 3586: test: too many arguments
../configure: line 3658: test: too many arguments
../configure: line 3730: test: too many arguments
../configure: line 3802: test: too many arguments
updating cache ./config.cache
creating ./config.status
creating Makefile
sed: file conftest.s1 line 26: unterminated `s' command
make: *** No targets.  Stop.
../scripts/001-binutils.sh: Failed.
../scripts/001-dvp.sh: Failed.
../scripts/001-toolchain.sh: Failed.

also with noting that gnu sed is being used:

ian@Ians-MBP ps2dev % sed --version
sed (GNU sed) 4.9

004-ps2sdk-ports.sh build error

When running the script 004-ps2sdk-ports.sh with Ubuntu 20.04 x64 WSL, I get this error message.

-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- SDL2_ttf: Using system freetype library
-- Found Freetype: /home/erfg12/ps2dev/ps2sdk/ports/lib/libfreetype.a (found version "2.10.4")
CMake Error at CMakeLists.txt:402 (set_target_properties):
  INTERFACE_LIBRARY targets may only have whitelisted properties.  The
  property "DEPRECATION" is not allowed.


-- Configuring incomplete, errors occurred!
See also "/home/erfg12/ps2dev/scripts/ps2sdk-ports/build/SDL_ttf/build/CMakeFiles/CMakeOutput.log".
See also "/home/erfg12/ps2dev/scripts/ps2sdk-ports/build/SDL_ttf/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:27: cmakelibs] Error 1

Build fails on MacOS

Building on MacOS, intel fails.
It worked about 12 months ago but the latest does not.
Latest MacOS, latest brew components, clean build

output showing the error is below.

Fixing headers into /Users/ian/dev/ps2dev/build/ps2toolchain/build/ps2toolchain-ee/build/gcc/build-mips64r5900el-ps2-elf-stage1/gcc/include-fixed for mips64r5900el-ps2-elf target
Forbidden identifiers: LANGUAGE_C MIPSEL R4000 _mips mips 
cc1: note: self-tests are not enabled in this build
Checking multilib configuration for libgcc...
mkdir mips64r5900el-ps2-elf
mkdir mips64r5900el-ps2-elf/libgcc
Configuring in mips64r5900el-ps2-elf/libgcc
configure: WARNING: decimal float is not supported for this target, ignored
Mode = sf
Suffix = si\|2\|3
Mode = sf
Suffix = si\|2\|3
Mode = sf
Suffix = si\|2\|3
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
   61 | #error Unknown operation
      |  ^~~~~
Mode = sf
make[2]: *** [addsf3.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Suffix = si\|2\|3
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
   61 | #error Unknown operation
      |  ^~~~~
make[2]: *** [subsf3.o] Error 1
../../../libgcc/config/hardfp.c:61:2: error: #error Unknown operation
   61 | #error Unknown operation
      |  ^~~~~
make[2]: *** [negsf2.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
../scripts/002-gcc-stage1.sh: Failed.
../scripts/003-ee.sh: Failed.
../scripts/001-toolchain.sh: Failed.

Request for community channel

I saw there was no channel, until now.
I created a telegram channel, @ps2dev or https://t.me/ps2dev

I think telegram is a better place than an IRC channel.
Please, appear there @rickgaiser @fjtrujy and other people involved.
Let's grow up a little more our community?
Help each other, write some more tutorials (in the internet has just a few), get Playstation 2 development docs lost in the internet, coding etc?

Please, join there

Compiler segfaults during configure

I keep getting weird compiler segfaults during ps2toolchain-dvp configure that I've not seen ever before:
build-all_log.txt

I'm on an updated Arch Linux with GCC 11.2.0.

Rebuilding binutils/gdb for x86_64 runs through fine here.

Any ideas?

EDIT:
A month ago this ran through w/o many problems (apart from finding python stuff, that's now gone).

Compile fails on Linux Mint 21.1

I have deleted my $PS2DEV path before upgrading my toolchain. Did all the steps. Made sure all the dependencies are installed. Fails with fatal: ambiguous argument 'origin/iop-v11.3.0': unknown revision or path not in the working tree.

Here's a snippet below:

Making clean in .
Making clean in doc
Making clean in doc
Making clean in po
Making clean in po
Making clean in doc
Doing clean in libiberty
Doing clean in readline
Doing clean in zlib
Making clean in po
Making clean in readline
rm -f ./so_locations
 rm -f size objdump ar strings ranlib objcopy addr2line readelf elfedit
Making clean in po
make[4]: warning: -j8 forced in submake: resetting jobserver mode.
Making clean in po
 rm -f as-new
make[4]: warning: -j8 forced in submake: resetting jobserver mode.
 rm -f nm-new strip-new cxxfilt bfdtest1 bfdtest2 testsuite/gentestdlls
make[4]: warning: -j8 forced in submake: resetting jobserver mode.
rm -f ./so_locations
Doing clean in libctf
 rm -f ld-new
rm -f ./so_locations
rm -f ./so_locations
fatal: ambiguous argument 'origin/iop-v11.3.0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
../scripts/002-gcc-stage1.sh: Failed.
../scripts/002-iop.sh: Failed.
../scripts/001-toolchain.sh: Failed.

Will Not Compile

I get this error:

CMake Error at CMakeLists.txt:402 (set_target_properties):
INTERFACE_LIBRARY targets may only have whitelisted properties. The
property "DEPRECATION" is not allowed.

-- Configuring incomplete, errors occurred!
See also "/home/godreborn/ps2dev/build/ps2sdk-ports/build/SDL_ttf/build/CMakeFiles/CMakeOutput.log".
See also "/home/godreborn/ps2dev/build/ps2sdk-ports/build/SDL_ttf/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:27: cmakelibs] Error 1
../scripts/004-ps2sdk-ports.sh: Failed.

Weird compiler names after build

I've ran the build script, and it finished. But the ee compilers seem to be weirdly named (not ee-g++):

$ ls
mips64r5900el-ps2-elf-addr2line  mips64r5900el-ps2-elf-gcc         mips64r5900el-ps2-elf-gdb            mips64r5900el-ps2-elf-ranlib
mips64r5900el-ps2-elf-ar         mips64r5900el-ps2-elf-gcc-10.2.0  mips64r5900el-ps2-elf-gdb-add-index  mips64r5900el-ps2-elf-readelf
mips64r5900el-ps2-elf-as         mips64r5900el-ps2-elf-gcc-ar      mips64r5900el-ps2-elf-ld             mips64r5900el-ps2-elf-size
mips64r5900el-ps2-elf-c++        mips64r5900el-ps2-elf-gcc-nm      mips64r5900el-ps2-elf-ld.bfd         mips64r5900el-ps2-elf-strings
mips64r5900el-ps2-elf-c++filt    mips64r5900el-ps2-elf-gcc-ranlib  mips64r5900el-ps2-elf-lto-dump       mips64r5900el-ps2-elf-strip
mips64r5900el-ps2-elf-cpp        mips64r5900el-ps2-elf-gcov        mips64r5900el-ps2-elf-nm
mips64r5900el-ps2-elf-elfedit    mips64r5900el-ps2-elf-gcov-dump   mips64r5900el-ps2-elf-objcopy
mips64r5900el-ps2-elf-g++        mips64r5900el-ps2-elf-gcov-tool   mips64r5900el-ps2-elf-objdump

Build failed: looks like execvp is causing the issue?

My build seems to have failed. I have provided the log of the most recent calls below.

configure: WARNING: debuginfod is missing or unusable; some features may be unavailable.
*** This configuration is not supported in the following subdirectories:
     gdbserver gdb gprof sim
    (Any other directories should still work fine.)
mkdir -p -- ./libiberty
mkdir -p -- ./intl
mkdir -p -- ./zlib
mkdir -p -- ./libdecnumber
mkdir -p -- ./etc
mkdir -p -- ./readline
Configuring in ./libiberty
Configuring in ./intl
Configuring in ./zlib
Configuring in ./libdecnumber
Configuring in ./etc
Configuring in ./readline

Beginning configuration for readline-8.0 for x86_64-pc-linux-gnu

configure: WARNING: decimal float is not supported for this target, ignored
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
mkdir -p -- ./binutils
mkdir -p -- ./gas
mkdir -p -- ./ld
Configuring in ./binutils
Configuring in ./gas
Configuring in ./ld
configure: WARNING: debuginfod is missing or unusable; some features may be unavailable.
Making all in readline
mkdir -p -- ./bfd
mkdir -p -- ./opcodes
Configuring in ./bfd
Configuring in ./opcodes
config.status: creating po/POTFILES
config.status: creating po/Makefile
make[2]: execvp: /bin/bash: Invalid argument
make[2]: *** [Makefile:1363: splay-tree.o] Error 127
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:8075: all-libiberty] Error 2
make[1]: *** Waiting for unfinished jobs....
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: creating po/POTFILES
config.status: creating po/Makefile
make: *** [Makefile:853: all] Error 2
../scripts/001-binutils.sh: Failed.
../scripts/002-iop.sh: Failed.
../scripts/001-toolchain.sh: Failed.

My guess is this line make[2]: execvp: /bin/bash: Invalid argument is whats causing the issue but I have no idea how to fix this.

#includeing dirent.h, time.h or stat.h causes compilation failure

Installed from commit dea55dda9ac232650a14e43035b0e60a5503ce14 of this repository (latest master as of posting)

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

Compilation error:

mips64r5900el-ps2-elf-gcc -D_EE -O2 -G0 -Wall  -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I. -I/usr/local/ps2dev/gsKit/include -I/usr/local/ps2dev/ps2sdk/ports/include -I/usr/local/ps2dev/ps2sdk/iop/include -c main.c -o main.o
In file included from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:9,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/dirent.h:11,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/dirent.h:39,
                 from main.c:1:
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:56:1: error: unknown type name 'clock_t'; did you mean '_flock_t'?
   56 | clock_t    clock (void);
      | ^~~~~~~
      | _flock_t
In file included from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/signal.h:6,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:158,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:9,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/dirent.h:11,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/dirent.h:39,
                 from main.c:1:
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/signal.h:176:17: error: expected ')' before 'int'
  176 | int kill (pid_t, int);
      |                 ^~~~
      |                 )
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/signal.h:180:19: error: expected ')' before 'int'
  180 | int killpg (pid_t, int);
      |                   ^~~~
      |                   )
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/signal.h:226:29: error: expected ')' before 'int'
  226 | int pthread_kill (pthread_t, int);
      |                             ^~~~
      |                             )
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/signal.h:237:21: error: expected ')' before 'int'
  237 | int sigqueue (pid_t, int, const union sigval);
      |                     ^~~~
      |                     )
In file included from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:9,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/dirent.h:11,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/dirent.h:39,
                 from main.c:1:
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:166:20: error: unknown type name 'clockid_t'
  166 | int clock_settime (clockid_t clock_id, const struct timespec *tp);
      |                    ^~~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:167:20: error: unknown type name 'clockid_t'
  167 | int clock_gettime (clockid_t clock_id, struct timespec *tp);
      |                    ^~~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:168:19: error: unknown type name 'clockid_t'
  168 | int clock_getres (clockid_t clock_id, struct timespec *res);
      |                   ^~~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:172:19: error: unknown type name 'clockid_t'
  172 | int timer_create (clockid_t clock_id,
      |                   ^~~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:174:2: error: unknown type name 'timer_t'; did you mean 'time_t'?
  174 |  timer_t *__restrict timerid);
      |  ^~~~~~~
      |  time_t
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:178:19: error: unknown type name 'timer_t'; did you mean 'time_t'?
  178 | int timer_delete (timer_t timerid);
      |                   ^~~~~~~
      |                   time_t
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:182:20: error: unknown type name 'timer_t'; did you mean 'time_t'?
  182 | int timer_settime (timer_t timerid, int flags,
      |                    ^~~~~~~
      |                    time_t
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:185:20: error: unknown type name 'timer_t'; did you mean 'time_t'?
  185 | int timer_gettime (timer_t timerid, struct itimerspec *value);
      |                    ^~~~~~~
      |                    time_t
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/time.h:186:23: error: unknown type name 'timer_t'; did you mean 'time_t'?
  186 | int timer_getoverrun (timer_t timerid);
      |                       ^~~~~~~
      |                       time_t
In file included from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/dirent.h:11,
                 from /usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/dirent.h:39,
                 from main.c:1:
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:29:3: error: unknown type name 'dev_t'
   29 |   dev_t  st_dev;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:30:3: error: unknown type name 'ino_t'
   30 |   ino_t  st_ino;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:31:3: error: unknown type name 'mode_t'
   31 |   mode_t st_mode;
      |   ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:32:3: error: unknown type name 'nlink_t'
   32 |   nlink_t st_nlink;
      |   ^~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:33:3: error: unknown type name 'uid_t'
   33 |   uid_t  st_uid;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:34:3: error: unknown type name 'gid_t'
   34 |   gid_t  st_gid;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:35:3: error: unknown type name 'dev_t'
   35 |   dev_t  st_rdev;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:36:3: error: unknown type name 'off_t'
   36 |   off_t  st_size;
      |   ^~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:45:3: error: unknown type name 'blksize_t'
   45 |   blksize_t     st_blksize;
      |   ^~~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:46:3: error: unknown type name 'blkcnt_t'
   46 |   blkcnt_t st_blocks;
      |   ^~~~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:137:32: error: unknown type name 'mode_t'
  137 | int chmod (const char *__path, mode_t __mode );
      |                                ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:138:27: error: unknown type name 'mode_t'
  138 | int     fchmod (int __fd, mode_t __mode);
      |                           ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:140:31: error: unknown type name 'mode_t'
  140 | int mkdir (const char *_path, mode_t __mode );
      |                               ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:141:33: error: unknown type name 'mode_t'
  141 | int mkfifo (const char *__path, mode_t __mode );
      |                                 ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:143:1: error: unknown type name 'mode_t'
  143 | mode_t umask (mode_t __mask );
      | ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:143:15: error: unknown type name 'mode_t'
  143 | mode_t umask (mode_t __mask );
      |               ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:151:34: error: unknown type name 'mode_t'
  151 | int fchmodat (int, const char *, mode_t, int);
      |                                  ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:153:33: error: unknown type name 'mode_t'
  153 | int mkdirat (int, const char *, mode_t);
      |                                 ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:154:34: error: unknown type name 'mode_t'
  154 | int mkfifoat (int, const char *, mode_t);
      |                                  ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:155:33: error: unknown type name 'mode_t'
  155 | int mknodat (int, const char *, mode_t, dev_t);
      |                                 ^~~~~~
/usr/local/ps2dev/ee/mips64r5900el-ps2-elf/sys-include/sys/stat.h:155:41: error: unknown type name 'dev_t'
  155 | int mknodat (int, const char *, mode_t, dev_t);
      |                                         ^~~~~
make: *** [/usr/local/ps2dev/ps2sdk/samples/Makefile.eeglobal:31: main.o] Error 1

Basically all you need is to include the files in order to see this issue, I've attached a simple example project with this problem
example.zip

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.