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

Keith Kyzivat
Tue, 01 Apr 2008 17:37:50 -0000

IIRC, under ARM, I believe I was having issues with --without-libogg.
I resorted to just downloading libogg sources, setting up my
cross-compilation environment, and cross compiling it per the general build
directions (./configure, make, make install), then went back to building
speex -- everything worked like a charm for me then.

So -- Conrad.  *Make sure* that you have libogg cross-compiled and installed
to your cross-compilation environment before you compile speex.

Make doubly sure that you're not pulling in your host's header files or
libraries.  This is *very* important -- it will keep breaking if you do.


On Tue, Apr 1, 2008 at 12:05 PM, Jean-Marc Valin <
jean-marc.valin at usherbrooke.ca> wrote:

> 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
> >>
> >>
> > _______________________________________________
> > 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
>



--
Keith Kyzivat

SIPez LLC.
SIP VoIP, IM and Presence Consulting
http://www.SIPez.com
tel: +1 (617) 273-4000
-------------- next part --------------
An HTML attachment was scrubbed...