BLFS‎ > ‎9. IBus‎ > ‎

IBus dependency

 
How the dependency was found
 
Start building ibus regardless of any dependency
 
Unpack :
 
tar xvf ibus-1.2.0.20100111.tar.gz
cd ibus-1.2.0.20100111

Build and install:
time {
 ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib' --enable-gtk-doc &&
 make &&
 make install ;
} 2>&1 | tee log.txt

Error :
You need to install gnome-common from the GNOME CVS

Fine,  I go to the GNOME download site to search for the gnome-common package.
 
 
Unpack :
tar xvf gnome-common-2.28.0.tar.bz2
cd gnome-common-2.28.0
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install
} 2>&1 | tee log.txt
 
real    0m8.576s
user    0m0.820s
sys     0m5.004s
 
Now I have gnome-common installed, try building ibus again, error message as follows :

***Error***: You must have intltool >= 0.25 installed
  to build ibus.  Download the appropriate package for
  from your distribution or get the source tarball at
    http://ftp.gnome.org/pub/GNOME/sources/intltool/
 
 
Unpack :

 tar xvf intltool-0.40.6.tar.bz2
 cd intltool-0.40.6
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    0m10.956s
user    0m1.272s
sys     0m7.416s
 
Install documentation :
install -v -m644 -D doc/I18N-HOWTO \
/usr/share/doc/intltool-0.35.5/I18N-HOWTO
 
Try building ibus-again, another error message  :
checking for gtk-doc >= 1.0...
  testing gtkdocize... not found.
***Error***: You must have gtk-doc >= 1.0 installed
  to build ibus.  Download the appropriate package for
  from your distribution or get the source tarball at
    http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/
 
 
 
unpack and go to the source tree :
 tar xvf gtk-doc-1.13.tar.bz2
 cd gtk-doc-1.13
 
Build and install :
time {
./configure --prefix=/usr --localstatedir=/var/lib &&
make &&
make install ;
} 2>&1 | tee log.txt
 
configure: error: could not find DocBook XML DTD V4.3 in XML catalog

So I installed DocBook XML DTD:
wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
 
Unpack source :
mkdir docbook-xml-4.5
cd docbook-xml-4.5
unzip ../docbook-xml-4.5.zip
 
Install :
install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 &&
install -v -d -m755 /etc/xml &&
chown -R root:root . &&
cp -v -af docbook.cat *.dtd ent/ *.mod \
/usr/share/xml/docbook/xml-dtd-4.5
 
Create (or update) and populate the /etc/xml/docbook catalog file by running the following commands as the root user:
if [ ! -e /etc/xml/docbook ]; then
xmlcatalog --noout --create /etc/xml/docbook
fi &&
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML V4.5//EN" \
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
"file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
/etc/xml/docbook &&
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/4.5" \
"file:///usr/share/xml/docbook/xml-dtd-4.5" \
/etc/xml/docbook &&
xmlcatalog --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/4.5" \
"file:///usr/share/xml/docbook/xml-dtd-4.5" \
/etc/xml/docbook

 
Create (or update) and populate the / etc/ xml/ catalog catalog file by running the following commands as the root user:
if [ ! -e /etc/xml/catalog ]; then
xmlcatalog --noout --create /etc/xml/catalog
fi &&
xmlcatalog --noout --add "delegatePublic" \
"-//OASIS//ENTITIES DocBook XML" \
"file:///etc/xml/docbook" \
/etc/xml/catalog &&
xmlcatalog --noout --add "delegatePublic" \
"-//OASIS//DTD DocBook XML" \
"file:///etc/xml/docbook" \
/etc/xml/catalog &&
xmlcatalog --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
 
Compatibility :
for DTDVERSION in 4.1.2 4.2 4.3 4.4
do
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
/etc/xml/docbook
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
"file:///usr/share/xml/docbook/xml-dtd-4.5" \
/etc/xml/docbook
xmlcatalog --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
"file:///usr/share/xml/docbook/xml-dtd-4.5" \
/etc/xml/docbook
xmlcatalog --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
xmlcatalog --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
done

