Linux Issues

Linux issues

The Linux binary package for BitPim is built as an RPM package using RedHat 9 and has been tested on several other RedHat based distributions. While the BitPim Linux binary should be work on most modern Linux distributions, in many cases there will be issues that must be resolved by the user.

For distributions that don't use the RedHat Package Manger (RPM), the program alien can be used to convert the package to other formats such as the Debian package format.

Missing libraries

Some modern distributions will use later versions of shared than what were used to build BitPim. Some distributions will include older versions of standard libraries for compatibility, but in some cases the compatibility libraries, while available, are not installed by default. If BitPim fails to start because of a missing shared library, the last line of the error messages will indicate the library that must be installed.

As an example, the following shows how to get BitPim to work on a freshly installed Ubuntu Linux 5.10, a Debian based distribution. After converting the BitPim RPM package to ".deb" format with alien, the package is installed as a Debian package is. When BitPim is run, the last line of errors is:

ImportError: libstdc++.so.5: cannot open shared object file: No such file or directory

Ubuntu 5.1 uses libstdc++.so.6. The old library can co-exist with the .6 library. On a networked system the compatibility library can be installed with:

apt-get install libstdc++5

At this point, running BitPim will give the error:

ImportError: libtiff.so.3: cannot open shared object file: No such file or directory

Ubuntu 5.1 uses libtiff.so.4. In this case there is no compatibility library for the .3 version. However, forcing the system to use the newer shared library seems to work. (This may or may not work with other libraries that may be missing on other distributions.) To force the newer tiff library to be used, do the following:

cd /usr/lib
ln -s libtiff.so.4 libtiff.so.3

Fedora Core 5 also is missing libstdc++.so.5 by default. This library can be installed with:

yum install compat-libstdc++-33

USB Device Permissions

When a user logs into an X window session on the console of a Linux machine, the system changes the ownership of many devices to the user logging in. The ACM and USB devices used by phones may or may not be configured with the right ownership or permissions to be accessible by the user. The Linux USB Howto gives more information on how to configure the system to properly set these device permissions.

zipimport.ZipImportError

On some Linux systems (Fedora Core 5 for example) BitPim will install and run fine, but after a day or so, the following error will appear when bitpim is run:

zipimport.ZipImportError: not a Zip file: '/usr/lib/BitPim-X.Y.ZZ/bitpim'
Fatal Python error: cannot get zipimporter instance
Aborted

This happens because of the periodic prelink task. This task modifies binaries so that that load quicker, but has the effect of destroying the BitPim binary. The solution is to prevent prelink from modifying the BitPim binary and then to reinstall BitPim. The can be done either by disabling prelink (remove the prelink package or disable the cron job) or by configuring prelink to ignore BitPim. The latter can be done by adding this line to the prelink configuration file, which will usually be /etc/prelink.conf.

-b *bitpim*

BitPim Online Help built 17 January 2010