Talk:Additional Information

From Ekiga

Jump to: navigation, search

Contents

How did I install Ekiga SVN with all video codecs on Ubuntu Gutsy UPDATED 2nd february 2008

CHROOT

INSTALL debootstrap and dchroot I used debootstrap 1.0.1 from feisty backport

sudo mkdir /var/chroot-gutsy
sudo editor /etc/dchroot.conf
sudo editor /etc/dchroot.conf

ADD this line:

mychroot-gutsy /var/chroot-gutsy

Note: set debootstrap arch to match your system : i386 usually, amd64 if you're using AMD64 platform (in this case you can still use i386)...

i386:

sudo debootstrap --variant=buildd --arch i386 gutsy /var/chroot-gutsy/ http://archive.ubuntu.com/ubuntu/

amd64:

sudo debootstrap --variant=buildd --arch amd64 gutsy /var/chroot-gutsy/ http://archive.ubuntu.com/ubuntu/
sudo cp /etc/resolv.conf /var/chroot-gutsy/etc/resolv.conf
sudo chroot /var/chroot-gutsy/
root@<computer>:/# mount /proc
root@<computer>:/# apt-get update

ADD verification on repositories with gnupg

root@<computer>:/# apt-get install ubuntu-keyring

CLEAN the gpg error message

root@<computer>:/# apt-get update

INSTALL aptitude to easily remove packages

root@<computer>:/# apt-get install aptitude

Some tools to ease the process

root@<computer>:/# aptitude install wget nano locales dialog apt-utils
root@<computer>:/# locale-gen en_GB.UTF-8  # or your preferred locale like fr_FR.UTF-8

SET the repositories we need to gracefuly resolve build and runtime dependencies

root@<computer>:/# nano /etc/apt/sources.list

BE SURE YOU HAVE THIS LIST:

deb http://archive.ubuntu.com/ubuntu gutsy main universe multiverse
deb-src http://archive.ubuntu.com/ubuntu gutsy main

CTRL-O to save your new source.list

CRTL-X to exit the editor.

UPDATE you package list; this grant you access to all the packages Ekiga require to built

root@<computer>:/# apt-get update

NOW WE LOG OUT

root@<computer>:/# exit

Let the magic begins: CUSTUMIZING THE CHROOT

Fix the user and root password

sudo cp /etc/passwd /var/chroot-gutsy/etc/
sudo sed 's/\([^:]*\):[^:]*:/\1:*:/' /etc/shadow | sudo tee /var/chroot-gutsy/etc/shadow
sudo cp /etc/group /var/chroot-gutsy/etc/
sudo cp /etc/hosts /var/chroot-gutsy/etc/ # avoid sudo warnings when it tries to resolve the chroot's hostname

Enable sudo and setup your passwords for root and the first sudo user in the admin group:

sudo cp /etc/sudoers /var/chroot-gutsy/etc/
sudo chroot /var/chroot-gutsy/
root@<computer>:/# dpkg-reconfigure passwd
root@<computer>:/# passwd <ubuntu user> #your first ubuntu user in the admin group

WROTE YOUR PASSWORD DOWN: YOU'LL NEED IT FOR SUDO !

Install the sudo package to be able to use it being in chroot:

root@<computer>:/# aptitude install sudo
root@<computer>:/# exit
sudo editor /etc/fstab

ADD those lines in your fstab

# CHROOT GUTSY
/proc /var/chroot-gutsy/proc none rbind 0 0 # Can just be mounted, comments?
/dev /var/chroot-gutsy/dev none rbind 0 0 # Good thing todo, but not secure.
/sys /var/chroot-gutsy/sys none rbind 0 0 # Same as proc?
/tmp /var/chroot-gutsy/tmp none rbind 0 0 # This opens a lot of doors, namly X sockets are here... DRI should work assuming bits match.
/home /var/chroot-gutsy/home none rbind 0 0 # This is optional.  As are the others, but this is more so.
/media /var/chroot-gutsy/media none rbind 0 0 # Your USB stick.
/lib/modules /var/chroot-gutsy/lib/modules none rbind 0 0 # You may need to load modules??  Think binfmt_misc.
/var/run/dbus/ /var/chroot-gutsy/var/run/dbus/ none rbind 0 0 # Gnome likes this.
# Others??  /etc?

CTRL-O to save your new fstab

CRTL-X to exit the editor.

