Hi!
I’m having problems trying to build a runnable binary with some of the lessons and demos.
I can build and run the first 5 lessons in the SDK’s TrainingCourse directory, but run into problems with lesson 6.
The build process completes, but when I try and run the executable on the target platform (a Noka N900), I get:
/home/user/OGLES2IntroducingPVRTools: /usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3’ not found (required by /home/user/OGLES2IntroducingPVRTools)
My build environment is Centos 5.3, where I’ve installed the madde dev tool ( http://wiki.maemo.org/MADDE )
I’m using the arm-2009q1-203-arm-none-linux-gnueabi_linux toolchain and the libs provided with madde, controlled by CentOS’s make.
Since the libstdc++.so provided with madde differs in filesize from the one in the N900’s /usr/lib, I tried copying the N900’s into the madde sysroot /usr/lib, and building from scratch, but it makes no difference.
I’m guessing this is something to do with a library internal to the SDK needing this libstdc++ version, and that there’s maybe not much I can do about it, but thought I’d ask in case there is a solution.
Any help would be much appreciated!
Having said that, even if I’m unable to build the remaining lessons and demos, I’d still consider the SDK a worthwhile download for learning gles2 - it seems quite hard to get easily digestible material on that topic! - so thanks for that
Gory details of my build config follow, in case they’re useful.
In order to get the build process to work, I’ve followed the process in the pdf in SDKPackage/
so I have:
echo $TOOLCHAIN
/opt/madde/.madde/0.5/toolchains/arm-2009q1-203-arm-none-linux-gnueabi_linux
echo $X11ROOT
/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr
[/CODE]
I run make with:
<br />make PLATFORM=LinuxOMAP3 X11BUILD=1
<br />
additionally, I found I needed to add some switches in the Builds/OGLES2/LinuxOMAP3/make_platform.mak file, so I defined:
<br />LIBDIR_FLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2
<br /> -DKEYPAD_INPUT=""/dev/input/event1""
<br />
and
<br />PLAT_CFLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
<br />-I/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr/include
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2 -DKEYPAD_INPUT=""/dev/input/event1""
(some of the above is probably redundant, still whittling it down
<br />
<br />echo $TOOLCHAIN<br />
<br />/opt/madde/.madde/0.5/toolchains/arm-2009q1-203-arm-none-linux-gnueabi_linux<br />
<br />echo $X11ROOT<br />
<br />/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr<br />
<br />
I run make with:
make PLATFORM=LinuxOMAP3 X11BUILD=1
[/CODE]
additionally, I found I needed to add some switches in the Builds/OGLES2/LinuxOMAP3/make_platform.mak file, so I defined:
<br />LIBDIR_FLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2
<br /> -DKEYPAD_INPUT=""/dev/input/event1""
<br />
and
<br />PLAT_CFLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
<br />-I/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr/include
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2 -DKEYPAD_INPUT=""/dev/input/event1""
(some of the above is probably redundant, still whittling it down
<br />
<br />make PLATFORM=LinuxOMAP3 X11BUILD=1<br />
<br />
additionally, I found I needed to add some switches in the Builds/OGLES2/LinuxOMAP3/make_platform.mak file, so I defined:
LIBDIR_FLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
-DBUILD_OGLES2 -Wall -DRELEASE -O2
-DKEYPAD_INPUT=""/dev/input/event1""
[/CODE]
and
<br />PLAT_CFLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
<br />-I/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr/include
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2 -DKEYPAD_INPUT=""/dev/input/event1""
(some of the above is probably redundant, still whittling it down
<br />
<br />LIBDIR_FLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942<br />
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2 <br />
<br /> -DKEYPAD_INPUT=""/dev/input/event1""<br />
<br />
and
PLAT_CFLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942
-I/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr/include
-DBUILD_OGLES2 -Wall -DRELEASE -O2 -DKEYPAD_INPUT=""/dev/input/event1""[/CODE]
(some of the above is probably redundant, still whittling it down
<br />
<br />PLAT_CFLAGS = --sysroot=/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942 <br />
<br />-I/opt/madde/.madde/0.5/sysroots/fremantle-qt-arm-sysroot-0942/usr/include <br />
<br /> -DBUILD_OGLES2 -Wall -DRELEASE -O2 -DKEYPAD_INPUT=""/dev/input/event1""
(some of the above is probably redundant, still whittling it down
Just to note, a workaround was provided by one of the MADDE-knowledgeable people at talk.maemo.org
http://talk.maemo.org/showthread.php?p=488332#post488332
which fixed this issue for me. So definitely not a problem with the SDK itself.
It’s good to hear that you found a solution - thanks for letting us know.