How can i build WAD Manager?

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,186
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,835
Country
Ecuador
Well then, lets hope he can help us
Post automatically merged:


Update: i put the missing "powerpc-eabi-gcc" and now is doing this:
View attachment 343466
I searched on google and it says it this error is given when i have a compiler that does not match the original compiler version and i need to edit the "project properties"
What should i do?
Post automatically merged:


Another update:
Now it gives me this error:
"powerpc-eabi-gcc.exe: error: unrecognized command line option '-mrvl'"
I really am at a loss, everything changes if i do nothing
what version of devkitPPC are you using?
 

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,186
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,835
Country
Ecuador
Im using the latest version from the devkitPro wiki, should i use an older one?
WAD Manager is a very old tool, and no one has the intention of fixing through all the code for support newest devkitPPC/libOGC versions, so you MUST use older versions to compile it.

Maybe try using devkitPPC r23-r26 and libOGC 1.8.15-1 or older?
 

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
WAD Manager is a very old tool, and no one has the intention of fixing through all the code for support newest devkitPPC/libOGC versions, so you MUST use older versions to compile it.

Maybe try using devkitPPC r23-r26 and libOGC 1.8.15-1 or older?
Hello there, i downloaded devkitPPC r24 nd libOGC 1.8.15-1, i tried to build it with theese but im stuck in this right now:
1671551765679.png

I tried debugging with "make -d" and it says that it searches for libraries in "\devkitPPC/libogc/lib/wii", at least i think, even when i put libogc there it still doesn't work. Here is the "make -d" log: https://controlc.com/53de9567
Its really long but the part where it gives me this error is at the end of the log. Added it if there is something else that stops it too. Thanks for the help so far
 

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,013
Trophies
2
XP
3,130
Country
France
- Download devkitPPC r19 : http://wii.leseratte10.de/devkitPro/devkitPPC/r19 (2009)/
- Download the libs from WiiXplorer : https://master.dl.sourceforge.net/project/wiixplorer/libogc-devkitR19_18-02-2010.zip?viasf=1
- Modify Makefile like this:

Code:
#---------------------------------------------------------------------------------
# Clear the implicit built in rules
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>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        :=    $(notdir $(CURDIR))
BUILD        :=    build
SOURCES        :=    source source/libpng source/libpng/pngu
DATA        :=    data
INCLUDES    :=

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

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

LDFLAGS    =    -g $(MACHDEP) -Wl,-Map,$(notdir $@).map

#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS    :=    -lasnd -lvorbisidec -lpng -lfat -lwiiuse -lbte -logc -lm -lz

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

#---------------------------------------------------------------------------------
# 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_BIN    :=    $(addsuffix .o,$(BINFILES))
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
export OFILES := $(OFILES_BIN) $(OFILES_SOURCES)

export HFILES := $(addsuffix .h,$(subst .,_,$(BINFILES)))

#---------------------------------------------------------------------------------
# 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    := -L$(LIBOGC_LIB) $(foreach dir,$(LIBDIRS),-L$(dir)/lib)

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

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

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

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


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

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

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

$(OFILES_SOURCES) : $(HFILES)

#---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension
#---------------------------------------------------------------------------------
%.jpg.o    %_jpg.h :    %.jpg
#---------------------------------------------------------------------------------
    @echo $(notdir $<)
    $(bin2o)

-include $(DEPENDS)

#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
 

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
- Download devkitPPC r19 : http://wii.leseratte10.de/devkitPro/devkitPPC/r19 (2009)/
- Download the libs from WiiXplorer : https://master.dl.sourceforge.net/project/wiixplorer/libogc-devkitR19_18-02-2010.zip?viasf=1
- Modify Makefile like this:

Code:
#---------------------------------------------------------------------------------
# Clear the implicit built in rules
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>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        :=    $(notdir $(CURDIR))
BUILD        :=    build
SOURCES        :=    source source/libpng source/libpng/pngu
DATA        :=    data
INCLUDES    :=

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

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

LDFLAGS    =    -g $(MACHDEP) -Wl,-Map,$(notdir $@).map

#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS    :=    -lasnd -lvorbisidec -lpng -lfat -lwiiuse -lbte -logc -lm -lz

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

#---------------------------------------------------------------------------------
# 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_BIN    :=    $(addsuffix .o,$(BINFILES))
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
export OFILES := $(OFILES_BIN) $(OFILES_SOURCES)

export HFILES := $(addsuffix .h,$(subst .,_,$(BINFILES)))

#---------------------------------------------------------------------------------
# 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    := -L$(LIBOGC_LIB) $(foreach dir,$(LIBDIRS),-L$(dir)/lib)

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

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

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

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


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

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

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

