Homebrew [DEV] probleme for compiling IOS 232 installer

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
Hello,

I want to compil my own version of IOS 236 Installer translated in french.

But i got this error:

Code:
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/4.5.1/../../../../powerpc-eabi/bin/ld.exe: cannot open linker script file ../rvl.ld: No such file or directory
collect2: ld returned 1 exit status

The file rvl.ld is already in devkitPPC/powerpc-eabi/lib/

Here is my makefile:
#---------------------------------------------------------------------------------
# Clear the implicit built in rules
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC")
endif

include $(DEVKITPPC)/wii_rules

#---------------------------------------------------------------------------------
# TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files
#---------------------------------------------------------------------------------
TARGET := boot
BUILD := build
SOURCES := source
DATA := data
INCLUDES := include

#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------

CFLAGS = -g -O2 -mrvl -Wall $(MACHDEP) $(INCLUDE)
ASFLAGS = $(MACHDEP) $(INCLUDE) -D_LANGUAGE_ASSEMBLY
CXXFLAGS = $(CFLAGS)

LDFLAGS = -g $(MACHDEP) -mrvl -Wl,-Map,$(notdir $@).map -T../rvl.ld

#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lfat -lwiiuse -lbte -lmad -lm -lmodplay -logc


#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS :=

#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------

export OUTPUT := $(CURDIR)/$(TARGET)

export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir))

export DEPSDIR := $(CURDIR)/$(BUILD)

#---------------------------------------------------------------------------------
# automatically build a list of object files for our project
#---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))

#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),)
export LD := $(CC)
else
export LD := $(CXX)
endif

export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o)

#---------------------------------------------------------------------------------
# build a list of include paths
#---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC)

#---------------------------------------------------------------------------------
# build a list of library paths
#---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB)

export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean all

all: $(BUILD)

#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile

#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol

#---------------------------------------------------------------------------------
run:
wiiupload $(TARGET).dol


#---------------------------------------------------------------------------------
else

DEPENDS := $(OFILES:.o=.d)

#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES)

