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

Jean-Marc Valin
Tue, 01 Apr 2008 16:05:03 -0000

I think --without-libogg should do the trick, no? (though I haven't
actually tried it)

	Jean-Marc

Conrad Parker a ?crit :
> 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
>>
>> _______________________________________________
>>  Speex-dev mailing list
>>  Speex-dev at xiph.org
>>  http://lists.xiph.org/mailman/listinfo/speex-dev
>>
>>