loadiine_gx2 icon indicating copy to clipboard operation
loadiine_gx2 copied to clipboard

Unable to build

Open ssorgatem opened this issue 5 years ago • 19 comments

I followed the instructions (used provided portlibs and libogc, etc) and everythin seemed to go well until the very end... when linking it failed with this:

linking ... loadiine_gx2.elf /opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: /opt/devkitpro/portlibs/ppc/lib/libvorbisidec.a(info.o): in function tagcompare': info.c:(.text+0x40): undefined reference to __locale_ctype_ptr' /opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: info.c:(.text+0x70): undefined reference to __locale_ctype_ptr' /opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld: info.c:(.text+0x90): undefined reference to __locale_ctype_ptr' collect2: error: ld returned 1 exit status

Any ideas? Google wasn't extremely helpful on this one :/

ssorgatem avatar Mar 25 '19 16:03 ssorgatem

same for me :

linking ... loadiine_gx2.elf
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/devkitpro/portlibs/ppc/lib\libvorbisidec.a(info.o): in function `vorbis_comment_query_count':
info.c:(.text+0xa16): undefined reference to `__ctype_ptr__'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: info.c:(.text+0xa1e): undefined reference to `__ctype_ptr__'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/devkitpro/portlibs/ppc/lib\libvorbisidec.a(info.o): in function `vorbis_comment_query':
info.c:(.text+0xbaa): undefined reference to `__ctype_ptr__'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: info.c:(.text+0xbb2): undefined reference to `__ctype_ptr__'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/home/User/Desktop/testloadiine/testcomp/test4/loadiine_gx2/Makefile:184: /home/User/Desktop/testloadiine/testcomp/test4/loadiine_gx2/loadiine_gx2.elf] Error 1
make: *** [Makefile:152: build] Error 2

xavave avatar Apr 03 '19 01:04 xavave

This project is currently irrelevant and therefore dead. I doubt anyone cares about your issues.

piratesephiroth avatar Apr 03 '19 04:04 piratesephiroth

I found a solution. You need to build with devkitPPC r29. I successfully built it with this one: https://wii.leseratte10.de/devkitPro/devkitPPC/r29-1%20(2017)/

ssorgatem avatar Apr 03 '19 06:04 ssorgatem

This project is currently irrelevant and therefore dead. I doubt anyone cares about your issues.

Why is irrelevant? Is there any other (better?) alternative?

bog-dan-ro avatar Apr 03 '19 07:04 bog-dan-ro

I found a solution. You need to build with devkitPPC r29. I successfully built it with this one: https://wii.leseratte10.de/devkitPro/devkitPPC/r29-1%20(2017)/

I found the same link yesterday but i was less lucky: still some errors:

     linking ... loadiine_gx2.elf
C:/devkitpro/portlibs/ppc/lib\libvorbisidec.a(info.o): In function `vorbis_comment_query_count':
info.c:(.text+0xa16): undefined reference to `__ctype_ptr__'
info.c:(.text+0xa1e): undefined reference to `__ctype_ptr__'
C:/devkitpro/portlibs/ppc/lib\libvorbisidec.a(info.o): In function `vorbis_comment_query':
info.c:(.text+0xbaa): undefined reference to `__ctype_ptr__'
info.c:(.text+0xbb2): undefined reference to `__ctype_ptr__'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/home/User/Desktop/testloadiine/testcomp/test5/loadiine_gx2/Makefile:184: /home/User/Desktop/testloadiine/testcomp/test5/loadiine_gx2/loadiine_gx2.elf] Error 1
make: *** [Makefile:152: build] Error 2

maybe i missed something , i'll try again later

xavave avatar Apr 03 '19 07:04 xavave

I found a solution. You need to build with devkitPPC r29. I successfully built it with this one: https://wii.leseratte10.de/devkitPro/devkitPPC/r29-1%20(2017)/

