Sunday, March 16, 2014

Build ARCH LINUX package into Debian

SVOX –PICO,
 Build  ARCH LINUX  package into Debian ARM 6/7

Svox – pico is small foot print for test to speech engine which is free to download from
AUR distribution. To compile it at arm 6/7 it requires a patch which is also available to download form AUR site. For more details about this package please read the following link
https://aur.archlinux.org/packages/svox-pico-git/?setlang=en
To patch a package is a easy task when the patch is available. This document only the patching way which may be useful for a new linux user.  I explained it step by step .

Step 1. Download tarball of the patch and svox-pico from AUR site which is referenced above.
Step 2. Extract the main package and the patch, you may use tar command to extract.
Step 3. Copy the content of  patch directory into the directory svox package   where you have just extracted. As an example I extracted svox-pico  into pico directory and patch into patch directory.
So, I need to copy the patch (lm.patch) file to this directory as below
       sudo cp /pathtodirectory/patch/lm.patch  /pathtodirectory/svox-picopico/lm.patch
Step 4. Now it is needed to install another library, libtool.
             sudo apt-get install libtool
Step 5. Now it is time to do patch. To do it is required to enter into the directory
            where I have saved package. I have use these command sequentially to build and
            install in debian linux system.
cd /pathtodirectory/svox-picopico/
patch -p2 < ./lm.patch
            ./autogen.sh
./configure --prefix=/usr       
I received output message as
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
……..
when this process is finished it is required to invoke make. It is simple just write make in the console. I receive the following output.
  make
  CC     picoacph.lo
  CC     picoapi.lo
  CC     picobase.lo
  CC     picocep.lo
  CC     picoctrl.lo
…………….

Then I fixed where to install this build package. It should be /usr/lib/arm_version
            export LIB_DIR==/usr/lib/arm-linux-xxx
sudo make LIBDIR=${LIB_DIR} install
make[1]: Entering directory  
 /bin/mkdir -p '/usr/lib'
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   libttspico.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libttspico.so.0.0.0 /usr/lib/libttspico.so.0.0.0
libtool: install: (cd /usr/lib && { ln -s -f libttspico.so.0.0.0 libttspico.so.0 || { rm -f libttspico.so.0 && ln -s libttspico.so.0.0.0 libttspico.so.0; }; })
libtool: install: (cd /usr/lib && { ln -s -f libttspico.so.0.0.0 libttspico.so || { rm -f libttspico.so && ln -s libttspico.so.0.0.0 libttspico.so; }; })
libtool: install: /usr/bin/install -c .libs/libttspico.lai /usr/lib/libttspico.la
libtool: install: /usr/bin/install -c .libs/libttspico.a /usr/lib/libttspico.a
libtool: install: chmod 644 /usr/lib/libttspico.a
libtool: install: ranlib /usr/lib/libttspico.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------
 Step 6. sudoo reboot 
         svox-pico is now installed ,




Tuesday, February 25, 2014

                            PROCESS LIST : ps COMMAND
In embedded linux system It is often required to see the list of process which is running on the embedded linux system . In linux it is possible to generate a process  list by writing the following command.
ps  -[option ]
option consist of
-a : list of information about all the process except group loader/process
-A : list of information of all the process
-e :  list of information of all the process which are running
-d: list of information about all the process except session loader
-f : generate a full list
-j : list of session id and group id
-l : generate a long list

it is often used one or more option in together.  Most of the cases I use ps -ef  command to generate a
list which contain all the process those are running
More nicely
ps -ef | grep process_name_to see > processname.txt

which will write the desired process status into destination file.