Build GTK doc again :
configure: error: could not find DocBook XSL Stylesheets in XML catalog

So go for it :
 
Unpack source :

tar xvf docbook-xsl-1.71.1.tar.bz2
tar xvf docbook-xsl-doc-1.71.1.tar.bz2
cd docbook-xsl-1.71.1

Install :

install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.71.1 &&
cp -v -R VERSION common eclipse extensions fo highlighting html \
htmlhelp images javahelp lib manpages params profiling \
slides template tools website wordml xhtml \
/usr/share/xml/docbook/xsl-stylesheets-1.71.1 &&
install -v -m644 -D README \
/usr/share/doc/docbook-xsl-1.71.1/README.XSL &&
install -v -m755 RELEASE-NOTES* NEWS* \
/usr/share/doc/docbook-xsl-1.71.1
Install documentation :
cp -v -R doc/* /usr/share/doc/docbook-xsl-1.71.1
Create (or append) and populate the XML catalog file using the following commands as the root user:
if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &&
if [ ! -f /etc/xml/catalog ]; then
xmlcatalog --noout --create /etc/xml/catalog
fi &&
xmlcatalog --noout --add "rewriteSystem" \
"http://docbook.sourceforge.net/release/xsl/1.71.1" \
"/usr/share/xml/docbook/xsl-stylesheets-1.71.1" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"http://docbook.sourceforge.net/release/xsl/1.71.1" \
"/usr/share/xml/docbook/xsl-stylesheets-1.71.1" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteSystem" \
"http://docbook.sourceforge.net/release/xsl/current" \
"/usr/share/xml/docbook/xsl-stylesheets-1.71.1" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"http://docbook.sourceforge.net/release/xsl/current" \
"/usr/share/xml/docbook/xsl-stylesheets-1.71.1" \
/etc/xml/catalog

Build gtk-doc again :
Done !
real    1m2.558s
user    0m6.900s
sys     0m48.275s
 
Build ibus again :
configure.ac:124: error: possibly undefined macro: AM_GCONF_SOURCE_2
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
 
After searching the web, I found I needed gconf2.
So I read the BLFS menu, gconf required ORBit.
Hence the installation of ORBit started :
(Version 2.14.7 as suggested in BLFS 6.3 doesn't work, so I used 2.14.17 instead)

Unpack :
tar xvf ORBit2-2.14.17.tar.bz2
cd ORBit2-2.14.17
 
 
Build and install :
time {
./configure --prefix=/usr \
--sysconfdir=/etc/gnome &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    5m36.751s
user    0m49.267s
sys     4m31.989s
 
The dependency of GConf was resolved, so go for it.
 
GConf-2.18.0.1 :
wget http://ftp.gnome.org/pub/gnome/sources/GConf/2.18/GConf-2.18.0.1.tar.bz2
 
unpack source :

tar xvf GConf-2.18.0.1.tar.bz2
cd GConf-2.18.0.1
 
build and install :

time {
./configure --prefix=$(pkg-config --variable=prefix ORBit-2.0) \
--sysconfdir=/etc/gnome \
--libexecdir=$(pkg-config \
--variable=prefix ORBit-2.0)/lib/GConf \
--mandir=$(pkg-config \
--variable=prefix ORBit-2.0)/share/man &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    5m43.717s
user    0m47.427s
sys     4m28.557s

Try installing ibus again :
 
checking for DBUS... configure: error: Package requirements (
    dbus-1
) were not met:
No package 'dbus-1' found
 
Unpack sources :

tar xvf dbus-1.2.20.tar.gz
cd dbus-1.2.20
 
Build and install :
time {
    ./configure --prefix=/usr &&
    make &&
    make install ;
} 2>&1 | tee log.txt
 
real    3m53.988s
user    0m32.174s
sys     3m1.351s
 
Try building ibus again :

checking for DBUS_PYTHON... no
configure: error: can not find dbus-python >= 0.83.0. Please install or update dbus-python.
 
Go for it !
 
Unpack source :

tar xvf dbus-python-0.83.0.tar.gz
cd dbus-python-0.83.0
 
Build and install :

time {
    ./configure --prefix=/usr &&
    make &&
    make install ;
} 2>&1 | tee log.txt
 
checking for DBUS_GLIB... configure: error: Package requirements (dbus-glib-1 >= 0.70) were not met:
No package 'dbus-glib-1' found

Well, ...
 
 
Unpack source :

tar xvf dbus-glib-0.84.tar.gz
cd dbus-glib-0.84
 
Build and install :
time {
    ./configure --prefix=/usr &&
    make &&
    make install ;
} 2>&1 | tee log.txt
 
real    1m52.557s
user    0m15.705s
sys     1m28.042s

Back to dbus-python :
Done !
real    1m50.055s
user    0m12.797s
sys     1m29.458s
 
Back to ibus again :
configure: error: can not find iso-codes. Please install iso-codes or configure with --disable-iso-codes-check
 
 
unpack source :

tar xvf iso-codes-3.11.tar.bz2
cd iso-codes-3.11
 
Build and install :

time {
./configure --prefix=/usr &&
make &&
make pkgconfigdir=/usr/lib/pkgconfig install ;
} 2>&1 | tee log.txt
 
real    2m8.119s
user    0m13.833s
sys     1m29.326s

Back to ibus again :
Done !
real    5m6.557s
user    1m21.729s
sys     3m21.093s

Finally I got ibus built ! I tried starting ibus immediately :

/usr/bin/ibus-daemon --xim
process 15411: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/usr/var/lib/dbus/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted

I followed the suggestion :

dbus-uuidgen --ensure

Try starting ibus again :

 /usr/bin/ibus-daemon --xim
 
This time I got no error message, so I continued with the setup program.
 
ibus-setup
Traceback (most recent call last):
  File "/usr/share/ibus/setup/main.py", line 28, in <module>
    import gtk
ImportError: No module named gtk
 
 
The error message suggested that I needed to install PyGTK
 
Unpack source :

tar xvf pygtk-2.14.1.tar.gz
cd pygtk-2.14.1
 
Build and install :

time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
checking for PYGOBJECT... configure: error: Package requirements (pygobject-2.0 >= 2.14.0) were not met:
 
Let's go to fix the dependency :
Note : newer version require newer glib, which I didn't have.
 
Unpack :

tar xvf pygobject-2.20.0.tar.bz2
cd pygobject-2.20.0
 
Build and install :

time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    2m11.615s
user    0m17.241s
sys     1m41.546s
 
Back to pygtk-2.14.1 :
done !
real    1m40.048s
user    0m9.481s
sys     1m14.341s
 
setup again :

ibus-setup
same error :

ImportError: No module named gtk

I had just installed pygtk, but it was still complaining. So I review log.txt in pygtk-2.14.1, found :

 not checking for gtk due to missing pycairo
 
OK, needed pycairo before compiling pygtk.
 
Unpack source :

tar xvf pycairo-1.8.8.tar.gz
cd pycairo-1.8.8
 
Build and install :

time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    0m49.195s
user    0m5.856s
sys     0m38.458s
 
Rebuild pygtk :

real    4m14.532s
user    1m18.621s
sys     2m28.413s
 
setup again :

ibus-setup
ImportError: No module named xdg
 
Install pyxdg to fix the error:
 
Unpack source :

tar xvf pyxdg-0.19.tar.gz
cd pyxdg-0.19
 
Build and install :

time {
python setup.py install
} 2>&1 | tee log.txt
 
real    0m1.786s
user    0m0.108s
sys     0m0.528s
 
setup again :
ibus-setup
 
This time the GUI of the setup program showed up.
 
Check ibus status :
ps -ef | grep ibus
 
foo 15735 15518  0 11:30 pts/3    00:00:17 /usr/bin/ibus-daemon --xim
foo 20037 15735  0 12:58 pts/3    00:00:00 /usr/libexec/ibus-gconf
foo 20039 15735  0 12:58 pts/3    00:00:06 python /usr/share/ibus/ui/gtk/main.py
foo 20041     1  0 12:58 pts/3    00:00:00 /usr/libexec/ibus-x11 --kill-daemon
foo 20042 15735  0 12:58 pts/3    00:00:01 python /usr/share/ibus-anthy/engine/main.py --ibus
 
The setup program showed up, but there was no available input method yet.  So I installed ibus-table.
 
 
Unpack source :
tar xvf ibus-table-1.2.0.20091113.tar.gz
cd ibus-table-1.2.0.20091113
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
ImportError: No module named _sqlite3
 
New dependency found, it was time to install pysqlite :
wget http://pysqlite.googlecode.com/files/pysqlite-2.5.6.tar.gz
 
Unpack source
tar xvf pysqlite-2.5.6.tar.gz
cd pysqlite-2.5.6

Build and install :
time {
python setup.py install
} 2>&1 | tee log.txt
 
real    0m8.915s
user    0m0.856s
sys     0m6.164s

Install ibus-table again :
Despite I had just installed pysqlite, it gave me same error.
ImportError: No module named _sqlite3

After searching the web, someone said sqlite must be installed before python.
So I tried installing python again. See the firefox page for instructions.
 
time {
sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" \
     setup.py &&
./configure --prefix=/usr --enable-shared &&
make &&
make install
} 2>&1 | tee log.txt
 
real    10m8.294s
user    1m38.514s
sys     7m17.715s

install ibus-table again :
Done !
real    0m27.604s
user    0m3.252s
sys     0m20.241s
 
Setup again :
ibus-setup

(still no available input method)
 
 
Unpack source :
tar xvf ibus-table-cangjie-1.2.0.20100119.tar.gz
cd ibus-table-cangjie-1.2.0.20100119
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    2m5.926s
user    1m19.929s
sys     0m42.551s

ibus-setup again,  this time I can select cangjie input method
 
Start firefox for testing :
This worked :
XMODIFIERS=@im=ibus GTK_IM_MODULE=xim firefox &
This didn't
XMODIFIERS=@im=ibus GTK_IM_MODULE=ibus firefox &
This worked :
XMODIFIERS=@im=ibus GTK_IM_MODULE=ibus LANG=zh_TW.utf8 firefox &
 
I could input Chinese after pressing the hotkey,  but no language panel was not showing.

So I tried executing the panel manually :
python /usr/share/ibus/ui/gtk/main.py
 
Traceback (most recent call last):
  File "/usr/share/ibus/ui/gtk/main.py", line 37, in <module>
    import pynotify
ImportError: No module named pynotify
 
That meaned I needed to install Notify-python, which depends on libnotify
 
unpack source :
tar xvf libnotify-0.4.5.tar.gz
cd libnotify-0.4.5
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    2m37.899s
user    0m18.841s
sys     1m58.423s

Get Notify-python :
Unpack :
tar xvf notify-python-0.1.1.tar.bz2
cd notify-python-0.1.1
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    1m16.380s
user    0m9.253s
sys     1m2.136s
 
try executing the panel again :
python /usr/share/ibus/ui/gtk/main.py
 
AttributeError: ‘pynotify.Notification’ object has no attribute ‘attach_to_status_icon’
 
Searching the web and I found a suggested fix in :
It suggested removing pynotify.c before building notify-python
 
So I unpack notify-python again and go to the source directory. Apply the workaround :
rm src/pynotify.c
 
Rebuild it  :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    1m16.380s
user    0m9.253s
sys     1m2.136s
 
Try executing the panel again (this time I found a more proper way other than executing main.py directly): 
 /usr/libexec/ibus-ui-gtk
 
No fatal error.
 
So I restarted ibus-daemon :
(Panel shown, but no icons, need librsvg)
 
librsvg depends on libart_lgpl and popt
 
unpack :
tar xvf libart_lgpl-2.3.20.tar.bz2
cd libart_lgpl-2.3.20
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    2m16.071s
user    0m9.165s
sys     0m56.188s
 
Unpack source :
tar xvf popt-1.15.tar.gz
cd popt-1.15
 
Build and install :
time {
./configure --prefix=/usr --libdir=/usr/lib &&
make &&
sed -i "s@\(^libdir='\).*@\1/usr/lib'@g" libpopt.la &&
sed -i "s@\(^libdir='\).*@\1/usr/lib'@g" .libs/libpopt.lai &&
make usrlibdir=/usr/lib install ;
} 2>&1 | tee log.txt
 
real    1m8.707s
user    0m4.684s
sys     0m28.290s
 
At this point, I had resolved the dependency of librsvg, so I installed it now.
Get librsvg :
 
Unpack source :
tar xvf librsvg-2.26.0.tar.bz2
cd librsvg-2.26.0
 
Build and install :
time {
./configure --prefix=/usr  --enable-mozilla-plugin=no &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    3m15.230s
user    0m14.437s
sys     1m22.737s
 
Note : enable-mozilla-plugin=yes would cause an compilation error.
A patch to enable mozilla plugin was suggested here :
(http://lists.freebsd.org/pipermail/freebsd-gnome/2009-November/023438.html)
----------------------------------------------------------------
--- Makefile.orig       2009-11-28 21:05:44.000000000 +0100
+++ Makefile    2009-11-29 15:30:47.000000000 +0100
@@ -49,6 +49,7 @@
 USE_GECKO=     libxul seamonkey
 USE_WEBPLUGINS=        gecko19
 WEBPLUGINS_FILES=libmozsvgdec.so
+.include "${PORTSDIR}/www/firefox/Makefile.webplugins"
 CONFIGURE_ENV+=        MOZILLA_CONFIG=no
 CONFIGURE_ARGS+=--enable-mozilla-plugin=yes
----------------------------------------------------------------
 
I didn't test the above patch and chose not to enable the mozilla plugin
 
Since the SVG icon is in xml format, we need the XML library.
 
 
Unpack :
tar xvf libxml2-2.7.6.tar.gz
cd libxml2-2.7.6
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    8m17.792s
user    1m42.034s
sys     5m59.770s
 
To make full support for compressed SVG format, install libgsf.
Get libgsf :
wget http://ftp.gnome.org/pub/GNOME/sources/libgsf/1.14/libgsf-1.14.16.tar.bz2
 
Unpack source :
tar xvf libgsf-1.14.16.tar.bz2
cd libgsf-1.14.16
 
Build and install :
time {
./configure --prefix=/usr --sysconfdir=/etc/gnome &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    3m3.641s
user    0m23.541s
sys     2m27.153s
 
libcroco is a CSS library which is the required for full SVG support.
 
 
Unpack :
tar xvf libcroco-0.6.2.tar.bz2
cd libcroco-0.6.2
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install &&
install -v -m755 -d /usr/share/doc/libcroco-0.6.2/examples &&
install -v -m644 README docs/usage.txt /usr/share/doc/libcroco-0.6.2 &&
install -v -m644 docs/examples/*.c /usr/share/doc/libcroco-0.6.2/examples ;
} 2>&1 | tee log.txt
 
real    2m39.567s
user    0m21.433s
sys     2m11.108s

Rebuild librsvg again :
Why need to rebuild, because I was a bit impatient and I built librsvg before all supporting dependencies was ready.
 
Build and install :
time {
./configure --prefix=/usr --enable-svgz --enable-mozilla-plugin=no &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    3m22.570s
user    0m28.850s
sys     2m49.511s
 

The developer suggested to update icon caches
ls /usr/share/icons/*/*/*/ibus*
 
/usr/share/icons/hicolor/16x16/apps/ibus-keyboard.png
/usr/share/icons/hicolor/22x22/apps/ibus-keyboard.png
/usr/share/icons/hicolor/24x24/apps/ibus-keyboard.png
/usr/share/icons/hicolor/32x32/apps/ibus-keyboard.png
/usr/share/icons/hicolor/48x48/apps/ibus-keyboard.png
/usr/share/icons/hicolor/scalable/apps/ibus-engine.svg
/usr/share/icons/hicolor/scalable/apps/ibus-keyboard.svg
/usr/share/icons/hicolor/scalable/apps/ibus-setup.svg
/usr/share/icons/hicolor/scalable/apps/ibus.svg
 
 gtk-update-icon-cache /usr/share/icons/hicolor
 gtk-update-icon-cache /usr/share/ibus-table/icons
 
 
OK, I did everything I could and I still couldn't get the panel icons showing.
Actually I had been struggling for days in order to fix the icons problem.
 
Sometime if you can't solve a problem, it is a good suggestion to take a rest first.
 
So I ignored it first and started to install ibus-pinyin
 
 
Unpack source :
tar xvf ibus-pinyin-1.2.99.20100212.tar.gz
cd ibus-pinyin-1.2.99.20100212

Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
No package 'sigc++-2.0' found
 
That was another dependency problem.
 
Unpack :
tar xvf libsigc++-2.2.3.tar.bz2
cd libsigc++-2.2.3
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    4m42.642s
user    0m28.486s
sys     3m39.982s

ibus-pinyin again :
Done !
real    2m1.793s
user    0m13.113s
sys     1m36.166s
 
 
Unpack :
tar xvf ibus-table-cantonese-1.2.0.20100107.tar.gz
cd ibus-table-cantonese-1.2.0.20100107
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt

real    0m18.960s
user    0m6.788s
sys     0m8.945s
Now I had installed three major sets of input method, Changjie, pinyin and Cantonese.
 
I decided to go back to the icon problem, I tried to solve it by installing PyRSVG, which is buried inside gnome-python-desktop
 
 
Unpack :
tar xvf gnome-python-desktop-2.29.1.tar.bz2
cd gnome-python-desktop-2.29.1
 
Build and install : (We need rsvg only, hence disable all then enable rsvg).
time {
./configure --prefix=/usr --disable-allbindings --enable-rsvg &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    1m33.056s
user    0m8.461s
sys     1m8.248s
 
Still didn't work, so I decided to rebuild all relevant packages relating to SVG icons.
 
try rebuilding pygtk :
real    4m31.333s
user    1m14.245s
sys     2m38.666s

try rebuilding glib :
time {
./configure --prefix=/usr \
            --with-pcre=system &&
make &&
make install &&
chmod -v 755 /usr/bin/gtester-report ;
} 2>&1 | tee log.txt

try rebuilding gtk :
time {
./configure --prefix=/usr --sysconfdir=/etc &&
make install &&
install -v -m755 -d /usr/share/doc/gtk+-2.18.5/{faq,tutorial} &&
cp -v -R docs/faq/html/* /usr/share/doc/gtk+-2.18.5/faq &&
cp -v -R docs/tutorial/html/* /usr/share/doc/gtk+-2.18.5/tutorial &&
install -v -m644 docs/*.txt /usr/share/doc/gtk+-2.18.5
} 2>&1 | tee log.txt
 
real    46m11.009s
user    6m30.308s
sys     36m16.164s

Rebuilding GTK was the right move,  it worked ! I got the icons showing correctly.

Finally, I added one more input method package.
 
 
 
Unpack :
tar xvf ibus-table-xingma-1.2.0.20100111.tar.gz
cd ibus-table-xingma-1.2.0.20100111
 
Build and install :
time {
./configure --prefix=/usr &&
make &&
make install ;
} 2>&1 | tee log.txt
 
real    1m30.259s
user    0m49.423s
sys     0m35.898s
 
End
 
Comments