Error compiling (devkitPPC is set correctly)
Home › Forums › Development › Error compiling (devkitPPC is set correctly)
- This topic is empty.
-
AuthorPosts
-
May 21, 2011 at 7:20 pm #23618hello2000Participant
I’m trying to compile WiiMC, I already managed to get past the devkitPPC setup problems (I’m on Linux, that’s why things were difficult), I can compile the code examples that come with devkitpro. The environment variables are set correctly.
I checked out the source code of WiiMC from svn, and now it is at /home/USERNAME/wiimc-read-only. When I change to this folder and execute make, per the instructions, it starts compiling mplayer, then exists with an error on stream.o, then starts compiling WiiMC and complains about ntfs.h not existing when compiling fileop.cpp.
The question of not finding ntfs.h, is comprehensible, as I have downloaded libntfs and libext2fs, but I don’t know where to put them. This is my first problem. The second problem is, shouldn’t mplayer compile until it finishes and not return an error on stream.o?
Here’s the last lines of the output of make (I can provide them all if needed):
...
/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc -MD -MP -O3 -pipe -g -ffast-math -mcpu=750 -meabi -mrvl -msdata -mpaired -mmultiple -mstring -mrecip -std=gnu99 -O3 -pipe -ffast-math -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/opt/devkitpro/portlibs/ppc/include -I/opt/devkitpro/libogc/include -Ilibdvdread4 -Ilibdvdnav -I/opt/devkitpro/portlibs/ppc/include/freetype2 -I/opt/devkitpro/libogc/include/ogc/machine -I/opt/devkitpro/devkitPPC/../buildscripts/powerpc-eabi/gcc/gcc/include -I. -Iffmpeg -mpaired -DGEKKO -mrvl -mcpu=750 -meabi -msdata -mmultiple -mstring -mrecip -c -o stream/stream.o stream/stream.c
stream/stream.c:30:21: fatal error: strings.h: No such file or directory
compilation terminated.
make[1]: ** [stream/stream.o] Erro 1
make[1]: Saindo do diretório `/home/gabriel/wiimc-read-only/source/mplayer'
filebrowser.cpp
fileop.cpp
/home/gabriel/wiimc-read-only/source/fileop.cpp:18:18: fatal error: ntfs.h: No such file or directory
compilation terminated.
make[1]: ** [fileop.o] Erro 1
make: ** [build] Erro 2
myuser@MyComputer:~/wiimc-read-only$I’m using 32-bit Ubuntu 10.10. But, being the problem when compiling WiiMC and as devkitPPC works, I don’t think the problem is much platform related.
Any help is much appreciated, it’s the second time I ask for help (and for the first time, nobody helped me, something understandable, as it was a quite strange situation, which I solved by using a fresh Linux install) and I’d really like to compile WiiMC to improve its user interface and hack other things for my own use.
May 21, 2011 at 10:41 pm #29153cadbuscaParticipantYou need to make install after make to add these to libogc.
May 22, 2011 at 9:53 am #29154hello2000ParticipantSEE THE UPDATE AT THE BOTTOM
Thanks a lot for your help. I did make and make install on both libntfs and libext2fs and now it gets past the errors over the includes not being found. But, either because I’m very stupid or because WiiMC’s compilation process too complex for my brain’s capacity, I still can’t compile it. Now it complains about specific errors in the code:
root@GabrielUbuntuDesktop:/home/gabriel/wiimc-read-only# make
cd source/mplayer; make -f Makefile; cd ../..
make[1]: Entrando no diretório `/home/gabriel/wiimc-read-only/source/mplayer'
/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc -MD -MP -O3 -pipe -g -ffast-math -mcpu=750 -meabi -mrvl -msdata -mpaired -mmultiple -mstring -mrecip -std=gnu99 -O3 -pipe -ffast-math -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/opt/devkitpro/portlibs/ppc/include -I/opt/devkitpro/libogc/include -Ilibdvdread4 -Ilibdvdnav -I/opt/devkitpro/portlibs/ppc/include/freetype2 -I/opt/devkitpro/libogc/include/ogc/machine -I/opt/devkitpro/devkitPPC/../buildscripts/powerpc-eabi/gcc/gcc/include -I. -Iffmpeg -mpaired -DGEKKO -mrvl -mcpu=750 -meabi -msdata -mmultiple -mstring -mrecip -c -o stream/stream.o stream/stream.c
stream/stream.c:30:21: fatal error: strings.h: No such file or directory
compilation terminated.
make[1]: ** [stream/stream.o] Erro 1
make[1]: Saindo do diretório `/home/gabriel/wiimc-read-only/source/mplayer'
fileop.cpp
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'void* devicecallback(void*)':
/home/gabriel/wiimc-read-only/source/fileop.cpp:158:27: error: too many arguments to function 'BOOL ISO9660_Unmount()'
/opt/devkitpro/libogc/include/iso9660.h:13:6: note: declared here
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'void AddPartition(sec_t, int, int, int*)':
/home/gabriel/wiimc-read-only/source/fileop.cpp:494:34: error: too many arguments to function 'BOOL ISO9660_Mount()'
/opt/devkitpro/libogc/include/iso9660.h:12:6: note: declared here
/home/gabriel/wiimc-read-only/source/fileop.cpp:497:47: error: 'ISO9660_GetVolumeLabel' was not declared in this scope
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'int FindPartitions(int)':
/home/gabriel/wiimc-read-only/source/fileop.cpp:553:47: error: 'USBStorage_IsDVD' was not declared in this scope
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'void UnmountPartitions(int)':
/home/gabriel/wiimc-read-only/source/fileop.cpp:793:26: error: too many arguments to function 'BOOL ISO9660_Unmount()'
/opt/devkitpro/libogc/include/iso9660.h:13:6: note: declared here
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'bool MountDVD(bool)':
/home/gabriel/wiimc-read-only/source/fileop.cpp:993:36: error: too many arguments to function 'BOOL ISO9660_Mount()'
/opt/devkitpro/libogc/include/iso9660.h:12:6: note: declared here
/home/gabriel/wiimc-read-only/source/fileop.cpp: In function 'bool WakeupUSB()':
/home/gabriel/wiimc-read-only/source/fileop.cpp:1040:22: error: 'USBStorage_IsDVD' was not declared in this scope
make[1]: ** [fileop.o] Erro 1
make: ** [build] Erro 2
root@GabrielUbuntuDesktop:/home/gabriel/wiimc-read-only#
Or is this a problem with the code in SVN which has indeed errors, and I should try checking out other revision?
Anticipated thanks
GabrielEDIT: I’m managing to get past this and other problems using the instructions found at http://wiitaly.altervista.org/forum/viewtopic.php?f=52&t=133&start=10 : Google Translate helps a lot. I compiled the latest libogc and I’m now fixing the strings.h errors as they appear by putting
#ifndef GEKKO
#include
#endifLet’s hope it compiles and the finished product works well.
EDIT2: Oh well. I knew things couldn’t be so easy. It seems that again something’s wrong. Perhaps, it’s because I put strings.h includes inside ifndefs?
Make now says this:
http://pastebin.com/RSg1AHxUMay 22, 2011 at 4:34 pm #29155cadbuscaParticipantI used this to fix strings. http://www.wiimc.org/forum/viewtopic.php?f=5&t=1167#p5248
I’venot seen your errors before. Perhaps its a Linux thing.
May 22, 2011 at 4:46 pm #29156hello2000ParticipantThanks, I’ll see what I can do.
May 22, 2011 at 5:56 pm #29157rodriesKeymasterThe strings.h error is because devkitppc r22 doesn’t have a strings.h. What I used to do is put #ifndef GEKKO / #endif throughout the code, but now dkppc r23 does include strings.h so I don’t have to go to that work anymore. Unfortunately r23 still isn’t publicly released so you guys are stuck with source code that doesn’t compile without making this modification yourself 🙁
May 22, 2011 at 5:57 pm #29158rodriesKeymaster…And your errors are quite clear. They indicate you’re missing libiconv – you’ll see that’s also on the requirements list. See here: http://www.wiimc.org/compiling-instructions/
May 22, 2011 at 9:26 pm #29159hello2000ParticipantI have libiconv in the appropriate folder (wiimc-read-only/libs/libiconv) and it is compiled and installed (make && make install). Tried to make install again just to see there’s nothing to be done.
When I execute make on wiimc-read-only folder, it still returns the same error.
I’m using the #ifndef trick I discovered on that Italian forum and that Tantric confirmed now. It allows me to compile without errors, until the point I posted on the other pastebin URL I mentioned.
Thanks again for your help so far 🙂
May 23, 2011 at 2:08 am #29160cadbuscaParticipantThe compile process is different for it
cd libiconv/
./configure –host=powerpc-eabi –prefix=”${DEVKITPRO}/portlibs/ppc” –libdir=”${DEVKITPRO}/portlibs/ppc/lib” –disable-shared
make
make installsee http://www.wiimc.org/forum/viewtopic.php?f=5&t=489#p1999
Did you do that?
May 26, 2011 at 5:31 pm #29161hello2000ParticipantI did it now and now it seems the compiled libiconv is incompatible, see below:
etc. etc. etc.
sp/rmff.o stream/realrtsp/sdpplin.o stream/realrtsp/xbuffer.o stream/cache2.o
/opt/devkitpro/devkitPPC/bin/powerpc-eabi-ranlib libmplayerwii.a
make[1]: Saindo do diretório `/home/gabriel/wiimc-read-only/source/mplayer'
menu.cpp
linking ... wiimc.elf
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/4.5.1/../../../../powerpc-eabi/bin/ld: skipping incompatible /opt/devkitpro/portlibs/ppc/lib/libiconv.a when searching for -liconv
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/4.5.1/../../../../powerpc-eabi/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make[1]: ** [/home/gabriel/wiimc-read-only/wiimc.elf] Erro 1
make: ** [build] Erro 2
user@mypc#Hmmm… what should I do now? It seems it’s even worse than before, before it didn’t complain about incompatibilities.
May 26, 2011 at 11:19 pm #29162cadbuscaParticipantWipe out everything and start over following instructions precisely!
May 27, 2011 at 6:59 pm #29163hello2000ParticipantI see. I’m yet to decide if it’s just better to get a ramdisk instead of a hard drive to compile WiiMC, I already had to start over so many times that a volatile system that I could reset to the default by just powering down would be useful! 😀 😀
I’ll get the time to clean the traces of devkitPPC and everything else and then I’ll see what instructions I should follow.
-
AuthorPosts
- You must be logged in to reply to this topic.