Erwan A
2008-Mar-28 10:23 UTC
[Speex-dev] speex - cross compil for ARM - problem ogg headers
Hi all,
I try to compile speex for ARM. I follow the README.arm and i always have the
same errors :
make[2]: entrant dans le r?pertoire ? /usr/src/linphone/arm/speex-1.1.6/src ?
source='speexenc.c' object='speexenc.o' libtool=no \
depfile='.deps/speexenc.Po'
tmpdepfile='.deps/speexenc.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../libspeex
-I/usr/include -O2 -fno-exceptions -O2 -fno-exceptions -c `test -f
'speexenc.c' || echo './'`speexenc.c
speexenc.c:49:21: ogg/ogg.h: Aucun fichier ou r?pertoire de ce type
speexenc.c:73: error: parse error before '*' token
speexenc.c: In function `oe_write_page':
speexenc.c:76: error: `page' undeclared (first use in this function)
speexenc.c:76: error: (Each undeclared identifier is reported only once
speexenc.c:76: error: for each function it appears in.)
speexenc.c:76: error: `fp' undeclared (first use in this function)
speexenc.c: In function `main':
speexenc.c:272: error: `ogg_stream_state' undeclared (first use in this
function)
speexenc.c:272: error: parse error before "os"
speexenc.c:273: error: `ogg_page' undeclared (first use in this function)
speexenc.c:274: error: `ogg_packet' undeclared (first use in this function)
speexenc.c:443: error: `os' undeclared (first use in this function)
speexenc.c:641: error: `op' undeclared (first use in this function)
speexenc.c:657: error: `og' undeclared (first use in this function)
make[2]: *** [speexenc.o] Erreur 1
make[2]: quittant le r?pertoire ? /usr/src/linphone/arm/speex-1.1.6/src ?
I have remove the file /usr/include/ogg/ogg.h.
Someone can help me
Thanks,
Erwan
> Hi,
> You should never point cross compiler to host includes, this may lead
> to unpredictable results. You should cross-compile libogg and poiint
> to crosscompiled version for includes. Hopefully this will solve your
> problem.
> --
> Regards,
> Alexander Chemeris.
So i have cross compiled libogg. Then i modified the speex-1.1.6 Makefile by
changing the path of the includedir variable:
includedir = $path_of_my_new_cross_compiled_libogg /include
But i have still the same errors.
Anyone have any ideas why this isn't working?
Regards,
Erwan
_________________________________________________________________
Cr?ez gratuitement votre disque dur virtuel Windows Live SkyDrive !
http://skydrive.live.com
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/
Conrad Parker
2008-Apr-01 09:26 UTC
[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 <mout551 at hotmail.fr> 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 > >