devkitARM and PALib versions compatibility

support for the ARM toolchain
Post Reply
shinysup
Posts: 4
Joined: Fri Aug 12, 2011 6:03 pm

devkitARM and PALib versions compatibility

Post by shinysup » Fri Aug 12, 2011 6:08 pm

hi all,

i've installed devkitpro using devkitProUpdater 1.5.0 and
PALib 100707.
I have linked them with Visual Express 2008,
but when I compile, it gives me a following error.


1>------ Build started: Project: newtest, Configuration: Release Win32 ------
1>Performing Makefile project actions
1>Linking...
1>c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.6.1/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
1>(.init+0x1c0): undefined reference to `__libnds_mpu_setup'
1>c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.6.1/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
1>(.init+0x210): undefined reference to `initSystem'
1>c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.6.1/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
1>(.init+0x21c): undefined reference to `__libnds_exit'
1>main.o: In function `main':
1>c:/DSProjects/newtest/newtest/source/main.cpp(11): undefined reference to `PA_InitText'
1>c:/devkitPro/PAlib/lib\libpa9.a(PA.o): In function `PA_CheckLid':
1>c:/devkitPro/PAlib/source/arm9/source/PA.c(50): undefined reference to `fifoSendValue32'
1>c:/devkitPro/PAlib/source/arm9/source/PA.c(69): undefined reference to `keysCurrent'
1>c:/devkitPro/PAlib/lib\libpa9.a(PA_Inits.o): In function `PA_Init2D':
1>c:/devkitPro/PAlib/source/arm9/source/PA_Inits.c(49): undefined reference to `powerOn'
1>c:/devkitPro/PAlib/lib\libpa9.a(PA_Keys.o): In function `PA_UpdateStylus':
1>c:/devkitPro/PAlib/source/arm9/source/PA_Keys.c(41): undefined reference to `touchRead'
1>c:/devkitPro/PAlib/lib\libpa9.a(PA_Fifo.o): In function `PA_FifoMsgHandler':
1>c:/devkitPro/PAlib/source/arm9/source/PA_Fifo.c(11): undefined reference to `fifoGetDatamsg'
1>c:/devkitPro/PAlib/lib\libpa9.a(PA_Fifo.o): In function `PA_InitFifo':
1>c:/devkitPro/PAlib/source/arm9/source/PA_Fifo.c(6): undefined reference to `fifoSetDatamsgHandler'
1>collect2: ld returned 1 exit status
1>make[1]: *** [/c/DSProjects/newtest/newtest/Release/newtest.elf] Error 1
1>make: *** [build] Error 2
1>Build log was saved at "file://c:\DSProjects\newtest\newtest\Release\BuildLog.htm"
1>newtest - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========



After some research, I'm suspecting that this is due to compatibility issue between devkitARM and PALib, and found out that I may need to downgrade devkitARM.
But it's hard to get older versions, and it's hard to try every possible devkitARM-PALib combination to see which versions work together..., which I've been trying for two days..

It seems like it has happened to quite some people, but I can't find a definitive answer... :(
If anyone could help me resolve the issue, that person will be my savior and hero...

WinterMute
Site Admin
Posts: 1845
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: devkitARM and PALib versions compatibility

Post by WinterMute » Fri Aug 12, 2011 6:39 pm

Uninstall your broken toolchain and reinstall without PAlib.

PAlib is NOT supported.

http://devkitpro.org/wiki/PAlib

Old versions of devkitARM are NOT supported.
Help keep devkitPro toolchains free, Donate today

Personal Blog

shinysup
Posts: 4
Joined: Fri Aug 12, 2011 6:03 pm

Re: devkitARM and PALib versions compatibility

Post by shinysup » Fri Aug 12, 2011 6:58 pm

really?
PALib is not supported anymore?

Then, is there any new library that works, and works well with devkitARM?
That's pretty discouraging since most of the past homebrew resources are based on PALib...

WinterMute
Site Admin
Posts: 1845
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: devkitARM and PALib versions compatibility

Post by WinterMute » Sat Aug 13, 2011 11:10 am

PALib was never supported, it's an abomination that nobody should ever be subjected to. If working and working well with devkitARM are your criteria then PALib was always a bad choice. Any resource which uses PAlib as the basis for it's tutorials should be ignored, it's wrong and will probably teach you some very bad habits.

The libraries we provide work and work well with devkitARM, they always will - we guarantee that. If you're just starting out we can only recommend that you don't use 3rd party libraries until you get a bit more experience. Quite often these things break in various odd ways when the tools and libraries we supply are updated.

At this point in time we have a serious lack of good resources for learning ds homebrew programming - Tonc is a good document for GBA programming and most of the GBA hardware exists on the DS. Patater's manual may still be helpful but I'm not sure if we've broken any of his source examples recently.

There are many little samples of various things you can do with the DS in the examples you hopefully installed when you reinstalled the tools without PAlib.

If IRC is your thing then there are a bunch of friendly people in #dsdev who are generally quite happy to help - http://devkitpro.org/wiki/IRC

What would probably help us to help you is to give us some idea of where you are now and where you intend to go. For instance, what programming experience do you have already and do you have a DS project in mind?
Help keep devkitPro toolchains free, Donate today

Personal Blog

shinysup
Posts: 4
Joined: Fri Aug 12, 2011 6:03 pm

Re: devkitARM and PALib versions compatibility

Post by shinysup » Sat Aug 13, 2011 4:39 pm

thanx for the reply.

I have years of experience with C and C++ but pretty much zero with ds programming.
I'm trying to make a pet-raising simulation game, which utilizes both image files and sounds, and I'm already stuck.. my unfamiliarity with Programmer's Notepad and how Makefile works is another factor...

Any suggestion?
Thanx again in advance.

elhobbs
Posts: 358
Joined: Thu Jul 02, 2009 1:19 pm

Re: devkitARM and PALib versions compatibility

Post by elhobbs » Mon Aug 15, 2011 12:18 am

in windows you can use Microsoft Visual Studio C++ Express (or Professional if you have it). there are other threads that describe the setup - you can find them if you search the forum. Essentially, you create a makefile project and copy one of the ds samples to the directory. there are a couple things that you need to change in the project to get visual studio intellllisense to work correctly, but even without those changes it is pretty easy to get something to compile - essentially set the build command to "make" without the quotes.

WinterMute
Site Admin
Posts: 1845
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: devkitARM and PALib versions compatibility

Post by WinterMute » Mon Aug 15, 2011 10:16 am

You don't really need to know how Makefiles work just yet, the template projects and all the examples contain Makefiles which automatically collect source files and various data files. PN2 is a nice basic programmer's editor, really all you have to do is copy one of the examples we provide to your own projects directory (no spaces in the path!), double click the .pmproj file then use Tools->make (or ALT+1) to build the project or Tools->clean(or ALT+2) to clean it.

If you prefer VS then there's a VS Wizard available at http://pern.drunkencoders.com/screensho ... tures-wiz/ which is something that's on the TODO list to get tidied up and included in the installer. Again you need to create your projects in paths with no spaces.

When you want to add new source files then just create .c/.cpp files in the source folder, the Makefile will pick them up and compile.
Help keep devkitPro toolchains free, Donate today

Personal Blog

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests