WiiStella port - linker error

Post Reply
pedlem
Posts: 1
Joined: Thu Sep 11, 2008 11:52 am

WiiStella port - linker error

Post by pedlem » Thu Sep 11, 2008 11:55 am

Ok. I have been working for a day on a port of the Stella emulator and, after some minor problems and small code modificatios on it's C++ source code, I've actually managed to compile everything. Now I am stuck with a linker error as seen bellow:

powerpc-gekko-g++ -L /c/devkitPro/libogc/lib/wii -static src/wii/FrameBufferWii.o src/wii/OSystemWii.o src/wii/SettingsWii.o src/wii/FSNodeWii.o src/cheat/CheatCodeDialog.o src/cheat/CheatManager.o src/cheat/CheetahCheat.o src/cheat/BankRomCheat.o src/cheat/RamCheat.o src/emucore/AtariVox.o src/emucore/Booster.o src/emucore/Cart2K.o src/emucore/Cart3F.o src/emucore/Cart3E.o src/emucore/Cart4A50.o src/emucore/Cart4K.o src/emucore/CartAR.o src/emucore/CartCV.o src/emucore/Cart.o src/emucore/CartDPC.o src/emucore/CartE0.o src/emucore/CartE7.o src/emucore/CartF4.o src/emucore/CartF4SC.o src/emucore/CartF6.o src/emucore/CartF6SC.o src/emucore/CartF8.o src/emucore/CartF8SC.o src/emucore/CartFASC.o src/emucore/CartFE.o src/emucore/CartMB.o src/emucore/CartMC.o src/emucore/CartSB.o src/emucore/CartUA.o src/emucore/Cart0840.o src/emucore/CartX07.o src/emucore/Console.o src/emucore/Control.o src/emucore/Deserializer.o src/emucore/Driving.o src/emucore/Event.o src/emucore/EventHandler.o src/emucore/FrameBuffer.o src/emucore/FSNode.o src/emucore/Joystick.o src/emucore/Keyboard.o src/emucore/M6532.o src/emucore/MT24LC256.o src/emucore/MD5.o src/emucore/MediaSrc.o src/emucore/OSystem.o src/emucore/Paddles.o src/emucore/Props.o src/emucore/PropsSet.o src/emucore/Random.o src/emucore/SaveKey.o src/emucore/Serializer.o src/emucore/Settings.o src/emucore/SpeakJet.o src/emucore/Switches.o src/emucore/StateManager.o src/emucore/TIA.o src/emucore/TIASnd.o src/emucore/TrackBall.o src/emucore/unzip.o src/emucore/MediaFactory.o src/emucore/m6502/src/Device.o src/emucore/m6502/src/M6502.o src/emucore/m6502/src/M6502Low.o src/emucore/m6502/src/M6502Hi.o src/emucore/m6502/src/NullDev.o src/emucore/m6502/src/System.o src/gui/AboutDialog.o src/gui/AudioDialog.o src/gui/BrowserDialog.o src/gui/CommandDialog.o src/gui/CommandMenu.o src/gui/DialogContainer.o src/gui/Dialog.o src/gui/EditableWidget.o src/gui/EditTextWidget.o src/gui/EventMappingWidget.o src/gui/FileSnapDialog.o src/gui/Font.o src/gui/GameInfoDialog.o src/gui/GameList.o src/gui/HelpDialog.o src/gui/InputDialog.o src/gui/InputTextDialog.o src/gui/Launcher.o src/gui/LauncherDialog.o src/gui/ListWidget.o src/gui/Menu.o src/gui/OptionsDialog.o src/gui/PopUpWidget.o src/gui/ProgressDialog.o src/gui/RomAuditDialog.o src/gui/RomInfoWidget.o src/gui/ScrollBarWidget.o src/gui/Surface.o src/gui/CheckListWidget.o src/gui/StringListWidget.o src/gui/TabWidget.o src/gui/UIDialog.o src/gui/VideoDialog.o src/gui/Widget.o src/common/mainSDL.o src/common/SoundNull.o src/common/SoundSDL.o src/common/FrameBufferSoft.o src/common/FrameBufferGL.o src/common/RectList.o src/common/Snapshot.o -lSDL_ttf -lSDL_gfx -lSDL_mixer -lSDL_image -lfreetype -ljpeg -lz -lSDL -lfat -lwiiuse -lbte -logc -lm -o stella
c:/devkitPro/libogc/lib/wii\libSDL.a(SDL_gamecube_main.o): In function `main':
c:\dev\apps\devkitPro\SDL-Port/src/main/gamecube/SDL_gamecube_main.c:59: multiple definition of `main'
src/common/mainSDL.o:mainSDL.cxx:(.text+0x190): first defined here
c:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x3a): undefined reference to `__isIPL'
c:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x3e): undefined reference to `__isIPL'
c:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x56): undefined reference to `__bss_end'
c:/devkitPro/libogc/lib/wii\libogc.a(ogc_crt0.o): In function `startup':
(.init+0x5a): undefined reference to `__bss_end'
src/wii/FrameBufferWii.o: In function `__static_initialization_and_destruction_0(int, int)':
FrameBufferWii.cxx:(.text+0x9c6): undefined reference to `__dso_handle'
FrameBufferWii.cxx:(.text+0x9ca): undefined reference to `__dso_handle'
src/wii/OSystemWii.o: In function `__static_initialization_and_destruction_0(int, int)':
OSystemWii.cxx:(.text+0x996): undefined reference to `__dso_handle'
OSystemWii.cxx:(.text+0x99a): undefined reference to `__dso_handle'
src/wii/SettingsWii.o: In function `__static_initialization_and_destruction_0(int, int)':
SettingsWii.cxx:(.text+0x112): undefined reference to `__dso_handle'
src/wii/SettingsWii.o:SettingsWii.cxx:(.text+0x116): more undefined references to `__dso_handle' follow
c:/devkitPro/libogc/lib/wii\libSDL.a(SDL_gamecube_main.o): In function `main':
SDL_gamecube_main.c:(.text.main+0xec): undefined reference to `SDL_main'
c:/devkitPro/libogc/lib/wii\libogc.a(lwp.o): In function `__lwp_sysinit':
lwp.c:(.text.__lwp_sysinit+0xaa): undefined reference to `__stack_end'
lwp.c:(.text.__lwp_sysinit+0xae): undefined reference to `__stack_addr'
lwp.c:(.text.__lwp_sysinit+0xb2): undefined reference to `__stack_end'
lwp.c:(.text.__lwp_sysinit+0xb6): undefined reference to `__stack_addr'
lwp.c:(.text.__lwp_sysinit+0xd6): undefined reference to `__crtmain'
lwp.c:(.text.__lwp_sysinit+0xde): undefined reference to `__crtmain'
c:/devkitPro/libogc/lib/wii\libogc.a(irq.o): In function `__irq_init':
irq.c:(.text.__irq_init+0x26): undefined reference to `__intrstack_addr'
irq.c:(.text.__irq_init+0x2e): undefined reference to `__intrstack_addr'
irq.c:(.text.__irq_init+0x3a): undefined reference to `__intrstack_end'
irq.c:(.text.__irq_init+0x46): undefined reference to `__intrstack_end'
c:/devkitPro/libogc/lib/wii\libogc.a(system.o): In function `SYS_Init':
system.c:(.text.SYS_Init+0x7a): undefined reference to `__gxregs'
system.c:(.text.SYS_Init+0x82): undefined reference to `__gxregs'
system.c:(.text.SYS_Init+0x14a): undefined reference to `__Arena1Hi'
system.c:(.text.SYS_Init+0x14e): undefined reference to `__Arena1Hi'
system.c:(.text.SYS_Init+0x156): undefined reference to `__Arena2Lo'
system.c:(.text.SYS_Init+0x15a): undefined reference to `__Arena2Lo'
system.c:(.text.SYS_Init+0x162): undefined reference to `__Arena2Hi'
system.c:(.text.SYS_Init+0x166): undefined reference to `__Arena2Hi'
system.c:(.text.SYS_Init+0x16e): undefined reference to `__ipcbufferLo'
system.c:(.text.SYS_Init+0x176): undefined reference to `__ipcbufferLo'
system.c:(.text.SYS_Init+0x17a): undefined reference to `__ipcbufferHi'
system.c:(.text.SYS_Init+0x182): undefined reference to `__ipcbufferHi'
system.c:(.text.SYS_Init+0x50e): undefined reference to `__Arena1Lo'
system.c:(.text.SYS_Init+0x512): undefined reference to `__Arena1Lo'
c:/devkitPro/libogc/lib/wii\libogc.a(system.o):(.sdata2.__sys_inIPL+0x0): undefined reference to `__isIPL'
c:/devkitPro/libogc/lib/wii\libogc.a(argv.o): In function `__CheckARGV':
argv.c:(.text.__CheckARGV+0x4e): undefined reference to `__Arena1Lo'
argv.c:(.text.__CheckARGV+0x56): undefined reference to `__Arena1Lo'
collect2: ld returned 1 exit status
make: *** [stella] Error 1

As you see there are lots of undefined references. After some googling I discovered that some of them, at least the '__sIPL' stuff, should on this latter june build of libogc be available, but it is not. Would someone help me? Since I don't know and have no clue on what these functions should do and there are no docs which I could find specifying it, I have no way to proceed with my project, nor even by implementing them myself.

Hope someone can shere some bright thoughts on this problem.

------------------------------------------------------------------------------------------------------------------------
This message has been already posted at forbidden URL. I am just trying to reach a broader audience.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests