[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-dev] cross-compiling for ARM / Angstrom: bugs and problems
From: |
Udo Giacomozzi |
Subject: |
[Gnash-dev] cross-compiling for ARM / Angstrom: bugs and problems |
Date: |
Mon, 6 Apr 2009 19:19:58 +0200 |
Hi folks,
sorry again for being so silent lately, I was (and still am) too busy
with too many other projects. :(
Anyway.. I'm trying to cross-compile Gnash form a ARM-based PDA ("TDS
Nomad", www.sdgsystems.com/Nomad/) and I ran into a few problems, one
of which I cannot resolve..
This PDA runs Angstrom Linux with QT 4.4.2 on a 800 MHz XScale. The
Linux firmware is provided by SDG Systems and the full cross-compiling
toolchain is available on their website.
Now, here are the problems I had while building:
1) The "configure" script claimed that the QT development files are
not installed. I think the problem is caused by this test:
if test x"${build_qt4}" = xyes -a x"${ac_cv_path_qt4_incl}" = x; then
I think this should be
if test x"${build_qt4}" = xyes -a ! x"${ac_cv_path_qt4_incl}" = x; then
Changing this line makes "configure" complete successfully.
2) This is very odd. The Makefile for libcore seems to miss the Boost
include path:
../libcore/StringPredicates.h:24:46: error: boost/algorithm/string/compare.hpp:
No such file or directory
../libcore/StringPredicates.h:25:48: error:
boost/algorithm/string/predicate.hpp: No such file or directory
I solved this by creating a symlink "libcore/boost"
3) Now I can build a portion of Gnash but I get lots of warnings and
finally it fails because of some overloaded operator:
------------------------------------------------------------8<--------
amf_msg.cpp: In static member function ‘static boost::shared_ptr<amf::Buffer>
amf::AMF_msg::encodeContextHeader(uint16_t, uint16_t, uint16_t)’:
amf_msg.cpp:47: error: ambiguous overload for ‘operator=’ in ‘buf.
boost::shared_ptr<T>::operator* [with T = amf::Buffer]() = ({...})’
buffer.h:166: note: candidates are: amf::Buffer& amf::Buffer::operator=(const
std::string&) <near match>
buffer.h:167: note: amf::Buffer& amf::Buffer::operator=(const
char*) <near match>
buffer.h:174: note: amf::Buffer& amf::Buffer::operator=(double)
buffer.h:181: note: amf::Buffer&
amf::Buffer::operator=(uint16_t)
buffer.h:188: note: amf::Buffer& amf::Buffer::operator=(uint8_t)
buffer.h:195: note: amf::Buffer&
amf::Buffer::operator=(uint8_t*) <near match>
buffer.h:202: note: amf::Buffer&
amf::Buffer::operator=(amf::Element::amf0_type_e) <near match>
buffer.h:209: note: amf::Buffer& amf::Buffer::operator=(bool)
------------------------------------------------------------8<--------
I tried with Boost 1.35 and Boost 1.38 (same result) and with Gnash
1.3.5 (building fails on some Boost stuff in libbase) and a fresh Bzr
Trunk checkout (result as described above).
The libraries GifLib, Boost, Agg 2.5 and SDL had been successfully
cross-compiled before.
My "configure" options:
PATH=/opt/sdg/angstrom2007.12/sdk/bin:$PATH \
CC=arm-angstrom-linux-gnueabi-gcc \
GCC=arm-angstrom-linux-gnueabi-gcc \
CXX=arm-angstrom-linux-gnueabi-gcc \
STRIP=arm-angstrom-linux-gnueabi-strip \
LD=arm-angstrom-linux-gnueabi-ld \
./configure \
--host=arm-linux \
--enable-fps-debug \
--enable-gui=qt4 \
--with-top-level=/opt/sdg/angstrom2007.12/sdk/arm-angstrom-linux-gnueabi \
--with-qt4-incl=/opt/sdg/angstrom2007.12/sdk/arm-angstrom-linux-gnueabi/include/qt4
\
--with-qt4-lib=/opt/sdg/angstrom2007.12/sdk/arm-angstrom-linux-gnueabi/lib \
--enable-mit-shm \
--with-boost-incl=../boost_1_38_0/boost \
--with-boost-lib=../boost_1_38_0/stage/lib \
--with-gif-incl=../giflib-4.1.6/lib \
--with-gif-lib=../giflib-4.1.6/lib/.libs \
--with-agg-incl=../agg-2.5/include \
--with-agg-lib=../agg-2.5/src \
--with-sdl-incl=../SDL-1.2.8/include \
--with-sdl-lib=../SDL-1.2.8/src/.libs
And the "make" call:
PATH=/opt/sdg/angstrom2007.12/sdk/bin:$PATH \
CC=arm-angstrom-linux-gnueabi-gcc \
GCC=arm-angstrom-linux-gnueabi-gcc \
CXX=arm-angstrom-linux-gnueabi-gcc \
STRIP=arm-angstrom-linux-gnueabi-strip \
LD=arm-angstrom-linux-gnueabi-ld \
make
Configure output: http://paste.debian.net/32622/
Make output: http://paste.debian.net/32621/
Any idea what's wrong?
Thanks,
Udo
- [Gnash-dev] cross-compiling for ARM / Angstrom: bugs and problems,
Udo Giacomozzi <=
Re: [Gnash-dev] cross-compiling for ARM / Angstrom: bugs and problems, Rob Savoye, 2009/04/11