Need help with "Undefined symbol" error

I am new to the forum and this is the first year we use Wind River as a development platform. We used LabView last year.
Upon following the instructions very carefully on installing Wind River, loading all updates, reflashing the firmware of the cRIO to v19 etc. We are at the point of loading the sample “DefaultRobot” program to the robot and try things out. We successfully compiled the code and downloaded it to the robot but it doesn’t work. Here is the details.

  • Before we even fired up Wind River workbench, we fired up the Classmate PC (Driver station), set up all the configurations include team number. We saw the Communication light went green and so was the Stop Button light. But the Robot Code light remained RED. Also the Volts displayed --.-- (and yes we checked the jumper on the Analog bumper to make sure it is on reporting voltage instead of another analog channel).
  • Since the Robot Code light is RED, we decided to fire up Wind River Workbench, compile some code and load it to the robot.
  • After successfully downloaded the code, the driver station “Robot Code” light is still RED. So we decided to follow the instruction to reboot the robot anyway and see if the code gets activated. BTW, we also connected a null modem cable to the cRIO and saw the boot activities on the Terminal console.
  • During boot, the terminal console showed a lot of “Undefined symbol” error and said the program failed to load. I attached some of the output below.

Warning: module 0x134d238 (FRC_UserProgram.out) holds reference to undefined symbol _ZN5nFPGA33n0BA6BBDC5CE760BA2A9A95D92CEA342A14tAnalogTrigger26writeS
ourceSelect_AveragedEbPi.
Warning: module 0x134d238 (FRC_UserProgram.out) holds reference to undefined symbol _ZN5nFPGA33n0BA6BBDC5CE760BA2A9A95D92CEA342A6tAlarm16writeTriggerTim
eEjPi.
Warning: module 0x134d238 (FRC_UserProgram.out) holds reference to undefined symbol _ZN5nFPGA33n0BA6BBDC5CE760BA2A9A95D92CEA342A3tAI19readConfig_ScanSiz
eEPi.
Warning: module 0x134d238 (FRC_UserProgram.out) holds reference to undefined symbol _ZN5nFPGA33n0BA6BBDC5CE760BA2A9A95D92CEA342A8tEncoder11kNumSystemsE.

(unloading partially loaded module FRC_UserProgram.out)
...FRC_UserProgram failed to load.
task 0x1d633c8 (t2) deleted: errno=0 (0) status=0 (0)

  • We even abandoned the sample program and wrote our own SimpleRobot code just in case the sample was linking something that we do not have but we got the same result.

Since this is our first time to use Wind River, I am sure it is something simple possibly a configuration issue of Wind River. We’d appreciate if somebody would give us a pointer on what could be wrong with our config.

BTW, I did search for previous threads and found some describing the same issue but was from last year and never saw any sort of conclusions to those threads.

Thanks.

When you reimaged the cRIO with v19, did you tell it the correct language? It loads different libraries for different development languages.

I assume by “correct language”, you meant whether it is for WindRiver C/C++ or LabView or Java. If so, yes, I picked WindRiver C/C++.

Do a clean build of your program. When we upgraded WindRiver (btw, did you install the mandatory update?), we forgot to recompile our program so we were uploading a binary compiled for v5 to a robot running v19.

Make sure that you’re uploading the correct .out file. When you change projects, the .out file you’re downloading to the robot doesn’t necessarily change. Go to windows->preferences and verify that you’re downloading the .out file for your new project.

Also, do a complete reboot of everything (classmate, crio, dev machine).

Yes, I did a clean build. I even destroyed the project, and re-created it with a fresh copy of the “DefaultRobot” example. And yes, I made sure Windows->Preferences->FIRST download is pointing to the correct .out file. And yes, I did install the WindRiver update. I even reinstalled WindRiver on a fresh machine that did not have WindRiver previously and followed the instructions on applying all the updates. It yielded the same result. In fact, one of my students got this problem on his laptop first. I tried it myself and got the same. Since I have battling with this problem for a few days not, I have almost tried everything including rebooting everything.

