Welcome! Log In Create A New Profile

Advanced

Compiling error: cannot open linker script file ../rvl.ld

Posted by RiderFx3 
Compiling error: cannot open linker script file ../rvl.ld
December 09, 2010 08:43PM
Hello,

I try to compiling a homebrew,

But i Got this error:
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
make[1]: *** [/c/homebrew/IOS-236-INSTALLER-FR/boot.elf] Error 1
"make": *** [build] Error 2

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 $<)
	$(bin2o)

-include $(DEPENDS)

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

I have got the file rvl.ld in DevkitPPC/powerpc-eabi/lib/

Why I got this error ?

Thanks all ! :D



Edited 1 time(s). Last edit at 12/09/2010 09:13PM by RiderFx3.
Re: Compiling error: cannot open linker script file ../rvl.ld
December 09, 2010 08:56PM
I don't think we support custom IOS installers anymore.

And the file shouldn't be in your devkit but in your project somewhere. In source or just in the base directory next to the Makefile (or 1 level below that)
Re: Compiling error: cannot open linker script file ../rvl.ld
December 09, 2010 09:20PM
OK thanks Daid,

I have edited my posts.

It works fine with the file in the same folder of my makefile.

But I got 3 other errors now... Grrrr.

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'


Why have got many errors in the original code source of the author ???

thanks a lot !
Re: Compiling error: cannot open linker script file ../rvl.ld
December 09, 2010 11:21PM
"IOS236 INSTALLER" or any other cIOS installer are not supported here.
Sorry, you can't reply to this topic. It has been closed.