View unanswered posts | View active topics It is currently Fri Nov 16, 2018 12:30 am



Reply to topic  [ 4 posts ] 
 Can't compile Gecko OS on latest dkP 
Author Message
User avatar

Joined: Wed Sep 12, 2018 2:44 pm
Posts: 2
I'm trying to compile Gecko OS (source on the right below Download) using the latest devkitPro installation but when i run make in \Gecko_src next to the Makefile file, i get this console output:

Code:
D:\Git\geckoos_source\Gecko_src>make
gfx.c
D:/Git/geckoos_source/Gecko_src/source/gfx.c: In function 'gfx_draw_image':
D:/Git/geckoos_source/Gecko_src/source/gfx.c:126:2: error: unknown type name 'Vector'; did you mean 'vector'?
  Vector axis =(Vector) {0 , 0, 1 };
  ^~~~~~
  vector
D:/Git/geckoos_source/Gecko_src/source/gfx.c:126:16: error: 'Vector' undeclared (first use in this function); did you mean 'vector'?
  Vector axis =(Vector) {0 , 0, 1 };
                ^~~~~~
                vector
D:/Git/geckoos_source/Gecko_src/source/gfx.c:126:16: note: each undeclared identifier is reported only once for each function it appears in
D:/Git/geckoos_source/Gecko_src/source/gfx.c:126:24: error: expected ',' or ';' before '{' token
  Vector axis =(Vector) {0 , 0, 1 };
                        ^
In file included from C:/devkitPro/libogc/include/gccore.h:51,
                 from D:/Git/geckoos_source/Gecko_src/source/gfx.c:7:
D:/Git/geckoos_source/Gecko_src/source/gfx.c:127:23: warning: passing argument 2 of 'ps_guMtxRotAxisRad' from incompatible pointer type [-Wincompatible-pointer-types]
  guMtxRotAxisDeg (m2, &axis, degrees);
                       ^~~~~
C:/devkitPro/libogc/include/ogc/gu.h:493:57: note: in definition of macro 'guMtxRotAxisDeg'
 #define guMtxRotAxisDeg(mt,axis,deg) guMtxRotAxisRad(mt,axis,DegToRad(deg))
                                                         ^~~~
C:/devkitPro/libogc/include/ogc/gu.h:416:60: note: expected 'guVector *' {aka 'struct _vecf *'} but argument is of type 'int *'
 void ps_guMtxRotAxisRad(register Mtx mt,register guVector *axis,register f32 tmp0);
                                         ~~~~~~~~~~~~~~~~~~~^~~~
D:/Git/geckoos_source/Gecko_src/source/gfx.c: In function 'gfx_drawtile':
D:/Git/geckoos_source/Gecko_src/source/gfx.c:179:2: error: unknown type name 'Vector'; did you mean 'vector'?
  Vector axis =(Vector) {0 , 0, 1 };
  ^~~~~~
  vector
D:/Git/geckoos_source/Gecko_src/source/gfx.c:179:16: error: 'Vector' undeclared (first use in this function); did you mean 'vector'?
  Vector axis =(Vector) {0 , 0, 1 };
                ^~~~~~
                vector
D:/Git/geckoos_source/Gecko_src/source/gfx.c:179:24: error: expected ',' or ';' before '{' token
  Vector axis =(Vector) {0 , 0, 1 };
                        ^
In file included from C:/devkitPro/libogc/include/gccore.h:51,
                 from D:/Git/geckoos_source/Gecko_src/source/gfx.c:7:
D:/Git/geckoos_source/Gecko_src/source/gfx.c:180:23: warning: passing argument 2 of 'ps_guMtxRotAxisRad' from incompatible pointer type [-Wincompatible-pointer-types]
  guMtxRotAxisDeg (m2, &axis, degrees);
                       ^~~~~
C:/devkitPro/libogc/include/ogc/gu.h:493:57: note: in definition of macro 'guMtxRotAxisDeg'
 #define guMtxRotAxisDeg(mt,axis,deg) guMtxRotAxisRad(mt,axis,DegToRad(deg))
                                                         ^~~~
