Hi.
I’ve ran into problems running PowerVR SDK Demos after I upgraded my distro to Ubuntu 9.04. I had no problems whatsoever with my old Hardy Heron (8.04) version.
I would guess there are some compatibility problems between PowerVR SDK provided EGL and GLES libraries and g++ installed in the system.
What happens is that whenever EGL and GLES library is linked with an application the application just dies with shared library event.
Following script illustrates what happens when a really simple application is compiled with and without EGL and GLESv2 libraries:
>8
Script started on Sun 02 Aug 2009 02:08:08 PM EEST
:~/workspace/test1$ g++ main.cpp -o test
:~/workspace/test1$ ./test
main() - called.
:~/workspace/test1$ g++ main.cpp -lEGL -lGLESv2 -o test
:~/workspace/test1$ ./test
:~/workspace/test1$ gdb ./test
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /home/tuomas/workspace/test1/test
[Thread debugging using libthread_db enabled]
[New Thread 0xb79956d0 (LWP 8531)]
[New Thread 0xb7994b90 (LWP 8534)]
Program exited with code 0377.
(gdb) quit
:~/workspace/test1$ g++ -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
:~/workspace/test1$ exit
Script done on Sun 02 Aug 2009 02:09:26 PM EEST
>8
And here is the application code:
>8
Script started on Sun 02 Aug 2009 02:14:09 PM EEST
:~/workspace/test1$ cat main.cpp
#include <iostream>
using namespace std;
int main(int, char**)
{
cout << "main() - called." << endl;
return 0;
}
:~/workspace/test1$ exit
Script done on Sun 02 Aug 2009 02:14:15 PM EEST
>8
Does anybody have any ideas about what's going on? Should I use an earlier version of g++ or is there going to be a recompilation of PowerVR SDK libraries that would work with g++ 4.3.3? Or is the root cause actually something completely unrelated?
I've tried this with PowerVR SDK versions 2.03.23.1162 and 2.04.24.0811 with identical results.
Cheers,
Tuomas Järvensivu