Homebrew Citro3D and the new updates

MadClaw

Well-Known Member
OP
Member
Joined
Oct 30, 2008
Messages
330
Trophies
1
Age
28
Location
Usa
XP
375
Country
United States
I'm working on a project with Citro3D and I'm having trouble compiling when I run into tex3ds from the recent library updates.

Specifically the first error to show up is:

Code:
source/citro3d/include/tex3ds.h:79:92: error: unknown type name 'decompressCallback'; did you mean 'ndspAuxCallback'?

This should be easy to fix, missing dependency?

Any ideas welcome

arm-none-eabi-gcc -MMD -MP -MF /c/Nintendo3DS/source/citro3d/release/tex3ds.d -g -Wall -Werror -mword-relocations -ffunction-sections -fdata-sections -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -DNDEBUG=1 -O2 -fomit-frame-pointer -I/c/Nintendo3DS/source/citro3d/include -I/C/Nintendo3DS/programs/devkitPro/libctru/include -I. -DARM11 -D_3DS -DCITRO3D_BUILD -c /c/Nintendo3DS/source/citro3d/source/tex3ds.c -o tex3ds.o
In file included from C:/Nintendo3DS/source/citro3d/source/tex3ds.c:26:0:
C:/Nintendo3DS/source/citro3d/include/tex3ds.h:79:92: error: unknown type name 'decompressCallback'; did you mean 'ndspAuxCallback'?
Tex3DS_Texture Tex3DS_TextureImportCallback(C3D_Tex* tex, C3D_TexCube* texcube, bool vram, decompressCallback callback, void* userdata);
^~~~~~~~~~~~~~~~~~
ndspAuxCallback
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:60:37: error: unknown type name 'decompressCallback'; did you mean 'ndspAuxCallback'?
static inline bool Tex3DSi_ReadData(decompressCallback callback, void** userdata, void* buffer, size_t size, size_t* insize)
^~~~~~~~~~~~~~~~~~
ndspAuxCallback
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:74:69: error: unknown type name 'decompressCallback'; did you mean 'ndspAuxCallback'?
Tex3DSi_ImportCommon(C3D_Tex* tex, C3D_TexCube* texcube, bool vram, decompressCallback callback, void* userdata, size_t insize)
^~~~~~~~~~~~~~~~~~
ndspAuxCallback
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: In function 'Tex3DS_TextureImport':
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:203:9: error: implicit declaration of function 'Tex3DSi_ImportCommon' [-Werror=implicit-function-declaration]
return Tex3DSi_ImportCommon(tex, texcube, vram, NULL, (void*)input, insize);
^~~~~~~~~~~~~~~~~~~~
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:203:9: error: return makes pointer from integer without a cast [-Werror=int-conversion]
return Tex3DSi_ImportCommon(tex, texcube, vram, NULL, (void*)input, insize);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: At top level:
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:207:77: error: unknown type name 'decompressCallback'; did you mean 'ndspAuxCallback'?
Tex3DS_TextureImportCallback(C3D_Tex* tex, C3D_TexCube* texcube, bool vram, decompressCallback callback, void* userdata)
^~~~~~~~~~~~~~~~~~
ndspAuxCallback
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: In function 'Tex3DS_TextureImportFD':
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:215:50: error: 'decompressCallback_FD' undeclared (first use in this function)
return Tex3DSi_ImportCommon(tex, texcube, vram, decompressCallback_FD, &fd, 0);
^~~~~~~~~~~~~~~~~~~~~
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:215:50: note: each undeclared identifier is reported only once for each function it appears in
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: In function 'Tex3DS_TextureImportStdio':
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:221:50: error: 'decompressCallback_Stdio' undeclared (first use in this function)
return Tex3DSi_ImportCommon(tex, texcube, vram, decompressCallback_Stdio, fp, 0);
^~~~~~~~~~~~~~~~~~~~~~~~
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: In function 'Tex3DS_TextureImportFD':
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:216:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
C:/Nintendo3DS/source/citro3d/source/tex3ds.c: In function 'Tex3DS_TextureImportStdio':
C:/Nintendo3DS/source/citro3d/source/tex3ds.c:222:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1.exe: all warnings being treated as errors
make[1]: *** [/C/Nintendo3DS/programs/devkitPro/devkitArm/base_rules:85: tex3ds.o] Error 1
make: *** [Makefile:116: lib/libcitro3d.a] Error 2
 
Last edited by MadClaw,

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,033
Trophies
1
XP
2,602
Country
United States
It is not obvious from your post that you are trying to build citro3d rather than your own project. This appears to be an issue with the master branch on the citro3d repository. Either use the version of citro3d that comes with the devkitpro installer or create an issue on the citro3d repository about the build process. It looks like an include is missing in tex3ds.h to pull in the decompressCallback definition from ctrulib when building citro3d. I am not sure that the master branch is guaranteed to be build able so you may be on your own trying to build from source.
 
  • Like
Reactions: TurdPooCharger

MadClaw

Well-Known Member
OP
Member
Joined
Oct 30, 2008
Messages
330
Trophies
1
Age
28
Location
Usa
XP
375
Country
United States
Ah, I wasn't sure. I noticed the examples were updated to run under the new changes and I assumed it was ready. Thanks for the reply!
 
General chit-chat
Help Users
    Steve11815 @ Steve11815: Hai