How can i build WAD Manager?

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,175
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,789
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,175
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,789
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
49
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,127
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
49
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
49
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,127
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
49
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,127
Country
France

Michy234

Member
OP
Newcomer
Joined
Feb 28, 2018
Messages
24
Trophies
0
Age
26
XP
49
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
49
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
    Xdqwerty @ Xdqwerty: @salazarcosplay, I heard herbert stopped appearing on the show