Linux Wiki

Compiling Scim-bridge and Related Packages from Source

Note: At this stage, these instructions are for GTK2 only. Fortunately, that covers a large number of programs available in Puppy. QT support will be added later, as will instructions for compiling in other Puppy versions.

It is assumed here that you know how to compile packages from source. If you don't, instructions are available in other places.

If no special instructions are given, configure the package with the command:


It is recommended to make these packages into .pet packages, for ease of removal. Instructions are here:

These compilation instructions apply to Puppy 2.17. They need changes in order to work in other versions of Puppy.


Download and unarchive scim-1.4.7.tar.gz


./configure --prefix=/usr

This installs scim to /usr rather than /usr/local, which then makes it easier to compile scim-bridge.


Download and unarchive scim-bridge-0.4.15.tar.gz


./configure --prefix=/usr --disable-qt3-immodule --disable-qt4immodule

To activate scim-bridge as an input method, add to the file /etc/gtk-2.0/gtk.immodules these two lines:

  "scim-bridge" "SCIM Bridge Input Method" "" "" ""

Add these two lines to .xinitrc in your home directory. You'll need to be able to see invisible files to do this. (Click on the eye icon at the top of the window.)

export GTK_IM_MODULE="scim-bridge"
  export QT_IM_MODULE="scim-bridge"

These lines go near the top, just after the line that ends with PUPSTATE.

Because the qt immodules haven't been enabled, the second line will do absolutely nothing. However, it's already set up in case you should wish to add the qt immodules later on.

All you need to do now is restart the xserver, and scim should be ready to go. Open Abiword, Geany, or OpenOffice and the tray icon should appear.

At this point, all you have available is the standard English keyboard, or raw code for inputting unicode 4-character codes. To get more options, you need to add some keyboard tables.


Download and unarchive scim-tables-0.5.8.tar.gz

This needs no special configure option. The plain ./configure command is all that's needed.


This option has three components: m17n-db, m17n-lib, and scim-m17n itself.

Download m17n-db-1.5.1.tar.gz, m17n-lib-1.5.1.tar.gz, scim-m17n-0.2.2.tar.gz

Compile m17n-db:

./configure --prefix=/usr --with-charmaps=/location/of/charmaps

  • If you already have charmaps, perhaps in another distro on your system, you can copy the charmaps folder or symlink it to a suitable location. If you don't have them, a script will offer to download glibc (which contains the charmaps) for you, but be aware that it's a 17Mb download.

Compile m17n-lib:

./configure --prefix=/usr

Compile scim-m17n:

./configure --prefix=/usr


This has two components.

Download anthy-9100e.tar.gz and scim-anthy-1.2.6.tar.gz

Compile anthy libraries:

./configure --prefix=/usr

Compile scim-anthy:

no special options


./configure --prefix=/usr

Install scripts for scim-bridge .pet

If you are making Scim-bridge into a .pet package, you can create the two following scripts.

1. (remember to make it executable)

  	cp /etc/gtk-2.0/gtk.immodules /etc/gtk-2.0/gtk.immodules.bak
  	#add entry to gtk.immodules
  	echo '"/usr/lib/gtk-2.0/immodules/"' >> /etc/gtk-2.0/gtk.immodules
  	echo '"scim-bridge" "SCIM Bridge Input Method" "" "" ""' >> /etc/gtk-2.0/gtk.immodules
  	#add entry to .xinitrc, near beginning
  	sed -i -e 's/PUPSTATE/PUPSTATE\
  	export GTK_IM_MODULE="scim-bridge"\
  	export QT_IM_MODULE="scim-bridge"/' ~/.xinitrc 

2. (likewise, it needs to be executable)

  	#remove entry from gtk.immodules
  	sed -i /scim-bridge/d /etc/gtk-2.0/gtk.immodules
  	#remove entry from .xinitrc
  	sed -i '
  	/.*scim-bridge./ {
  	' ~/.xinitrc

This automates adding and removing the lines to/from the configuration files.

Multi-Lingual Puppy

Applications with SCIM Compatibility

installing the appropriate font

Smart Common Input Method and the GTK/QT Tool Kits