My idea was to add this code (found in https://github.com/billy-acuna/loadiine_gx2/commit/7226a6516aa457fc9244e852a17c68c17ebe633e in the latest loadiine build to make a new forwarder compatible version based on latest loadiine build : https://github.com/dimok789/loadiine_gx2/releases/tag/Loadiine-nightly-2ae7fe4

adding forwarder in loadiine_gx2\src\entry.cpp:

OSGetTitleID() != 0x0005000013374C44 && // forwarder

 if (OSGetTitleID != 0 &&
        OSGetTitleID() != 0x000500101004A200 && // mii maker eur
        OSGetTitleID() != 0x000500101004A100 && // mii maker usa
        OSGetTitleID() != 0x000500101004A000 && // mii maker jpn
	OSGetTitleID() != 0x0005000013374C44 && // forwarder
        OSGetTitleID() != 0x0005000013374842)   // hbl channel

and also in src\kernel\kernel_functions.c:

|| ((strncasecmp("loadiine_gx2.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_MII_MAKER))

if(GAME_LAUNCHED &&
       (   ((strncasecmp("ffl_app.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_MII_MAKER))
        || ((strncasecmp("homebrew_launcher.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_MII_MAKER))
		|| ((strncasecmp("loadiine_gx2.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_MII_MAKER))
        || ((strncasecmp("cross_f.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_SMASH_BROS))
        || ((strncasecmp("app.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_KARAOKE))
        || ((strncasecmp("Treasure.rpx", xmlKernelInfo->rpx_name, FS_MAX_ENTNAME_SIZE) == 0) && (LOADIINE_MODE == LOADIINE_MODE_ART_ATELIER))))

if you can build it with this new code ,could you share your new loadiine.elf please ? thx

xavave avatar Apr 03 '19 07:04 xavave

I finally could compile the elf file by removing in the MAKEFILE some options for code generation I didn't test the .elf file yet

make file line 68:

from:

CFLAGS	:=  -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
		    -O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
		    -O3 -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Wno-strict-aliasing $(INCLUDE)

to

CFLAGS	:=  -O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
		    
CXXFLAGS :=  -O3 -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Wno-strict-aliasing $(INCLUDE)

C:\loadiine_gx2\loadiine_gx2>make ...... done. ...... done. ...... done. ...... done. ...... done. ...... done. ...... done. ...... done. ...... done. ...... done. make[1]: '/c/loadiine_gx2/loadiine_gx2/loadiine_gx2.elf' is up to date.

xavave avatar Apr 04 '19 02:04 xavave

I tried with devkitppc r29 (not r29 1) https://wii.leseratte10.de/devkitPro/devkitPPC/r29%20(2017)/

Then I reused makefile from latest build for testing: https://github.com/dimok789/loadiine_gx2/blob/Loadiine-nightly-2ae7fe4/Makefile

and I left it untouched:

#---------------------------------------------------------------------------------
# options for code generation  -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \   -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
#---------------------------------------------------------------------------------
CFLAGS	:=  -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
		    -O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
		    -O3 -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Wno-strict-aliasing $(INCLUDE)
ASFLAGS	:= -mregnames
LDFLAGS	:= -nostartfiles -Wl,-Map,$(notdir $@).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r,-wrap,valloc,-wrap,_valloc_r,-wrap,_pvalloc_r,--gc-sections

and the .elf generation worked

linking ... loadiine_gx2.elf (loadiine_gx2.elf : 3407 ko)

xavave avatar Apr 04 '19 08:04 xavave

loadiine_gx2.zip

This project is currently irrelevant and therefore dead. I doubt anyone cares about your issues.

It's not dead : i can now play all wiiu loadiine games copied directly on my fat32 usb SSD with loadiine_gx2 and mocha CFW FAT32 loaded at start with CBHC 1.6 ; my new version of loadiine_gx2 is in attachment (working with loadiine gx2 hbw forwarder) (just replace your sdcard/wiiu/apps/loadiine_gx2/loadiine_gx2.elf with mine) you will need a dual cable for SSD power : https://www.lightinthebox.com/en/p/black-usb-3-0-female-to-dual-usb-male-extra-power-data-y-extension-cable-for-2-5-mobile-hard-disk_p2863534.html

link for loadiine forwarder : https://gbatemp.net/threads/release-loadiine-forwarder-channel.455939/

wiiu mocha loadiine loadiine_usb

xavave avatar Apr 04 '19 09:04 xavave

It's not dead : i can now play all wiiu loadiine games copied directly on my fat32 usb SSD with loadiine_gx2 and mocha CFW FAT32 loaded at start with CBHC 1.6 ; my new version of loadiine_gx2 is in attachment (working with loadiine gx2 hbw forwarder) (just replace your sdcard/wiiu/apps/loadiine_gx2/loadiine_gx2.elf with mine) you will need a dual cable for SSD power : https://www.lightinthebox.com/en/p/black-usb-3-0-female-to-dual-usb-male-extra-power-data-y-extension-cable-for-2-5-mobile-hard-disk_p2863534.html

sorry for the necromancy, but how does loadiine need to be configured to load of the hard drive? it seems logical to modify the GamePath config in sd:/wiiu/apps/loadiine_gx2.cfg, but I'm unable to find any documentation on how to do it, or even that somebody besides @xavave has done it

jokerServer avatar Sep 22 '21 16:09 jokerServer

It's not dead : i can now play all wiiu loadiine games copied directly on my fat32 usb SSD with loadiine_gx2 and mocha CFW FAT32 loaded at start with CBHC 1.6 ; my new version of loadiine_gx2 is in attachment (working with loadiine gx2 hbw forwarder) (just replace your sdcard/wiiu/apps/loadiine_gx2/loadiine_gx2.elf with mine)

you will need a dual cable for SSD power : https://www.lightinthebox.com/en/p/black-usb-3-0-female-to-dual-usb-male-extra-power-data-y-extension-cable-for-2-5-mobile-hard-disk_p2863534.html

sorry for the necromancy, but how does loadiine need to be configured to load of the hard drive? it seems logical to modify the GamePath config in sd:/wiiu/apps/loadiine_gx2.cfg, but I'm unable to find any documentation on how to do it, or even that somebody besides @xavave has done it

Hi It's been a long time indeed. I didn't even remember that I had posted this. Your ssd doesn't load ? Did you use a dual usb cable? It's mandatory. image

xavave avatar Sep 22 '21 16:09 xavave

It's not dead : i can now play all wiiu loadiine games copied directly on my fat32 usb SSD with loadiine_gx2 and mocha CFW FAT32 loaded at start with CBHC 1.6 ; my new version of loadiine_gx2 is in attachment (working with loadiine gx2 hbw forwarder) (just replace your sdcard/wiiu/apps/loadiine_gx2/loadiine_gx2.elf with mine)

you will need a dual cable for SSD power : https://www.lightinthebox.com/en/p/black-usb-3-0-female-to-dual-usb-male-extra-power-data-y-extension-cable-for-2-5-mobile-hard-disk_p2863534.html

sorry for the necromancy, but how does loadiine need to be configured to load of the hard drive? it seems logical to modify the GamePath config in sd:/wiiu/apps/loadiine_gx2.cfg, but I'm unable to find any documentation on how to do it, or even that somebody besides @xavave has done it

Here is the cfg content on my sd card But I'm not sure that loadiine is responsible for ssd loading. It's more about mocha firmware if I well remember ...? Or it's because I used a custom version of loadiine ? (You can find it in attachement above) image

xavave avatar Sep 22 '21 16:09 xavave

Your ssd doesn't load ? Did you use a dual usb cable? It's mandatory.

yup, I'm using dual usb cable, the disk shows up in the normal wiiU menu and I get prompts to format it, so I assume its working

Here is the cfg content on my sd card

thanks, sadly it just says sd:/ was hoping for something like usb1:/ :D

But I'm not sure that loadiine is responsible for ssd loading. It's more about mocha firmware if I well remember ...? Or it's because I used a custom version of loadiine ? (You can find it in attachement above)

I'm using your build at the moment, but havnt looked into mocha yet. I'm using CBHC at the moment

jokerServer avatar Sep 22 '21 21:09 jokerServer

Your ssd doesn't load ? Did you use a dual usb cable? It's mandatory.

yup, I'm using dual usb cable, the disk shows up in the normal wiiU menu and I get prompts to format it, so I assume its working

Here is the cfg content on my sd card

thanks, sadly it just says sd:/ was hoping for something like usb1:/ :D

But I'm not sure that loadiine is responsible for ssd loading. It's more about mocha firmware if I well remember ...? Or it's because I used a custom version of loadiine ? (You can find it in attachement above)

I'm using your build at the moment, but havnt looked into mocha yet. I'm using CBHC at the moment

https://www.cfwaifu.com/wiiu-mocha/

here is also a download link to my full sd card: http://gofile.me/6Nhoj/vPJyperdf

xavave avatar Sep 23 '21 06:09 xavave

https://www.cfwaifu.com/wiiu-mocha/

what mocha setting would help? I've loaded it onto the WiiU and have run Loadiine from Mocha, but as far as I could tell, it still references only the SD card

jokerServer avatar Sep 23 '21 09:09 jokerServer

https://www.cfwaifu.com/wiiu-mocha/

what mocha setting would help? I've loaded it onto the WiiU and have run Loadiine from Mocha, but as far as I could tell, it still references only the SD card

I've updated my answer to include a link a download the content of my whole sd card. Maybe you can try with it?

xavave avatar Sep 23 '21 10:09 xavave

booted succesfully into mocha with your SD card, though homebrew channel displayed nothing, is loadiine maybe also installed on your hard drive?

edit: with booting using cbhc and loading mocha_fshax I could start ftpiiu, and with that I could confirm that I now have access to a level above of what I could before grafik

edit2: default mocha and mocha_fat32 result in the before mentioned completely empty Homebrew Launcher Screen

jokerServer avatar Sep 23 '21 12:09 jokerServer

I got it to work! placing loadiine onto the hard drive gave me access to those and loadiine now references the HDD instead of SD.

With a bit of comparing, it seems like the default mocha.elf seems to be replaced by the mocha_fat32/mocha.elf. So it seems that custom version of mocha plus your custom version of loadiine is needed.

I'm so happy we got this to work! Thanks so much!

jokerServer avatar Sep 23 '21 12:09 jokerServer

I got it to work! placing loadiine onto the hard drive gave me access to those and loadiine now references the HDD instead of SD.

With a bit of comparing, it seems like the default mocha.elf seems to be replaced by the mocha_fat32/mocha.elf. So it seems that custom version of mocha plus your custom version of loadiine is needed.

I'm so happy we got this to work! Thanks so much!

You're welcome :)

xavave avatar Sep 23 '21 12:09 xavave