Error compiling (devkitPPC is set correctly)

Home Forums Development Error compiling (devkitPPC is set correctly)

  • This topic is empty.
Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #23618
    hello2000
    Participant

    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.

    #29153
    cadbusca
    Participant

    You need to make install after make to add these to libogc.

    #29154
    hello2000
    Participant

    SEE 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
    Gabriel

    EDIT: 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
    #endif

    Let’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/RSg1AHxU

    #29155
    cadbusca
    Participant

    I 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.

    #29156
    hello2000
    Participant

    Thanks, I’ll see what I can do.

    #29157
    rodries
    Keymaster

    The 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 🙁

    #29158
    rodries
    Keymaster

    …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/

    #29159
    hello2000
    Participant

    I 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 🙂

    #29160
    cadbusca
    Participant

    The 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 install

    see http://www.wiimc.org/forum/viewtopic.php?f=5&t=489#p1999

    Did you do that?

    #29161
    hello2000
    Participant

    I 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.

    #29162
    cadbusca
    Participant

    Wipe out everything and start over following instructions precisely!

    #29163
    hello2000
    Participant

    I 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.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.