C:/devkitPro/libogc/include/ogc/gu.h:416:60: note: expected 'guVector *' {aka 'struct _vecf *'} but argument is of type 'int *'
 void ps_guMtxRotAxisRad(register Mtx mt,register guVector *axis,register f32 tmp0);
                                         ~~~~~~~~~~~~~~~~~~~^~~~
make[1]: *** [/opt/devkitpro/devkitPPC/base_rules:18: gfx.o] Error 1
make: *** [Makefile:100: build] Error 2


Note that i used normal cmd for running the command but that shouldn't affect anything, right?

I tried to fix some things in the code (i started replacing "Vector" with "guVector" in the gfx.c) but then new errors show up. I guess it doesn't show all the errors since it already stops at this file.
Note that i didn't make any changes to the code (yet), first i want to be able to compile it as it is.

Any help is appretiated =) I will reply to any more questions or request for information as fast as possible!
Regards, waffeln


Wed Sep 12, 2018 3:07 pm
Profile

Joined: Tue Sep 22, 2009 5:37 pm
Posts: 8
So, ive gotten it to compile
you'll need to install ppc-libpng & ppc-zlib via https://devkitpro.org/wiki/devkitPro_pacman

does it work? probably not.
what you'd need to do next is look at all the warnings youre going to get
many of them are leftovers from very old code and variables being a different type (like in file.c/sd.c still using DIR_ITER from diropen)
also look through the file.c at the code looping through the directory, that is broken for sure

compare menu_scandir() to something (less broken but still ugly as shit) like
https://github.com/DacoTaco/priiloader/ ... .cpp#L2028

enjoy, and if you have issues dont hesitate to poke me or anyone :')

http://upload.dacotaco.com/geckoos_source.zip


PS : you probably didn't see it on irc, so im posting it here as well
(9:16:52 PM) DacoTaco: http://upload.dacotaco.com/wiird.zip
(9:36:09 PM) DacoTaco: waffeln: wiird calls them wgc, but the files look the same

and i just notice it also accepts GCT. the thing with wiird is though, its meant as a PC tool connected to a wii/gcn through a usbgecko. not inapp like geckoOS


Fri Sep 14, 2018 9:01 pm
Profile
User avatar

Joined: Wed Sep 12, 2018 2:44 pm
Posts: 2
WinterMute edited the code a bit more and now i'm able to compile it,
but there's still some broken stuff that makes it crash upon choosing "Launch Game" in latest Dolphin versions (where the original Gecko OS works).
The menu - surprisingly - seems fully functional!

I hosted the code you posted with WinterMute's edit (as the latest two commits) here: https://gitlab.com/waffeln/gecko-os

WinterMute said some more things about the code and what needs some touch-ups and what's broken but unfortunately i can't see the IRC history.

What can i do now? Are there resources for me to learn how to fix this project with the functions from libogc etc.?


Sun Sep 16, 2018 11:01 am
Profile
Site Admin

Joined: Tue Aug 09, 2005 3:21 am
Posts: 1300
Location: UK
The point of the fork I did on gitlab was to PR changes back again but you kind of jumped the gun and I think you applied my earlier changes manually.

I fixed up the directory reading code & some warnings at https://gitlab.com/WinterMute/gecko-os but now I can't PR that back because of the conflicts. It would probably be best if you reverted the tree back to the point before I added some commits @ 775fdaaa then we can merge it in & see what's left to do.

I'm thinking that sdio_Shutdown/sdio_Deinitialize code should probably be handled in libfat with the fatUnmount somewhere.

_________________
Help keep devkitPro toolchains free, Donate today

devkitPro IRC support
Personal Blog


Wed Nov 14, 2018 1:09 am
Profile ICQ WWW
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
  Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.
Get devkitPro at SourceForge.net. Fast, secure and Free Open Source software downloads