Snoozer said:changing line 57 of the makefile to
wipes out the compiling errors.Code:SVNREVÂÂÂÂÂÂÂÂ:=ÂÂÂÂ$(shell ./svnrev.sh)
Yes! Thank you!!!
Snoozer said:changing line 57 of the makefile to
wipes out the compiling errors.Code:SVNREVÂÂÂÂÂÂÂÂ:=ÂÂÂÂ$(shell ./svnrev.sh)
I'm trying to make the readmii as complete as it can be.emupaul said:thank you for adding it i didnt know about that.
Snoozer said:changing line 57 of the makefile to
wipes out the compiling errors.Code:SVNREVÂÂÂÂÂÂÂÂ:=ÂÂÂÂ$(shell ./svnrev.sh)
nicholasblock said:Anyone know why I get this error every time I try to compile?
/opt/devkitpro/libogc/lib/wii/libogc.a(ipc.o): In function `__ios_ioctlvformat_parse':
ipc.c:(.text.__ios_ioctlvformat_parse+0x174): undefined reference to `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld: /opt/devkitpro/libogc/lib/wii/libogc.a(ipc.o)(.text.__ios_ioctlvformat_parse+0x174): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
ipc.c:(.text.__ios_ioctlvformat_parse+0x4e8): undefined reference to `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld: /opt/devkitpro/libogc/lib/wii/libogc.a(ipc.o)(.text.__ios_ioctlvformat_parse+0x4e8): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
/opt/devkitpro/devkitPPC/lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [/Users/sayret/Documents/Code/usbloader-gx/boot.elf] Error 1
make: *** [build] Error 2
comfaithgenesisraven said:Im trying to compile libogc on windows vista but im getting this error :
with msys or cmd i got to the directory then i done make
C:\libogc>make
make[1]: Entering directory `/c/libogc/wii'
make[1]: *** No rule to make target `console.o', needed by `/wii/libogc.a'. Sto
p.
make[1]: Leaving directory `/c/libogc/wii'
make: *** [wii] Error 2
C:\libogc>
Yeah i have devkitpro installed. i dont know why im getting this errorWiiPower said:comfaithgenesisraven said:Im trying to compile libogc on windows vista but im getting this error :
with msys or cmd i got to the directory then i done make
C:\libogc>make
make[1]: Entering directory `/c/libogc/wii'
make[1]: *** No rule to make target `console.o', needed by `/wii/libogc.a'. Sto
p.
make[1]: Leaving directory `/c/libogc/wii'
make: *** [wii] Error 2
C:\libogc>
Do you have DevKitPro installed? And if you _just_ did, do a reboot.
export LIBOGC_INC := $(DEVKITPRO)/usbgx/libogc/include
export LIBOGC_LIB := $(DEVKITPRO)/usbgx/libogc/lib/wii
export PORTLIBS := $(DEVKITPRO)/usbgx/portlibs/ppc
SET DEVKITPPC=/c/devkitPro/usbgx/devkitPPC_r29-1
clean
make
it works fine with msys2? I didn't try yet.
I'm still using an old installation of devkitpro installer, with old libraries, so I didn't know you could install current tools and mix them with old libraries.
for the missing .a libraries, you need to compile them (they are in /branches/libs/) and type "make install", or copy the .h and .a into libogc. on next revisions I will include the .h and .a directly into the loader's sources so you don't need to compile and merge into libogc manually.
What is this classic.h modification used for? I might have miss it in this thread. is it something needed to fix third parties classic controllers? it's included in newer libwiiuse?
I don't have third party controllers to test.
thank you for sharing and sorry to still haven't updated the sources to compile on newest toolchains. but it seems msys2 is working so it's good to know.
Additional information you might find useful:
If you want to keep compiling different projects using different libraries, portlibs and libogc versions, you could do it like this :
keep your official and latest devkitppc, and other folder's names as "devkitppc" "libogc" and "portlibs".
Create a new folder in your devkitpro folder, for example "usbgx" for USBLoaderGX.
inside, copy the devkitppc, portlib and libogc folder you want to use.
usbgx/devkitppc_r29-1/
usbgx/libogc/
usbgx/portlibs/
in that ppc folder, edit :
- the wii_rules file, you'll find libogc path in it, edit the 2 "export" lines to point to /usbgx/ subfolder
- the base_rules file, you'll find the portlib path in it, edit the "export PORTLIBS :" to point to /usbgx/ subfolderCode:export LIBOGC_INC := $(DEVKITPRO)/usbgx/libogc/include export LIBOGC_LIB := $(DEVKITPRO)/usbgx/libogc/lib/wii
Code:export PORTLIBS := $(DEVKITPRO)/usbgx/portlibs/ppc
Now you have a "sandboxed" devkitppc folder for one specific homebrew with its own libraries, not conflicting with default and latest version of the toolchain for other homebrew.
Before compiling, set the environment variable of the devkitppc you want to use, in msys or windows command line tool (it'll set it temporarily for this command line window only)
Note: I'm using windows command line tool, I never launched msys manually, so I don't know if the "set" command works in msys. if not, just make a .bat file with this inside:
Code:SET DEVKITPPC=/c/devkitPro/usbgx/devkitPPC_r29-1 clean make
if (data[offset] == 0xFF) {
if (data[offset + 16] == 0xFF) {
/* get the calibration data again - removed as mentioned in gbatemp.net/threads/latest-emulator-and-libogc-with-3rd-party-classic-controller.217245/page-35#post-4989135
WIIUSE_DEBUG("Classic controller handshake appears invalid, trying again.");
wiiuse_read_data(wm, data, WM_EXP_MEM_CALIBR, EXP_HANDSHAKE_LEN, wiiuse_handshake_expansion);
*/
} else
offset += 16;
}