gnash-dev
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]