[Speex-dev] cross compilation for ARM - ogg headers problem

Conrad Parker
Tue, 01 Apr 2008 10:02:54 -0000

On 01/04/2008, Erwan A <mout551 at hotmail.fr>
wrote:
>
>  Hi,
>
>  Yes i agree with you. You don't have to delete these files.
>
>  But if i cross compile with ogg header files, i have the following error :
>
>
>   /usr/lib/libogg.so: could not read symbols: Invalid operation
>   collect2: ld returned 1 exit status
>   make[2]: *** [speexenc] Erreur 1
>   make[2]: quittant le r?pertoire ? /usr/src/linphone/arm/speex-1.1.6/src ?
>   make[1]: *** [all-recursive] Erreur 1
>   make[1]: quittant le r?pertoire ? /usr/src/linphone/arm/speex-1.1.6 ?
>   make: *** [all] Erreur 2
>
>
>
> Anyone have any ideas why this isn't working?

It looks like it's trying to link against your host libogg, not the
cross-compiled version.

Perhaps you should set your PKG_CONFIG_PATH to point to the where your
cross-compiled libogg.pc is, or just use the --with-ogg-libraries=DIR
option to ./configure.

cheers,

Conrad.

>
>  Regards,
>  Erwan
>
>  ----------------------------------------
>  > Date: Tue, 1 Apr 2008 18:26:27 +0900
>  > From: conrad at metadecks.org
>  > To: speex-dev at xiph.org
>  > Subject: Re: [Speex-dev] cross compilation for ARM - ogg headers
problem
>
> >
>  > Hi,
>  >
>  > this problem seems to be coming up a lot lately -- the README.arm in
>  > linphone tells people to remove libogg headers, but speexenc and
>  > speexdec require them to build.
>  >
>  > Perhaps we need a README.arm in libspeex telling people not to remove
>  > the libogg headers.
>  >
>  > K.
>  >
>
> > On 01/04/2008, Erwan A  wrote:
>  >>
>  >>  Hi all,
>  >>
>  >>  I am following  the README.arm from Simon to cross compile
linphone from my PC to an arm architecture. But i encounter problems about the
ogg header.
>  >>
>  >>  I have this following error when i write this line :
>  >>
>  >>  ./configure --prefix=/usr --host=arm-linux --with-gnu-ld
--disable-static --enable-fixed-point --enable-arm-asm
>  >>
>  >>  the error is :
>  >>  .
>  >>  .
>  >>  make[2]: entrant dans le r?pertoire ? /arm/speex-1.1.11/src ?
>  >>  if arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include
-I../include -I.. -I/root/armbuild/usr/include  -O2 -fno-exceptions  -O2
-fno-exceptions -MT speexenc.o -MD -MP -MF ".deps/speexenc.Tpo" -c -o
speexenc.o speexenc.c; \
>  >>         then mv -f ".deps/speexenc.Tpo"
".deps/speexenc.Po"; else rm -f ".deps/speexenc.Tpo"; exit
1; fi
>  >>  speexenc.c:49:21: ogg/ogg.h: Aucun fichier ou r?pertoire de ce
type
>  >>  speexenc.c:68: error: parse error before '*' token
>  >>  speexenc.c: In function `oe_write_page':
>  >>  speexenc.c:71: error: `page' undeclared (first use in this
function)
>  >>  speexenc.c:71: error: (Each undeclared identifier is reported
only once
>  >>  speexenc.c:71: error: for each function it appears in.)
>  >>  speexenc.c:71: error: `fp' undeclared (first use in this
function)
>  >>  speexenc.c: In function `main':
>  >>  speexenc.c:267: error: `ogg_stream_state' undeclared (first
use in this function)
>  >>  speexenc.c:267: error: parse error before "os"
>  >>  speexenc.c:268: error: `ogg_page' undeclared (first use in
this function)
>  >>  speexenc.c:269: error: `ogg_packet' undeclared (first use in
this function)
>  >>  speexenc.c:438: error: `os' undeclared (first use in this
function)
>  >>  speexenc.c:632: error: `op' undeclared (first use in this
function)
>  >>  speexenc.c:648: error: `og' undeclared (first use in this
function)
>  >>  make[2]: *** [speexenc.o] Erreur 1
>  >>  make[2]: quittant le r?pertoire ? /arm/speex-1.1.11/src ?
>  >>  make[1]: *** [all-recursive] Erreur 1
>  >>  make[1]: quittant le r?pertoire ? /arm/speex-1.1.11 ?
>  >>  make: *** [all] Erreur 2
>  >>
>  >>
>  >>  I had to follow this rules but i dont know how to solve the
problem :
>  >>
>  >>  First you need to remove ogg headers from your build system to
avoid a dirty conflict between
>  >>  your build machine binaries and the arm binaries. They are
usually in a libogg-dev package (rpm or deb).
>  >>
>  >>
>  >>  So, i have cross compiled libogg and put the ogg.h in the
/usr/include/ogg/ directory of my host. and now i have this following error :
>  >>
>  >>  /usr/lib/libogg.so: could not read symbols: Invalid operation
>  >>  collect2: ld returned 1 exit status
>  >>  make[2]: *** [speexenc] Erreur 1
>  >>  make[2]: quittant le r?pertoire ?
/usr/src/linphone/arm/speex-1.1.6/src ?
>  >>  make[1]: *** [all-recursive] Erreur 1
>  >>  make[1]: quittant le r?pertoire ?
/usr/src/linphone/arm/speex-1.1.6 ?
>  >>  make: *** [all] Erreur 2
>  >>
>  >>
>  >>  Do i miss somethings ?  I had to copy or remove some ogg headers
?
>  >>  Thanks for your help.
>  >>
>  >>  Regards
>  >>  Erwan.
>  >>
_________________________________________________________________
>  >>  D?couvrez les profils Messenger de vos amis !
>  >>  http://home.services.spaces.live.com/
>  >>  _______________________________________________
>  >>  Speex-dev mailing list
>  >>  Speex-dev at xiph.org
>  >>  http://lists.xiph.org/mailman/listinfo/speex-dev
>  >>
>  >>
>  > _______________________________________________
>  > Speex-dev mailing list
>  > Speex-dev at xiph.org
>  > http://lists.xiph.org/mailman/listinfo/speex-dev
>
>
> _________________________________________________________________
>  Vos e-mails vous suivent partout ! Mettez Hotmail sur votre mobile !
>  http://www.messengersurvotremobile.com/?d=hotmail