linphone-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-users] cross compiling "Read.arm"


From: god lu
Subject: [Linphone-users] cross compiling "Read.arm"
Date: Sun, 24 Jun 2007 19:46:04 +0800

Hi, all
     I have cross-compiled linphone-1.2.0 following the article wrote by Raja Mallik    Mon, 23 Jan 2006 12:09:24 -0800.
     Below is the content:
Hi all, 

Users who are interested in cross-compiling "linphone" to other
architecture(arm). This "Read.arm" should be usefull. I have taken
"Simon's" README.arm as reference to do changes.

You can use the steps in your host PC and send feedback.

Raja Mallik
        
LINPHONE ON ARM-LINUX (cross-compiling on host for target architecture)

This is based on reference of README.arm by "Simon" that you may find in 
linphone-1.2.0 version. These modified steps helps you to cross compile on any 
i386 hosr for arm target.

Pakages & Dependencies: (Download these from net)
1) linphone-1.2.0
2) libosip2-2.2.2
3) libogg-1.1.0
4) speex-1.1.11.1
5) oRTP ( this is always there in linphone packages)

Arm cross tools chain used:
    arm-linux-gcc-3.4.1.tar.bz2


A) Build enviornment setup: ( assume you are on root)
   #tar -xvjf arm-linux-gcc-3.4.1.tar.bz2
   #export PATH=$PATH:/root/usr/local/arm/3.4.1/bin
   #export LD=/root/usr/local/arm/3.4.1/bin/arm-linux-ld
   #export LDFLAGS=-L/root/usr/local/arm/3.4.1/arm-linux/lib

   #mkdir arm
   #cd arm 

   untar all the packeges from 1 to 4 mentioned above

   #cp linphone-1.2.0/ipkg/ipaq-config.site /root/.
   #export CONFIG_SITE=~/ipaq-config.site
   #mkdir /root/armbuild
   #export ARM_INSTALL_TREE=/root/armbuild

B) Cross -compiling libosip2-2.2.2
   #cd libosip2-2.2.2
   #./configure --prefix=/root/armbuild -host=i686-pc-linux --target=arm-linux
--disable-static
   #make
   #make install

C) Cross -compiling libogg-1.1.0
   #cd ../libogg-1.1.0
   #./configure --prefix=/root/armbuild --host=i686-pc-linux --target=arm-linux
--disable-static --enable-fixed-point
   #make
   #make install

D) Cross -compiling speex-1.1.11.1
   #cd ../speex-1.1.11.1
   #./configure --prefix=/root/armbuild --host=i686-pc-linux --target=arm-linux
--disable-static --enable-fixed-point --enable-arm-asm
--with-ogg=/root/armbuild/usr --with-ogg-libraries=/roo/armbuild/usr/lib
--with-ogg-headers=/root/armbuild/usr/include/ogg  
   #make
   #make install

E) Copy "libspeex.so.2.0.0" to your arm-tools.
   #cp /root/armbuild/usr/lib/libspeex.so.2.0.0
/root/usr/local/arm/3.4.1/arm-linux/lib

   #cd /root/usr/local/arm/3.4.1/arm-linux/lib
   #ln -s libspeex.so.2.0.0 libspeex.so
   #ln -s libspeex.so.2.0.0 libspeex.so.2

F) Cross compile linphone-1.2.0:
   Before you do so, take the "oRTP" portion in linphone-1.2.0 folder, and do
   the following:
   
   #cd /root/arm/linphone-1.2.0
   #cd oRTP
   ##./configure --prefix=/root/armbuild --host=i686-pc-linux
--target=arm-linux --disable-static --enable-fixed-point
   #make
   #make install 

   ##cp /root/armbuild/usr/lib/libortp.so.2.0.0
/root/usr/local/arm/3.4.1/arm-linux/lib

   #cd /root/usr/local/arm/3.4.1/arm-linux/lib
   #ln -s libortp.so.2.0.0 libortp.so.2
   #ln -s libortp.so.2.0.0 libortp.so

   Now, you may try to compile the "linphone" without GUI support or with
   console support.

   #cd /root/arm/linphone-1.2.0
   #./configure --prefix=/root/armbuild --host=i686-pc-linux --target=arm-linux
--disable-static --disable-glib --enable-gnome_ui=no --disable-manual
--enable-ipv6 --enable-alsa --with-osip=/root/armbuild/usr
--with-speex=/root/armbuild/usr
   #make
   #make install

   Thats all. Check you build folder "/root/armbuild" and you may need to
   strip symbols before putting on your embedded board.

   Kindly send Feed back!
   
   Raja Mallik
   
     I have executed all the commands successfully , but after putting /root/armbuild directory in my arm board (s3c2440), changing directoy to /root/armbuild/bin, executing command of "./linphonec", I got the error message,
  ./linphonec: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such file or directory
It doesn't denote which library is loading when error occurs, and which library can't be open and which library can't be loaded , etc.
I am confused.
 
So I re-compiled the linphone-1.2.0 with the same configure parameters used in the article in green but the different compiler--gcc.Then I changed the directory to linphone-1.2.0/console/.libs/ and executed "ldd linphonec",  bellow is message:
 liblinphone.so.1 => /home/jimmy/linphone/lib/liblinphone.so.1 (0xf6fa2000)
 libdl.so.2 => /lib/libdl.so.2 (0x00bc3000)
 libc.so.6 => /lib/tls/libc.so.6 (0x00a75000)
 libortp.so.2 => /home/jimmy/linphone/lib/libortp.so.2 (0xf6f86000)
 libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00d6f000)
 libasound.so.2 => /lib/libasound.so.2 (0x0090c000)
 libspeex.so.1 => /home/jimmy/linphone/lib/libspeex.so.1 (0xf6f72000)
 libm.so.6 => /lib/tls/libm.so.6 (0x00b9e000)
 libosip2.so.3 => /home/jimmy/linphone/lib/libosip2.so.3 (0xf6f5b000)
 libosipparser2.so.3 => /home/jimmy/linphone/lib/libosipparser2.so.3 (0xf6f32000)
  libnsl.so.1 => /lib/libnsl.so.1 (0x03a3e000)
 librt.so.1 => /lib/tls/librt.so.1 (0x008da000)
 /lib/ld-linux.so.2 (0x00a5c000)
 
 Then I find there are two libs the arm board didn't have. They are libasound, and librt.
 Does that mean I have to port the libasound and librt to my arm board?
 Could anyone help me to solve this problem? 
 
Thank you in advance.
 
Jimmy Lu


--

Today is most important.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]