I'm using Python Cheetah for template generation and I can't get it to use the compiled `_namemapper.so` library that is installed. I am running on CentOS 5.4 with Python 2.4 installed, using Cheetah 2.4.3. I cannot for the life of me get Cheetah to use the `_namemapper.so` file that I built during install:

```
Filling conf/asterisk/sip.conf.ect -> conf/asterisk/sip.conf ...
/usr/lib64/python2.4/site-packages/Cheetah/Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's 
useStackFrames option as it is painfully slow with the Python version of NameMapper. 
You should get a copy of Cheetah with the compiled C version of NameMapper.

```

However, I have the shared library sitting right next to the `NameMapper` modules:

```
$ ls -ltr /usr/lib64/python2.4/site-packages/Cheetah/ | grep -i namemap
-rw-r--r-- 1 root root  12376 Jul  1 20:17 NameMapper.py
-rwxr-xr-x 1 root root  36982 Dec  1 09:55 _namemapper.so
-rw-r--r-- 1 root root  12541 Dec  1 09:55 NameMapper.pyc

```

I've tried adding this directory to `/etc/ld.so.conf.d/python-cheetah.conf`, and the `_namemapper.so` shared library is not found.

Any ideas?

**SOLVED**

Thanks @alex-b. Turns out I had compiled Cheetah on a 32-bit machine and was attempting to load the shared library on a 64-bit machine. D'oh!

```
>>> from Cheetah._namemapper import NotFound
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: /usr/lib/python2.4/site-packages/Cheetah/_namemapper.so: wrong ELF class: ELFCLASS32

```

Then I ran into the next problem:

```
>>> from Cheetah._namemapper import NotFound
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: /usr/lib/python2.4/site-packages/Cheetah/_namemapper.so: undefined symbol: PyUnicode_FromFormat

```

And it turns out that Cheetah doesn't work so well on Python <= 2.6, so I will be upgrading.