I download the latest version of PowerVR SDK 2.10(Linux) and want to run it on Pandaboard. Compiling the source codes and executing the binaries in the SDK are all fine, but I met a symbolic problem on using PVRTrace for those binaries.(undefined symbol)
#The following is the error message:
./OGLESCoverflow: symbol lookup error: /home/hsinchupopo/workspace/lib/libGLES_CM.so: undefined symbol: _ZN3Es112_glGetStringEj
BTW, why I can't use PVRTrace on the binaries built by myself? I follow the PVRTrace User Manual to export the LD_LIBRARY_PATH, but it still didn't link to libPVRTrace.so. Is there any step missing?
Thank you very much!!!
I am going to try to explain how PVRtrace work to find the problem easier.
As PVRTrace (Record Libraries) need to be in between the APP and the Driver to intercept all the calls (OGLES V1, V2 and EGL), we need to force our APP to use our Record Libraries (PVRTrace_RecordLibraries).
As Pandaboard has a proper PoverVR graphic card you don't need to use PVRVFrame (Our OPEN ES Simulator) so following the PVRtrace Use Manual you should use LD_LIBRARY_PATH to set where the PVRTrace_RecordLibrary are. (All of them, EGL, OGLES V1 and OGLES V2. The CM version is a special version and has to be with the others too in the same folder).
We usually copy all the record libraries to the demos folder and run the demo with:
Now, using the pvrtrace.cfg file (which has to be in the demo's folder you want to record), you need to set where the Driver are. (example: /usr/lib/). Named in the User manual as Host libraries (HostEglLibPath, HostEs1LibPath , HostEs2LibPath)
So, could you please check all these steps. We have the felling like something is missing there.
Please, let us know any problem following this steps or any problem with the utilities.
Thank you for helping!!
I did follow your instructions and did it again, but the same result happened. I’ll describe more details about it here.
I had tried PVRTrace utility both in OGLES_SDK 2.10 and OGLES2_SDK 2.10. It seems they are different versions(size of libPVRTrace.so: 390kb & 402kb). I put them in the demo’s folder, including libGLES_CM.so, libGLESv1_CM.so(from OGLES), libEGL.so, libGLESv2.so, and libPVRTrace.so(from OGLES2).
> cp *.so ~/workspace/SDKPackage_OGLES2/Binaries/X11/Demo
Then I run the demo with LD_LIBRARY_PATH environment parameter
> LD_LIBRARY_PATH=/home/hsinchupopo/workspace/SDKPackage_OGLES2/Binaries/X11/Demo ./OGLES2FilTV
Then it runs the error. However, there is a difference between demo in OGLES and OGLES2 SDK. Demo in OGLES happens undefined symbol error, but demo in OGLES2 happens segmentation fault.
These are the trace.pvrt it produced. There is only trace for EGL library. It happens symbol lookup error/segmentation faults when calling OpenGLES library.
libPVRTrace.so for Demo in OGLES_SDK
libPVRTrace.so for Demo in OGLES2_SDK
BTW my library for openGL ES v1, v2 and EGL are 126.96.36.199 for TI OMAP4.(Don’t know whether this could help or not)
Thank you for your support again. Really thank you!!!
Something is not right there. libPVRTrace.so should be the same. There is not different between OGLES V1 and OGLES V2.
I am going to check that with the build team.
There is a usefull output running this command (Could you send us the output,please)?
LD_LIBRARY_PATH=. ./OGLESDemo > output.txt 2>&1
Well, we have checked that for Linux libPVRTrace.so is different between OGLES 1 and 2. We are making the changes to fix this issue. Tomorrow I could send you a 2.10 RC2 build to analyze what it is happening in your platform.
I think it is better if you send the output I previously requested you to email@example.com from there we can continue the support to fix that issue.
I have sent it to you. Please have a check. Thank you!!!