All of this sounds like a wrong / too old libiosuhax. Try this one:
https://github.com/Crementif/libiosuhax (yea, current situation is a bit messy with all these forks. This will hopefully solve itself over time through).
//EDIT: Also make sure to actually link the libraries / add V=1 to the make command to see the exact linker command used.
Here's one examle of how to link correctly. Note that the ordering of these args is important:
https://github.com/V10lator/NUSspli/blob/master/Makefile#L58-L64
I tried docker with libfat, but I'm not sure where to go from here:
C:\Users\GODREBORN\Desktop\a\libfat>docker image build wiiu
[+] Building 13.2s (11/11) FINISHED
=> [internal] load build definition from Dockerfile 0.4s
=> => transferring dockerfile: 449B 0.0s
=> [internal] load .dockerignore 0.5s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/wiiulegacy/core:0.1 2.1s
=> FROM docker.io/wiiulegacy/libiosuhax:0.3 2.5s
=> => resolve docker.io/wiiulegacy/libiosuhax:0.3 1.9s
=> => sha256:c6eaedb4f55d0cb314e6d9c3f0a8ef12bbd1a10ecace3e132f0ecc4b6f4a68b9 5.80kB / 5.80kB 0.0s
=> => sha256:57b2f9275a413c4dc322ef37a685f4aeb3d013014feac25dae32b40da60d725c 1.80kB / 1.80kB 0.0s
=> => sha256:a55787c537e66fedbbb3c1dce886a148efee0d017bef678c04c1ed7ea5cb892b 53.19kB / 53.19kB 0.9s
=> => sha256:38b17103a934b705694789c3b02d1d877361193da38857481abb11d6b593c080 110.72kB / 110.72kB 1.1s
=> => extracting sha256:38b17103a934b705694789c3b02d1d877361193da38857481abb11d6b593c080 0.0s
=> => extracting sha256:a55787c537e66fedbbb3c1dce886a148efee0d017bef678c04c1ed7ea5cb892b 0.0s
=> [stage-0 1/6] FROM docker.io/wiiulegacy/core:0.1@sha256:97b420db50a57ae085e4546b48bd49d3bf9115a9f7692801d2371 2.2s
=> => resolve docker.io/wiiulegacy/core:0.1@sha256:97b420db50a57ae085e4546b48bd49d3bf9115a9f7692801d237128ba9107 0.0s
=> => sha256:97b420db50a57ae085e4546b48bd49d3bf9115a9f7692801d237128ba9107cd3 1.38kB / 1.38kB 0.0s
=> => sha256:6cd2604e8fc7616ca36212592deda11dce1dacb5527056e8ee3e3e3f52579162 4.42kB / 4.42kB 0.0s
=> [stage-0 2/6] COPY --from=wiiulegacy/libiosuhax:0.3 /artifacts /opt/devkitpro/portlibs 0.5s
=> [stage-0 3/6] RUN git clone
https://github.com/Maschell/libfat && cd libfat && git checkout v1.1.3a 1.9s
=> [stage-0 4/6] WORKDIR libfat 0.3s
=> [stage-0 5/6] RUN make wiiu-release && find /opt/devkitpro/portlibs -maxdepth 3 -type f -delete && make -C 2.9s
=> [stage-0 6/6] WORKDIR /artifacts 0.0s
=> exporting to image 0.1s
=> => exporting layers 0.1s
=> => writing image sha256:5dc91f44b8231151c1ceea35030e5933eaa624b6024d7c39316f09c474f6189d 0.0s
also,
this is the error with libiosuhax:
C:\Users\GODREBORN\Desktop\a>cd libiosuhax
C:\Users\GODREBORN\Desktop\a\libiosuhax>make install
iosuhax.c
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c: In function 'IOSUHAX_FSA_ReadDir':
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c:502:33: error: 'FS_STAT_FILE' undeclared (first use in this function)
502 | out_data->info.flags |= FS_STAT_FILE;
| ^~~~~~~~~~~~
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c:502:33: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c: In function 'IOSUHAX_FSA_StatFile':
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c:731:28: error: 'FS_STAT_FILE' undeclared (first use in this function)
731 | out_data->flags |= FS_STAT_FILE;
| ^~~~~~~~~~~~
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c: In function 'IOSUHAX_FSA_GetStat':
C:/Users/GODREBORN/Desktop/a/libiosuhax/source/iosuhax.c:829:28: error: 'FS_STAT_FILE' undeclared (first use in this function)
829 | out_data->flags |= FS_STAT_FILE;
| ^~~~~~~~~~~~
make[1]: *** [/opt/devkitpro/devkitPPC/base_rules:18: iosuhax.o] Error 1
make: *** [Makefile:123: lib/libiosuhax.a] Error 2