#---------------------------------------------------------------------------------
# This rule links in binary data
#---------------------------------------------------------------------------------
%.sys.o : %.sys
@echo $(notdir $
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
OK I solve my problèm ! I just copy rvl.ld in the root of my folder which contain the makefile !

But I've got another problèm:

Code:
console.o: In function `RGB8x2_TO_YCbYCr':
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: undefined reference to `PNGU_RGB8_TO_YCbYCr'
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: undefined reference to `PNGU_RGB8_TO_YCbYCr'
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: undefined reference to `PNGU_RGB8_TO_YCbYCr'
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: undefined reference to `PNGU_RGB8_TO_YCbYCr'
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: undefined reference to `PNGU_RGB8_TO_YCbYCr'
console.o:c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: more undefined references to `PNGU_RGB8_TO_YCbYCr' follow
iospatch.o: In function `disable_memory_protection':
c:/homebrew/IOS-236-INSTALLER-FR/source/iospatch.c:15: undefined reference to `read32'
c:/homebrew/IOS-236-INSTALLER-FR/source/iospatch.c:15: undefined reference to `write32'
 

giantpune

Well-Known Member
Member
Joined
Apr 10, 2009
Messages
2,860
Trophies
0
XP
213
Country
United States
just look at the errors.
undefined reference to `PNGU...'
that probably means you need the pngu library. get it, install it.
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
Thanks for answers!

the lib PNGU is already in the source folders !!!

the error of th makefile is linked to this line in console.c:
Code:
ÂÂÂÂreturn PNGU_RGB8_TO_YCbYCr(c1[0], c1[1], c1[2], c2[0], c2[1], c2[2]);

This error is linked with this line in pngu.h:

Code:
// Function to convert two RGB8 values to YCbYCr
PNGU_u32 PNGU_RGB8_TO_YCbYCr (PNGU_u8 r1, PNGU_u8 g1, PNGU_u8 b1, PNGU_u8 r2, PNGU_u8 g2, PNGU_u8 b2);

I have tried to writte this:
Code:
// Function to convert two RGB8 values to YCbYCr
void PNGU_u32 PNGU_RGB8_TO_YCbYCr (PNGU_u8 r1, PNGU_u8 g1, PNGU_u8 b1, PNGU_u8 r2, PNGU_u8 g2, PNGU_u8 b2);

But i have got an error.

I will try to writte this in console.c:
Code:
return PNGU_u32 PNGU_RGB8_TO_YCbYCr(c1[0], c1[1], c1[2], c2[0], c2[1], c2[2]);

EDIT: I have got this error:
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: error: expected expression before 'PNGU_u32'

LOL...
 

Jacobeian

Well-Known Member
Member
Joined
May 15, 2008
Messages
1,893
Trophies
0
XP
387
Country
Cuba
I just told you, you add -lpng in the LIBRARY FLAGS.. in the makefile I mean, see the LDFLAGS ? that's it.

I don't want to sound mean but if you are going to modify some existing program and (probably) release it to others, you should at least have basic understanding about coding and compilation, especially with something like an IOS installer which can potentially brick your Wii if modified incorrectly.

You shouldn't even had to copy the rvl.ld file, I don't know what you have been doing but it seems you didn't installed devkitPPC correctly.
 

WiiUBricker

News Police
Banned
Joined
Sep 19, 2009
Messages
7,827
Trophies
0
Location
Espresso
XP
7,485
Country
Argentina
Jacobeian said:
especially with something like an IOS installer which can potentially brick your Wii if modified incorrectly.
Lol, no
z7iod9xf.gif
 

Jacobeian

Well-Known Member
Member
Joined
May 15, 2008
Messages
1,893
Trophies
0
XP
387
Country
Cuba
I said "potentially", don't be nitpicking to show how smart you are. As soon as you are modifying the NAND, you can potentially brick your Wii if you do something wrong, like for example corrupting system menu IOS.
 

WiiUBricker

News Police
Banned
Joined
Sep 19, 2009
Messages
7,827
Trophies
0
Location
Espresso
XP
7,485
Country
Argentina
Again no. You even can delete a bunch of IOS and your Wii will still work. I really doubt, that a person with zero or litte coding and compiling knowledge can incidently modify the IOS236 Installer in that way, that it can harm the system menu IOS or any essential file.

IOS installers are damn safe
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
I just translate this homebrew, I'm brick-protected by bootmii-boot2 and priiloader!

I compile correctly others homebrews. Only this one give me problems !

I will modify my makefile. I haven't base in dev, but i want to learn.

Thanks all !
 

WiiUBricker

News Police
Banned
Joined
Sep 19, 2009
Messages
7,827
Trophies
0
Location
Espresso
XP
7,485
Country
Argentina
RiderFx3 said:
I just translate this homebrew, I'm brick-protected by bootmii-boot2 and priiloader!

I compile correctly others homebrews. Only this one give me problems !

I will modify my makefile. I haven't base in dev, but i want to learn.

Thanks all !
If you provide me your translation (eng --> french) I can try to compile it for you.
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
Thanks but i Want to do ti myself
wink.gif


I am going to add accents (like: é) and ajust the text to the console width.

Thanks !
biggrin.gif


EDIT: I modifyed my makefile:
Code:
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBSÂÂÂÂ:=ÂÂÂÂ -libpng -lfat -lwiiuse -lbte -lmad -lm -lmodplay -logc

It's Okay but,

I have ONLY got this error now:
Code:
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c: In function 'RGB8x2_TO_YCbYCr':
c:/homebrew/IOS-236-INSTALLER-FR/source/console.c:105: error: expected expression before 'PNGU_u32'

On this line, in console.c:
Code:
return PNGU_u32 PNGU_RGB8_TO_YCbYCr(c1[0], c1[1], c1[2], c2[0], c2[1], c2[2]);

An Idea ?
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
I've got the same error with this part of makefile:
Code:
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBSÂÂÂÂ:=ÂÂÂÂ -lpng -lfat -lwiiuse -lbte -lmad -lm -lmodplay -logc

and

Code:
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBSÂÂÂÂ:=ÂÂÂÂ -lpngu -lfat -lwiiuse -lbte -lmad -lm -lmodplay -logc
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
OK the last makefile works fine, and I fix console.c:
Code:
return PNGU_RGB8_TO_YCbYCr(c1[0], c1[1], c1[2], c2[0], c2[1], c2[2]);

it's ok But I've got 2 other errors:
Code:
iospatch.o: In function `disable_memory_protection':
c:/homebrew/IOS-236-INSTALLER-FR/source/iospatch.c:15: undefined reference to `read32'
c:/homebrew/IOS-236-INSTALLER-FR/source/iospatch.c:15: undefined reference to `write32'

The correspondant line is in iospatch.c:
Code:
static void disable_memory_protection() {
ÂÂÂÂwrite32(MEM_PROT, read32(MEM_PROT) & 0x0000FFFF);
}
 

Jacobeian

Well-Known Member
Member
Joined
May 15, 2008
Messages
1,893
Trophies
0
XP
387
Country
Cuba
Undefined references means the function is not defined anywhere, it means the source code you are compiling is not complete and is missing some lib or .c .h files. Read32 and write32 functions could be anything, but you better fine where they are defined.

Edit: see the atd compiling thread below (what's up with french people suddently wanting to translate and recompile apps lol), these functions are apparently defined in libogc, you are probably missing some #include
 

RiderFx3

Well-Known Member
OP
Newcomer
Joined
Mar 8, 2009
Messages
59
Trophies
0
XP
155
Country
France
QUOTE said:
what's up with french people suddently wanting to translate and recompile apps lol
Imagine you are américan, and the best hackers are dutch, and dev in dutch. If you're not speaking dutch, you would like to translate your favorite apps so that it is more pleasant
wink.gif


thanks a lot for your helping.

I fix all my problem by reinstalling DevKitPro, and last libogc.
biggrin.gif
(Noobzor inside)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • S @ salazarcosplay:
    @K3Nv2 what was your ps4 situation
  • S @ salazarcosplay:
    did you always have a ps4 you never updated
  • S @ salazarcosplay:
    or were you able to get new ps4 tracking it \
    as soon as the hack was announced
  • S @ salazarcosplay:
    or did you have to find a used one with the lower firm ware that was not updated
  • K3Nv2 @ K3Nv2:
    I got this ps4 at launch and never updated since 9.0
  • K3Nv2 @ K3Nv2:
    You got a good chance of buying a used one and asking the seller how often they used or even ask for a Pic of fw and telling them not to update
  • RedColoredStars @ RedColoredStars:
    Speaking of PLaystation. I see Evilnat put out a beta for PS3 CFW 4.91.2 on the 22nd.
  • K3Nv2 @ K3Nv2:
    Don't really see the point in updating it tbh
  • BigOnYa @ BigOnYa:
    Yea you right, I thought about updating my PS3 CFW to 4.91, but why really, everything plays fine now. I guess for people that have already updated past 4.9 it would be helpful.
  • K3Nv2 @ K3Nv2:
    Idk if online servers are still active that would be my only thought
    +1
  • BigOnYa @ BigOnYa:
    Thats true, personally I don't play it online at all, in fact, I deleted all wifi details on it once I installed CFW, so it won't connect and auto-update itself
  • BigOnYa @ BigOnYa:
    I play most games that are on both PS3/360 strickly on the 360, but PS3 exclusives are really only games I play on the PS3 (You know me, I'm more of a Xbox junkie)
  • K3Nv2 @ K3Nv2:
    Ps3 really has no titles worth going online
  • BigOnYa @ BigOnYa:
    what is nps?
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, what about GTA v onl... O Yea the PS3 versión got discontinued
  • K3Nv2 @ K3Nv2:
    I feel like the world's cheapest pc build can play gtaV
  • K3Nv2 @ K3Nv2:
    In modern standards
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, then why mine can't?
  • BigOnYa @ BigOnYa:
    @K3Nv2 What is nps you mentioned?
  • K3Nv2 @ K3Nv2:
    Because your pc has a hamster innit
    +3
  • BakerMan @ BakerMan:
    R.I.P. LittleBigPlanet PS3 servers
  • BakerMan @ BakerMan:
    LBP2 still the goat tho
  • K3Nv2 @ K3Nv2:
    That can be played on ps5 iirc
  • BigOnYa @ BigOnYa:
    I'm surprised any PS3 servers are still up, tbh
  • K3Nv2 @ K3Nv2:
    Alot of manufactures do care about older consoles they just want to whine about piracy
    +1
    K3Nv2 @ K3Nv2: Alot of manufactures do care about older consoles they just want to whine about piracy +1