4.1. Configuring pilot-link

If you are running a Red Hat or another rpm-based system, you can check to see if you have any existing pilot-link packages with the following commands:

 hacker@druid:~/build$ rpm -qa | egrep '(pilot|pisock)'

If any are installed, they will show up as like this:

 hacker@druid:~/build$ rpm -qa | egrep '(pilot|pisock)'
 pilot-link-devel-0.11.5-4
 pilot-link-0.11.5-4

If you want to completely remove the existing pilot-link pacages from your system (possible, but not recommended), you can do that on Red Hat using the following command to remove all of the packages and dependancies that require them. Since you will be rebuilding and installing most of these (except J-Pilot in this case, if that happens to show up as a dependancy when you try to remove libpisock), you can remove these, as they will be replaced by copies in we build from source in either /usr or /usr/local.

 hacker@druid:~/build$ rpm -e pilot-link        \
 pilot-link-devel  \
 gnome-pilot       \
 gnome-pilot-devel \
 evolution jpilot

For Debian systems, you can check this with the following command (the question mark '?' at the end is part of the command, do not omit it):

 hacker@druid:~/build$ dpkg -l | egrep '(pilot-link|pisock)'

If you have a previous version of pilot-link or libpisock (the core libraries used in pilot-link) installed, you should see something similar to the following, using the above command on a Debian system:

 ii  pilot-link     0.11.8-1       Tools to communicate with a PalmOS PDA over a serial port
 ii  libpisock++0   0.11.8-1       C++ libraries for communicating with a PalmOS PDA
 ii  libpisock8     0.11.8-1       Libraries for communicating with a PalmOS PDA

Note the version installed. If it is not 0.11.8 or later (such as 0.9.5 for example), you need to compile pilot-link from source, and install it in a different location than the distribution-supplied package, such as /usr/local or /opt or some other path.

To configure and compile pilot-link for proper use of it with gnome-pilot and Evolution, perform the steps below. Note that we are not overwriting any existing pilot-link copies that were installed by the distribution itself. We are putting it in /usr/local, which should not have any existing pilot-link packages installed in it.

 hacker@druid:~/build$ cd pilot-link-0.11.8
 hacker@druid:~/build/pilot-link-0.11.8$ ./configure --prefix=/usr/local --with-libiconv

As configure runs, you might see something like the following:

 checking for libiconv in -liconv... no
 checking for iconv... yes

This means your system did not have 'libiconv' (the standalone shared library and headers) installed, but iconv was found internally in your libc implementation (likely glibc-2.x). You can verify this with the following command:

 hacker@druid:~/build$ nm /usr/lib/libc.a | grep iconv
 iconv_open.o:
 00000000 T iconv_open
 iconv.o:
 00000000 T iconv
 iconv_close.o:  
 00000000 T iconv_close

If configure completes successfully, it should return the following:

   Options detected/selected
 -------------------------.
 pilot-link version...... : 0.11.8
 libpisock version....... : 8.0.4 
 Build for host.......... : i686-pc-linux-gnu
 Extra Warnings.......... : no
 Direct USB support...... : yes, Linux
 ElectricFence checks.... : no
 CFLAGS.................. : -g -O2
 CXXFLAGS................ : -g -O2
			   
 Internal Language Support
 -------------------------.
 C++ support............. : yes
 Iconv support........... : yes
 PNG support............. : yes
 Readline support........ : full
			   
 External Language Support
 -------------------------.
 TCL support............. : no
 ITCL support............ : no
 TK Support.............. : no
 Java support............ : no
 Python support.......... : no
 Perl support............ : no

The important part here is to note that the libiconv support was found and used (bolded above). If it is not found, or the "Iconv support" line says "no", then you must install the proper libiconv support for your distribution first, and then re-run this configuration script until it is properly found. Failure to do so will result in gnome-pilot and Evolution failing to compile, so fix this first. On modern Linux systems, libiconv is part of glibc.

Once this returns successfully, you can now build the pilot-link package by typing 'make' here. Depending on the type and speed of machine you have, it may take several minutes to build pilot-link, so please be patient.