[Clfs-dev] Help cross coimpiling libvorbis to ARM

Ivan Kabaivanov chepati at yahoo.com
Wed Feb 6 19:59:53 PST 2008


On Wednesday 06 February 2008, Luís Vitório Cargnini wrote:
> Dear fellows,
> Please I need some help cross compiling libvorbis for ARM.
> The libogg is ok, the problem is in libvorbis after some compile lines
> correct is produced the following error:
> make[3]: Entering directory
> `/home/lvcargnini/puc/instramed/toolchain/sources/ogg_vorbis/libvorbis-1.2.
>0/lib' /bin/sh ../libtool  --mode=link arm-linux-gnueabi-gcc  -O20
> -ffast-math -D_REENTRANT -fsigned-char  -DUSE_MEMORY_H
> -L/opt/arm-linux/arm-linux-gnueabi/usr/lib   -o libvorbis.la -rpath
> /usr/lib -no-undefined -version-info 4:0:4 mdct.lo smallft.lo block.lo
> envelope.lo window.lo lsp.lo lpc.lo analysis.lo synthesis.lo psy.lo
> info.lo floor1.lo floor0.lo res0.lo mapping0.lo registry.lo
> codebook.lo sharedbook.lo lookup.lo bitrate.lo -logg   -lm
> rm -fr  .libs/libvorbis.so.0.4.0
> arm-linux-gnueabi-gcc -shared  .libs/mdct.o .libs/smallft.o
> .libs/block.o .libs/envelope.o .libs/window.o .libs/lsp.o .libs/lpc.o
> .libs/analysis.o .libs/synthesis.o .libs/psy.o .libs/info.o
> .libs/floor1.o .libs/floor0.o .libs/res0.o .libs/mapping0.o



Concentrate on the lines below.  It appears your arm chroot is 
in /opt/arm-linux/arm-linux-gnueabi, but the linker tries to link libvorbis 
to the host libogg, which is a different architecture.  Unless you want to 
fiddle with LDFLAGS, which doesn't always work (at least for me), my 
experience is that sometime brute force works better -- modify the correct 
Makefile (basically any Makefile in the libvorbis-1.2.0 directory and its 
subdirectories) that contains /usr/lib/libogg.so and replace that with -logg, 
making sure that somewhere in that line there's a -L/directory/to/libogg.

Furthermore, there must be an argument to libvorbis configure script, 
something like --with-ogg=dir that will be the correct solution.  
Do ./configure --help.

IvanK.




> .libs/registry.o .libs/codebook.o .libs/sharedbook.o .libs/lookup.o
> .libs/bitrate.o  -L/opt/arm-linux/arm-linux-gnueabi/usr/lib
> /usr/lib/libogg.so -lm  -Wl,-soname -Wl,libvorbis.so.0 -o
> .libs/libvorbis.so.0.4.0
> /usr/lib/libogg.so: could not read symbols: File in wrong format
>
> This is not a problem in the source code but in the conf, autoconf tools.
>
> The problem as you all can see is the /usr/lib/libogg.so near the end
> in compilation command. How to avoid this and obligate it to use only
> -logg nothing else.
> Someone have already figure out this problem.





More information about the Clfs-dev mailing list