Mount your new fstab:

sudo mount -a

Enter the chroot:

sudo chroot /var/chroot-gutsy/

The default bash profile includes chroot information in the prompt. To make this visible:

root@<computer>:/# echo mychroot-gutsy >> /etc/debian_chroot
root@<computer>:/# exit

YOU CAN NOW USE YOUR CHROOT AS A NORMAL USER :)

Now when you want to use your chroot (you may omit the -c mychroot if there's only one, or you just want the first one in the file). The -d parameter means that your environment will be preserved, this is generally useful if you want chrooted applications to seamlessly use your X server, your session manager, etc.

dchroot -c mychroot-gutsy -d
(mychroot-gutsy)<user>@<computer>:~$ 

Let's upgrade the whole system

(mychroot-gutsy)<user>@<computer>:~$ sudo apt-get update
(mychroot-gutsy)<user>@<computer>:~$ sudo apt-get dist-upgrade

PTLIB

Create a directory for our build

(mychroot-gutsy)<user>@<computer>:~$ mkdir chroot-gutsy
(mychroot-gutsy)<user>@<computer>:~$ cd chroot-gutsy/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ 

Build time dependencies for PTLIB:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ sudo aptitude install libdc1394-dev bison flex libssl-dev libldap2-dev libexpat1-dev g++ autotools-dev libasound2-dev libavc1394-dev libraw1394-dev libdv-dev libsasl2-dev linux-libc-dev

Install Subversion:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ sudo aptitude install subversion

Download source for PTLIB:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk ptlib
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ cd ptlib/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib/$ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib/$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib/$ sudo make install

OPAL

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/pwlib/$ cd ..
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk opal

Build time dependencies:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ sudo aptitude install libspeex-dev libx264-dev libtheora-dev

We also need to compile last ffmpeg SVN:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
[snip]
Checked out revision 12758.
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ cd ffmpeg
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ ./configure --prefix=/usr
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ sudo make install
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/$ cd ../opal/

NOTE: Be sure to correctly set the --with-ffmpeg-src-dir= option to the right path where your ffmpeg source tree is.

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ ./configure --prefix=/usr --with-ffmpeg-src-dir=/home/<user>/chroot-gutsy/ffmpeg/
[snip]
================ Codec Plugin configuration ===================
          Installing into prefix  :  /usr

                           H.261  :  enabled
                           H.263  :  enabled
                           H.263+ :  enabled
                           H.264  :  enabled
                          THEORA  :  enabled
                    MPEG4 Part 2  :  enabled

                         OS Type  :  linux-gnu
                    Machine Type  :  x86_64

 If all settings are OK, type make and make install 
========================================================
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ sudo make install

Ekiga

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ cd ..
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ svn co http://svn.gnome.org/svn/ekiga/trunk ekiga
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy$ cd ekiga/

Build time dependencies for Ekiga:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ sudo aptitude install gnome-common libsasl2-dev gettext libgnome2-dev libldap2-dev libgconf2-dev autoconf libgnomeui-dev libxv-dev intltool  automake1.8 scrollkeeper libxml-parser-perl evolution-data-server-dev libavahi-common-dev libavahi-client-dev libavahi-glib-dev gnome-doc-utils libsigc++-2.0-dev libdbus-glib-1-dev libebook1.2-dev
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ ./autogen.sh --prefix=/usr --sysconfdir=/etc/
================ Final configuration ===================
          Installing into prefix  :  /usr

                 OPAL Version is  :  3.3.0
               OPAL Directory is  :  /usr
                PTLIB Version is  :  2.3.0
              PTLIB Directory is  :  /usr
                 ptlib-config is  :  /usr/bin/ptlib-config


                   GNOME support  :  enabled
                   GConf support  :  enabled
   Evolution-Data-Server support  :  enabled
                  Esound support  :  enabled
                    LDAP support  :  enabled

                  XVideo support  :  enabled

                    DBUS support  :  enabled
            DBUS service support  :  enabled
             mDNS/DNS-SD support  :  enabled

                         OS Type  :  linux-gnu
                    Machine Type  :  x86_64
                      Byte Order  :  little endian

 If all settings are OK, type make and make install 
========================================================
Now type `make' to compile ekiga
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ sudo make install

Ekiga run-time

In order to get Ekiga working in the chroot, you need to install some run-time dependencies:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ sudo aptitude install libart-2.0-2 libatk1.0-0 libavahi-client3 libavahi-common3 libavahi-glib1 libbonobo2-0 libbonoboui2-0 libc6 libcairo2 libdbus-1-3 libdbus-glib-1-2 libebook1.2-9 libedataserver1.2-9 libesd-alsa0 libfontconfig1 libfreetype6 libgcc1 libgconf2-4 libglib2.0-0 libgnome-keyring0 libgnome2-0 libgnomecanvas2-0 libgnomeui-0 libgnomevfs2-0 libgtk2.0-0 libice6 liborbit2 libpango1.0-0 libpng12-0 libpopt0 libsigc++-2.0-0c2a libsm6 libstdc++6 libx11-6 libxcursor1 libxext6 libxfixes3 libxi6 libxinerama1 libxml2 libxrandr2 libxrender1 libxv1 zlib1g evolution-data-server hal network-manager

Try it:

(mychroot-gutsy)<user>@<computer>:$ ekiga

Gconf error?

If you have a stable version of ekiga in your system, your freshly installed version of Ekiga SVN might complain about gconf. Use this command to fix it:

(mychroot-gutsy)<user>@<computer>:$ killall -9 gconfd-2

How to search the Ekiga White Pages ?

As now, the SVN version do not have the settings filled for the Ekiga White Pages, you must enter the necessary datas yourself in Tools -> Find Contacts -> AddressBook -> Add an LDAP AddressBook:

Ekiga White Pages
ldap.ekiga.net
389
dc=ekiga,dc=net
Subtree
telephoneNumber

How-to upgrade to a newer SVN checkout ?

Log into your chroot:

dchroot -c mychroot-gutsy -d
(mychroot-gutsy)<user>@<computer>:~$ 

Remove the binaries

Go into each folder where you previously build and use this command sudo make uninstall:

(mychroot-gutsy)<user>@<computer>:~$ cd chroot-gutsy/ptlib
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ sudo make uninstall
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ cd ~/chroot-gutsy/opal
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ sudo make uninstall
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ cd ~/chroot-gutsy/ekiga
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ sudo make uninstall

Upgrade your SVN copies

Go into each folder (PTLIB, OPAL and Ekiga) and use this command svn update:

(mychroot-gutsy)<user>@<computer>:~$ cd ~/chroot-gutsy/ptlib
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ svn update
(...)
Updated to revision 19500.
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ cd ~/chroot-gutsy/opal
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ svn update
(...)
Updated to revision 19500.
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ cd ~/chroot-gutsy/ekiga
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ svn update
(..)
Updated to revision 5964.

Upgrade your system

(mychroot-gutsy)<user>@<computer>:~$ sudo apt-get update
(mychroot-gutsy)<user>@<computer>:~$ sudo apt-get dist-upgrade

Build the binaries

PTLIB

(mychroot-gutsy)<user>@<computer>:~$ cd ~/chroot-gutsy/ptlib/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ make clean

I disabled AVC and DC plugin because they give errors here: vidinput_avc.h:104: error: invalid covariant return type for ‘virtual PStringList PVideoInputDevice_1394AVC::GetDeviceNames() const’ /home/yan/chroot-gutsy/ptlib/include/ptlib/videoio.h:232: error: overriding ‘virtual PStringArray PVideoDevice::GetDeviceNames() const’ vidinput_avc.cxx: In member function ‘virtual PBoolean PVideoInputDevice_1394AVC::Start()’:

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl --disable-avc --disable-dc
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ sudo make install

OPAL

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ptlib$ cd ../opal/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ make clean

Change the <user> to match yours.

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ ./configure --prefix=/usr --enable-localspeex --with-ffmpeg-src-dir=/home/<user>/chroot-gutsy/ffmpeg-0.cvs20070307/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ sudo make install

Ekiga

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/opal$ cd ../ekiga/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ make clean
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ ./autogen.sh --prefix=/usr --sysconfdir=/etc/
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ make
(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ sudo make install

Give it a try

(mychroot-gutsy)<user>@<computer>:~/chroot-gutsy/ekiga$ ekiga

Sometimes, I've a crash at startup. You can try this:

(mychroot-gutsy)<user>@<computer>:$ killall -9 gconfd-2

Enjoy.

HOW I did compiled Ekiga HEAD in a chroot with video codecs (Ubuntu Feisty, amd64)

Time: 2007/08/13

Setup a chroot

Setup a chroot; like explained here: https://help.ubuntu.com/community/DebootstrapChroot

I used this flavor:

sudo debootstrap --variant=buildd --arch amd64 feisty /var/chroot/ http://archive.ubuntu.com/ubuntu/

Use this source.list:

deb http://archive.ubuntu.com/ubuntu feisty main
deb http://archive.ubuntu.com/ubuntu feisty universe
deb-src http://archive.ubuntu.com/ubuntu feisty universe
deb http://archive.ubuntu.com/ubuntu feisty multiverse

PWLIB

aptitude install libdc1394-dev bison flex libssl-dev libldap2-dev libexpat1-dev g++ autotools-dev libasound2-dev libavc1394-dev libraw1394-dev libdv-dev libsasl2-dev linux-libc-dev
wget http://snapshots.seconix.com/cvs/cvs/pwlib-cvs.tar.gz
tar xfvz pwlib-cvs.tar.gz
cd pwlib/
./configure --build x86_64-linux-gnu --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl
make
sudo checkinstall

OPAL

cd ..
wget http://snapshots.seconix.com/cvs/cvs/opal-cvs.tar.gz
tar xfvz opal-cvs.tar.gz

ENABLE UNIVERSE REPOSITORY TO GET FFMPEG-DEV (libavcodec-dev libavformat-dev)

ENABLE MULTIVERSE REPOSITORY TO GET LIBX264-DEV

INSTALL LIBTHEORA-DEV (UNIVERSE ???)

INSTALL FFMPEG SOURCE TREE

$ sudo aptitude install libspeex-dev libavcodec-dev libavformat-dev libx264-dev libtheora-dev
apt-get source ffmpeg
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Reading state information... Fait       
Nécessité de prendre 2328ko dans les sources.
Réception de : 1 http://archive.ubuntu.com feisty/universe ffmpeg 3:0.cvs20060823-3.1ubuntu4 (dsc) [1031B]
Réception de : 2 http://archive.ubuntu.com feisty/universe ffmpeg 3:0.cvs20060823-3.1ubuntu4 (tar) [2310kB]
Réception de : 3 http://archive.ubuntu.com feisty/universe ffmpeg 3:0.cvs20060823-3.1ubuntu4 (diff) [17,3kB]                
2328ko réceptionnés en 17s (130ko/s)                                                                                        
gpg: Signature made dim 28 jan 2007 21:52:34 UTC using DSA key ID 945348A4
gpg: Can't check signature: public key not found
dpkg-source: extracting ffmpeg in ffmpeg-0.cvs20060823
dpkg-source: unpacking ffmpeg_0.cvs20060823.orig.tar.gz
dpkg-source: applying ./ffmpeg_0.cvs20060823-3.1ubuntu4.diff.gz

Now, the source tree of FFMPEG is installed in my working directory: /home/yan/Install/Internet/ekiga/chroot/ffmpeg-0.cvs20060823

cd opal/

This ./configure will try to build all video codecs (exept h263 which need a special ffmpeg version)

./configure --build x86_64-linux-gnu --prefix=/usr --with-mpeg4-ffmpeg=/home/yan/Install/Internet/ekiga/chroot/ffmpeg-0.cvs20060823

[snip]

================ Codec Plugin configuration ===================
          Installing into prefix  :  /usr
                           H.261  :  enabled
                           H.263  :  enabled
                           H.263+ :  enabled
                           H.264  :  enabled
                          THEORA  :  enabled
                    MPEG4 Part 2  :  enabled
                         OS Type  :  linux-gnu
                    Machine Type  :  x86_64
 If all settings are OK, type make and make install 
========================================================

WARNING: on Feisty MPEG4 and x264 breaks compilation!

MPEG4 gives this error:

make[3]: Entering directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/MPEG4-ffmpeg'
gcc -I../../../include  -fPIC  -g -O2 -I/home/yan/Install/Internet/ekiga/chroot/ffmpeg-0.cvs20060823 -I/home/yan/Install/Internet/ekiga/chroot/ffmpeg-0.cvs20060823/libavutil -c mpeg4.cxx -o obj/mpeg4.o
mpeg4.cxx:140:36: error: libavutil/intreadwrite.h: No such file or directory
make[3]: *** [obj/mpeg4.o] Error 1
make[3]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/MPEG4-ffmpeg'
make[2]: *** [opt] Error 2
make[2]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins'
make[1]: *** [opt] Error 2
make[1]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal'
make: *** [optshared] Error 2

THERE IS NO libavutil/intreadwrite.h, BUT THERE IS libavutil/intfloat_readwrite.h

x264 gives this error:

make[3]: Entering directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl'
g++ -I../../../include -I ..  -fPIC  -g -O2 -c ../shared/h264frame.cxx -o obj/h264frame.o
g++ -I../../../include -I ..  -fPIC  -g -O2 -c ../shared/trace.cxx -o obj/trace.o
g++ -I../../../include -I ..  -fPIC  -g -O2 -c enc-ctx.cxx -o obj/enc-ctx.o
g++ -I../../../include -I ..  -fPIC  -g -O2 -c h264helper_unix.cxx -o obj/h264helper_unix.o
g++ -lx264 -o h264_video_pwplugin_helper obj/h264frame.o obj/trace.o obj/enc-ctx.o obj/h264helper_unix.o
obj/h264frame.o: In function `H264Frame::SetFromFrame(x264_nal_t*, int)':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/../shared/h264frame.cxx:88: undefined reference to `x264_nal_encode'
obj/enc-ctx.o: In function `~X264EncoderContext':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:120: undefined reference to `x264_encoder_close'
obj/enc-ctx.o: In function `X264EncoderContext':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:66: undefined reference to `x264_param_default'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:105: undefined reference to `x264_encoder_open'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:66: undefined reference to `x264_param_default'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:105: undefined reference to `x264_encoder_open'
obj/enc-ctx.o: In function `X264EncoderContext::EncodeFrames(unsigned char const*, unsigned int&, unsigned char*, unsigned int&, unsigned int&)':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:209: undefined reference to `x264_encoder_close'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:212: undefined reference to `x264_encoder_open'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:239: undefined reference to `x264_encoder_encode'
obj/enc-ctx.o: In function `X264EncoderContext::ApplyOptions()':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:157: undefined reference to `x264_encoder_close'
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:158: undefined reference to `x264_encoder_open'
obj/enc-ctx.o: In function `~X264EncoderContext':
/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl/enc-ctx.cxx:120: undefined reference to `x264_encoder_close'
collect2: ld returned 1 exit status
make[3]: *** [h264_video_pwplugin_helper] Error 1
make[3]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins/video/H.264/gpl'
make[2]: *** [opt] Error 2
make[2]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal/plugins'
make[1]: *** [opt] Error 2
make[1]: Leaving directory `/home/yan/Install/Internet/ekiga/chroot/opal'
make: *** [optshared] Error 2

Here, I could use ffmpeg and x264 from CVS but i want to build with "official" package, for this reason I disabled those 2 codecs (h264 and MPEG4):

./configure --build x86_64-linux-gnu --prefix=/usr --disable-x264 
make
sudo make install

Note: OPAL can't be packaged with checkinstall...

Ekiga

cd ..
wget http://snapshots.seconix.com/cvs/cvs/ekiga-snapshot.tar.gz
tar xfvz ekiga-snapshot.tar.gz
cd ekiga/
$ sudo aptitude install gnome-common libsasl2-dev gettext libgnome2-dev libldap2-dev libgconf2-dev autoconf libgnomeui-dev libxv-dev intltool  automake1.8 scrollkeeper libxml-parser-perl evolution-data-server-dev libavahi-common-dev libavahi-client-dev libavahi-glib-dev gnome-doc-utils libsigc++-2.0-dev libdbus-glib-1-dev libebook1.2-dev
./autogen.sh --prefix=/usr --sysconfdir=/etc/
[snip]
configure.ac: installing `./install-sh'
configure.ac: installing `./missing'
lib/Makefile.am: installing `./depcomp'
lib/engine/plugins/Makefile.am:8: directory should not contain `/'
lib/engine/plugins/Makefile.am:8: directory should not contain `/'

IS THIS AN ERROR?

./configure --prefix=/usr --sysconfdir=/etc/
make
sudo checkinstall

Run time dependencies for Ekiga

To be able to run Ekiga from the chroot, you'll need to instal this:

sudo aptitude install libart-2.0-2 libatk1.0-0 libavahi-client3 libavahi-common3 libavahi-glib1 libbonobo2-0 libbonoboui2-0 libc6 libcairo2 libdbus-1-3 libdbus-glib-1-2 libebook1.2-9 libedataserver1.2-9 libesd-alsa0 libfontconfig1 libfreetype6 libgcc1 libgconf2-4 libglib2.0-0 libgnome-keyring0 libgnome2-0 libgnomecanvas2-0 libgnomeui-0 libgnomevfs2-0 libgtk2.0-0 libice6 liborbit2 libpango1.0-0 libpng12-0 libpopt0 libsigc++-2.0-0c2a libsm6 libstdc++6 libx11-6 libxcursor1 libxext6 libxfixes3 libxi6 libxinerama1 libxml2 libxrandr2 libxrender1 libxv1 zlib1g evolution-data-server

Start Ekiga in /usr/lib:

cd /usr/lib
(mychroot)yan@achille:/usr/lib$ ekiga

RESULT:

I've those video codecs in Ekiga: h261, theora, h263-1998

How did I compiled Ekiga on Ubuntu feisty

$ sudo apt-get install build-essential (stuff to compile)

(using checkinstall to easyly remove the files):

$ sudo apt-get install checkinstall

  • PWLIB (version 1.11.2):

$ cd pwlib

$ sudo apt-get install libldap2-dev

configure: error: pwlib needs the GNU Project fast lexical analyzer generator flex

$ sudo apt-get install flex

configure: error: pwlib needs the GNU Project parser generator bison

$ sudo apt-get install bison

$ ./configure --prefix=/usr --enable-plugins --enable-alsa --enable-v4l2 --enable-v4l

$ make

$ sudo checkinstall


  • OPAL (version = 2.3.2):

$ cd ../opal

$ ./configure --prefix=/usr

$ make

$ sudo checkinstall


  • EKIGA :

$ cd ../ekiga

You need to install the gnome-common module and make sure the gnome-autogen.sh script is in your $PATH.

$ sudo apt-get install autogen gnome-common

Error***: You must have automake >= 1.8 installed

$ sudo apt-get install automake1.8

aclocal: configure.in: 99: macro `AM_GCONF_SOURCE_2' not found in library

$ sudo apt-get install libgconf2-dev

aclocal: configure.in: 381: macro `AM_PATH_SDL' not found in library

$ sudo apt-get install libsdl1.2-dev

No package 'libgnome-2.0' found

$ sudo apt-get install libgnome2-dev

No package 'libgnomeui-2.0' found

$ sudo apt-get install libgnomeui-dev

No package 'libebook-1.0' found

$ sudo apt-get install libebook1.2-dev

No package 'dbus-glib-1' found

$ sudo apt-get install libdbus-glib-1-dev

$ sudo apt-get install libsigc++-2.0-dev

$ ./autogen.sh --prefix=/usr --sysconfdir=/etc/

$ make

$ sudo checkinstall

How Luc compiled Ekiga on Fedora

  • install these packages with "yum install PACKAGES..."

vim-enhanced gtk2-devel openldap-devel kernel-headers autoconf automake

libtool gcc alsa-lib-devel libstdc++-devel expat-devel openssl-devel pkgconfig

gcc-c++ libdv-devel libraw1394-devel libavc1394-devel SDL-devel bison flex

make yum install GConf2-devel libgnomeui-devel libgnome-devel avahi-devel

avahi-glib-devel libxml2-devel intltool scrollkeeper gettext

evolution-data-server-devel gnome-doc-utils desktop-file-utils

from a minimal fedora install

How luc compiled Ekiga on Edgy

apt-get install gnome-pkg-tools scrollkeeper automake1.7 evolution-data-server-dev liblaunchpad-integration-dev sharutils

apt-get -o APT::get::ReInstall=true install -f build-essential wget checkinstall libldap2 libldap2-dev flex bison autogen gnome-common automake1.8 libgconf2-4 libgconf2-dev libsdl1.2debian-alsa libsdl1.2-dev libgnome2-0 libgnome2-dev libgnomeui-0 libgnomeui-dev libebook1.2-9 libebook1.2-dev libdbus-glib-1-2 libdbus-glib-1-dev libdv4-dev libdv4 libdc1394-13 libdc1394-13-dev libavc1394-0 libavc1394-dev libraw1394-8 libraw1394-dev avahi-daemon libavahi-client3 liba

apt-get install libspeex-dev

Yannick

Personal tools