Looking at the error from the terminal console, I hope somebody may recognize some of the “undefined symbols” and know what they are and what I missed. It would seem to me that there is a mismatch in the firmware. But I couldn’t figure out what I missed in re-imaging the firmware. Currently, I do not have access to the cRIO. As soon as I go home tonight, I will post the version of the firmware by the “version” command on the Terminal console.

AnalogTrigger26writeSourceSelect_AveragedEbPi.
Alarm16writeTriggerTimeEjPi.
readConfig_ScanSizeEPi.
Encoder11kNumSystemsE.

Re-read my post and found some typos.

Since I have been battling with this problem for a few days now,…

Here is the version info of our Robot firmware from the terminal console. Would somebody dump their version info and post it here for my comparison?

Thanks.


Welcome to LabVIEW Real-Time 8.6.1f2

NI-VISA Server 4.5 started successfully.
task 0xe41128 (t1) deleted: errno=1835009 (0x1c0001) status=1 (0x1)
version
VxWorks (for MPC5200 -- Wind River Lite5200 BSP.) version 6.3.
Kernel: WIND version 2.9.
Made on Jul 29 2009, 13:41:47.
Boot line:
tffs=0,0(0,0)host:/c/ni-rt/system/vxWorks f=0x8
value = 59 = 0x3b = ';'

You are linking against WPILib that is expecting FPGA version 2009 revision 0.1.10 (it had GUID 0x0BA6BBDC5CE760BA2A9A95D92CEA342A, which you can see in the missing symbols). That means REALLY old. That’s not even the final image from last year. In fact it was added to WPILib in September 2008. That means you are probably using the DVD distribution release from LAST year. Please install the 2010 C++ Update 4.0 from here: http://www.usfirst.org/frccontrolsystem

Regards,
-Joe

Hmm, that’s interesting. We are using the 2010 DVD. Let me make sure I understand, you are saying the cRIO image is correct but the WPILib I was linking in the WindRiver Workbench is somehow old? Is there a way to tell for sure? The WindRiver Workbench I have installed is version 3.0.1 with Build id: 20080514-1211. Hmm, if 20080514 was the date, that’s very old as you said. But how can this be? It’s coming from the 2010 DVD. I will uninstall it and clean re-install it again to make sure.

BTW, I assume you are referring to WorkbenchUpdate20100107.exe from http://www.usfirst.org/frccontrolsystem

If so, I ran it again and it still said my Workbench version is 3.0.1.

did you install windriver to a directory other then the default?

No, it is installed to the default directory c:\WindRiver.

After clean re-installing WindRiver and reappling all the updates, I am finally able to download code to the robot without any complains. WindRiver is still showing v3.0.1. So I suppose this is the correct version. I assume either I missed one of the updates or somehow it did not take previously. Thank you for all the info.

I’m sure about the WPILib that you are linking against (based on your symbols). I can’t say for sure that your image is correct, but I can say it doesn’t match. The driver station should be able to tell you if the image is correct when looking on the Diagnostics tab.

The build ID is from the WindRiver tools, so the date is not surprising.

Can you look at C:\WindRiver\vxworks-6.3 arget\lib\WPILib.a and check the file date. That will give us an idea since that’s the default location to link from.

The reinstall from the DVD should not be necessary.

That is the update I’m referring to. Just to make sure, open the update as a zip file and extract the files into your windriver directory. I’ve heard grumblings that the self-extracting zip installer is failing to copy in some cases.

Don’t expect that version number to change. That’s the version of the tool from WindRiver, not the update version.

Here is the info you are asking for. But of course since it is working now, it is obviously the correct one. Unfortunately, I should have captured that before my clean re-install. But my student should still have this problem and hoepfully he hasn’t reinstalled yet. I will ask him to send me his file date.


01/06/2010  06:20 PM         7,470,312 WPILib.a