$(OFILES_SOURCES) : $(HFILES)

#---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension
#---------------------------------------------------------------------------------
%.jpg.o    %_jpg.h :    %.jpg
#---------------------------------------------------------------------------------
    @echo $(notdir $<)
    $(bin2o)

-include $(DEPENDS)

#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
Well, hello there, thanks for the modified Makefile and for the download links, i downloaded the older devkitPro and put the libraries in it, modified my environment variables to point to the old devkitPro, when i try to make with this modified Makefile it says this:
(with make)
Makefile:100: *** missing separator. Stop.
(with mingw32-make)
Makefile:10: C:\Users\michywii\Downloads\forse\devkitPPC/wii_rules: No such file or directory
Makefile:100: *** missing separator. Stop.

What should i do?
Post automatically merged:

Well, hello there, thanks for the modified Makefile and for the download links, i downloaded the older devkitPro and put the libraries in it, modified my environment variables to point to the old devkitPro, when i try to make with this modified Makefile it says this:
(with make)
Makefile:100: *** missing separator. Stop.
(with mingw32-make)
Makefile:10: C:\Users\michywii\Downloads\forse\devkitPPC/wii_rules: No such file or directory
Makefile:100: *** missing separator. Stop.

What should i do?
Nevermind, just fixed it, now though it says this:
powerpc-eabi-gcc.exe: error: unrecognized command line option '-mrvl'
make[1]: *** [C:\Users\michywii\Downloads\forse\devkitPPC/base_rules:40: fat.o] Error 1
make: *** [Makefile:101: build] Error 2
 
  • Like
Reactions: SaulFabre

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
Gbatemp has formatted the file badly. Please try with this attached file.
Tried it but it still gives me the "unrecognized command line option '-mrvl'" error.
Post automatically merged:

Tried it but it still gives me the "unrecognized command line option '-mrvl'" error.
I think there is something wrong with my like libexec's since it pulls out the "powerpc-eabi-gcc" from the most recente devkitPpc. What should i do?
Post automatically merged:

Update:
Tried it but it still gives me the "unrecognized command line option '-mrvl'" error.
Post automatically merged:


I think there is something wrong with my like libexec's since it pulls out the "powerpc-eabi-gcc" from the most recente devkitPpc. What should i do?
Update: my "powerpc-eabi-gcc" is from a PowerPC library i downloaded some time ago, the first result if you search for "powerpc-eabi-gcc", locted in C:\SysGCC\powerpc-eabi\bin
Post automatically merged:

Gbatemp has formatted the file badly. Please try with this attached file.
Tried it to build it again and got till a point, here is the log of "make":
Code:
C:\Users\michywii\Downloads\forse\wad-manager-master>make
fat.c
In file included from c:\sysgcc\powerpc-eabi\powerpc-eabi\sys-include\dirent.h:6:0,
                 from c:\sysgcc\powerpc-eabi\powerpc-eabi\sys-include\sys\dir.h:6,
                 from C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.h:6,
                 from C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c:6:
c:\sysgcc\powerpc-eabi\powerpc-eabi\sys-include\sys\dirent.h:10:2: error: #error "<dirent.h> not supported"
 #error "<dirent.h> not supported"
  ^
In file included from C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c:6:0:
C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.h:31:14: error: field 'filestat' has incomplete type
  struct stat filestat;
              ^
C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c: In function 'Fat_Mount':
C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c:20:2: warning: implicit declaration of function 'fatMountSimple' [-Wimplicit-function-declaration]
  ret = fatMountSimple(dev->mount, dev->interface);
  ^
C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c: In function 'Fat_Unmount':
C:/Users/michywii/Downloads/forse/wad-manager-master/source/fat.c:34:2: warning: implicit declaration of function 'fatUnmount' [-Wimplicit-function-declaration]
  fatUnmount(dev->mount);
  ^
make[1]: *** [C:\Users\michywii\Downloads\forse\devkitPPC/base_rules:40: fat.o] Error 1
make: *** [Makefile:101: build] Error 2
 
Last edited by Michy234,

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,013
Trophies
2
XP
3,130
Country
France
Be sure to replace your DevkitPPC, libogc and portlibs folders. Well, rename them first if you want a copy.
I don't know windows default install path, I rarely use this os.

Try with something simpler first to check you've installed it correctly. Compile the corresponding Wii example template : http://wii.leseratte10.de/devkitPro/wii-examples/
It should be one of the 2009 archives.
 

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
Be sure to replace your DevkitPPC, libogc and portlibs folders. Well, rename them first if you want a copy.
I don't know windows default install path, I rarely use this os.
The default devkitPpc install directory is "C:\devkitPro\" in Windows. (for the latest version)
What should i replace them with?
 

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,013
Trophies
2
XP
3,130
Country
France

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
You should have these folders inside C:\devkitPro :
devkitPPC
libogc
portlibs

The easier temporary solution is to rename devkitPro to devkitPro_original for example.

Then create a brand new devkitPro folder. Grab the old versions from this post :
https://gbatemp.net/threads/how-can-i-build-wad-manager.623439/post-10029674
Take the Windows archive:
devkitPPC_r19-win32.exe

Extract those archives in your new C:\devkitPro
Okok, i have just done this, since i built everything off a Windows VM (im on Linux) i decided to reinstall Windows on it because the VM was messy full of stuff and i have like 10 different versions of devkitPro so i formatted and reinstalled Windows and now im here.
I installed mingw but when i try to build the examplewith "mingw32-make" it just hangs, even with "-d". What should i do?
Post automatically merged:

Okok, i have just done this, since i built everything off a Windows VM (im on Linux) i decided to reinstall Windows on it because the VM was messy full of stuff and i have like 10 different versions of devkitPro so i formatted and reinstalled Windows and now im here.
I installed mingw but when i try to build the examplewith "mingw32-make" it just hangs, even with "-d". What should i do?
Update, i tried to install make from Chocolatey but still nothing. Help!
 

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
51
Country
Italy
Okok, i have just done this, since i built everything off a Windows VM (im on Linux) i decided to reinstall Windows on it because the VM was messy full of stuff and i have like 10 different versions of devkitPro so i formatted and reinstalled Windows and now im here.
I installed mingw but when i try to build the examplewith "mingw32-make" it just hangs, even with "-d". What should i do?
Post automatically merged:


Update, i tried to install make from Chocolatey but still nothing. Help!
Other update, console says ""Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC". Stop." even when i put devkitPpc in my environment.
1671639136967.png

Post automatically merged:

Wait what? You're on Linux? Then why don't you try to compile in Linux? You seem to over complicate things. I can't really help with windows.
Just install with pacman and then replace the folders in /opt/devkitpro
I tried building on Linux but i found it harder, i will try on linux right now.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Also a food allergy study would be a good idea
  • K3Nv2 @ K3Nv2:
    Turns out you can't sprinkle methamphetamine on McDonald's French fries
    +1
  • ZeroT21 @ ZeroT21:
    they wouldn't be called french fries at that point
    +1
  • ZeroT21 @ ZeroT21:
    Probably just meth fries
    +1
  • K3Nv2 @ K3Nv2:
    White fries hold up
    +1
  • The Real Jdbye @ The Real Jdbye:
    @K3Nv2 sure you can
  • BakerMan @ BakerMan:
    why tf do people hate android users? is it the video quality? just because "AnDrOiD = pOoR" bc they don't cost an arm and a leg like iphones do?
    +1
  • BakerMan @ BakerMan:
    i won't be turned off by an iphone, but don't pick on me for having an android, that's just how this shit should work
  • ZeroT21 @ ZeroT21:
    Should say more what these kind of android users say bout nokia 3310 users
  • BigOnYa @ BigOnYa:
    I've owned both iPhone and Androids over the years. Both are just as good, other than Apples higher price. I'm currently on Android, Samsung S21 I think, and very happy with it.
  • K3Nv2 @ K3Nv2:
    Got my 60 minute steps in whew
    +2
  • BigOnYa @ BigOnYa:
    I get mine in everyday, going back n forth to the fridge for a beer.
    +1
  • K3Nv2 @ K3Nv2:
    6,000 steps in so far legs almost broke getting off
    +1
  • K3Nv2 @ K3Nv2:
    Your mind gets in a werid pattern of just finishing then when you're done you're like I need a soda
  • BigOnYa @ BigOnYa:
    You get a "walkers" high?
  • K3Nv2 @ K3Nv2:
    Not really I just use to love building up a sweat
  • BigOnYa @ BigOnYa:
    Funny, that's what uremum always says
  • K3Nv2 @ K3Nv2:
    Yeah and people that take viagra think they have a big dick
    +1
  • K3Nv2 @ K3Nv2:
    You cant fix one insult edit for another edit you pog
  • BigOnYa @ BigOnYa:
    Nuh I'm on my tablet n it always auto corrects me
  • K3Nv2 @ K3Nv2:
    Heorin and uremum do have close quarters
  • Sonic Angel Knight @ Sonic Angel Knight:
    BIG CHICKEN :P
    K3Nv2 @ K3Nv2: https://youtu.be/q855tNpvDoQ?si=Tl57KMjiVjyBherB +1