Rohit Prasad

3rd Party Libraries for MPC5121e from ALT Software for linking

Discussion created by Rohit Prasad on Jun 27, 2008
Latest reply on Dec 9, 2008 by Antonio Del Cinque
Hello,
Having got the ADS512010 board, I was trying to get some graphics sample ready to run on the board to start off.

 In doing so I have run into some issues w.r.t building of the simple sample file using CodeWarrior MobileGT 9 for Windows which I got in the package.

I have included the errors at the end of this message and attached the sample project created with the main.c file.

 What I am missing are the libraries such as,

  libGLES_CM.so

  libIMGegl.so

  libsrv_um_1.1.32.987.so

  libpvrNULLWSEGL.so

  libpvr2d.so

  libclcdc.so, on my desktop to link with and then later download on to the ADS512101 board. CW generates .elf files for its exapmples which can be downloaded on the evaluation board.

Do kindly let me know a way to get the project built.Also any pointers to any information to get the above working would be very useful in exploring the listed ALT Software libraries for OpenGL ES and EGL.1.1 .

Thanks,

Rohit

ERRORS:

-------------------------------------------------------------------------------------------------------------------------------------------------------

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x44)
: In function `main':

Error   : undefined reference to `eglGetDisplay'
main.c line 19  

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x64)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:24: undefined reference to `eglInitialize'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x248)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:43: undefined reference to `eglChooseConfig'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x25c)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:44: undefined reference to `eglCreateWindowSurface'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x274)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:47: undefined reference to `eglGetError'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x288)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:48: undefined reference to `eglCreateWindowSurface'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x2a4)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:51: undefined reference to `eglCreateContext'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x2dc)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:57: undefined reference to `glClearColor'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x300)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:61: undefined reference to `glClearColor'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x314)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:66: undefined reference to `glClear'

Link Error   : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x320)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:72: undefined reference to `eglSwapBuffers'

Link Error   : ld returned 1 exit status

Link Error   : Link failed

--------------------------------------------------------------------------------------------------------------------------------------------------------

Created Example: main.c

#include <stdio.h>
#include <GLES/egl.h>

/* Standard header file from Khronos also supplied with Imagination Techonologies ES 1.1 SDK for linux */


int main()
{
    int i;
    int iConfigs;
 EGLDisplay   eglDisplay = 0;
 EGLConfig   eglConfig = 0;
 EGLSurface   eglSurface = 0;
 EGLContext   eglContext = 0;
 //NativeWindowType eglWindow = 0;
 EGLint    pi32ConfigAttribs[128];

 EGLint iMajorVersion, iMinorVersion;
 
 printf("Welcome to CodeWarrior!\r\n");
 
   eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);    
      if (!eglInitialize(eglDisplay, &iMajorVersion, &iMinorVersion))
 {
     //printf("\n EGL NOT initialized\n");
 }
 
 i = 0;
 pi32ConfigAttribs[i++] = EGL_RED_SIZE;
 pi32ConfigAttribs[i++] = 5;
 pi32ConfigAttribs[i++] = EGL_GREEN_SIZE;
 pi32ConfigAttribs[i++] = 6;
 pi32ConfigAttribs[i++] = EGL_BLUE_SIZE;
 pi32ConfigAttribs[i++] = 5;
 pi32ConfigAttribs[i++] = EGL_ALPHA_SIZE;
 pi32ConfigAttribs[i++] = 0;
 pi32ConfigAttribs[i++] = EGL_SURFACE_TYPE;
 pi32ConfigAttribs[i++] = EGL_WINDOW_BIT;
 pi32ConfigAttribs[i++] = EGL_NONE;


   eglChooseConfig(eglDisplay, pi32ConfigAttribs, &eglConfig, 1, &iConfigs) || (iConfigs != 1);
   eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, 0, 0);
  if(eglSurface == EGL_NO_SURFACE)
    {
           eglGetError(); // Clear error
           eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, NULL, NULL);
 }
 
 eglContext = eglCreateContext(eglDisplay, eglConfig, NULL, NULL);
 
 for(i = 0; i < 1000; ++i)
 { 
   glClearColor((0.6f), (0.8f), (1.0f), (1.0f)); // clear blue
      
   glClearColor((1.0f), (1.0f), (0.66f), (1.0f)); // clear yellow
  
  glClear(GL_COLOR_BUFFER_BIT);
  
  /*
   Swap Buffers.
   Brings to the native display the current render surface.
  */
  eglSwapBuffers(eglDisplay, eglSurface); 
 } 
 return 0;
}

Outcomes