Jul 10 2007

HOWTO: Import iCalendar (ics) Appointments Into JPilot

I use JPilot for syncing my PDA on my Ubuntu Linux desktop and want to be able to import iCalendar appointments into it. Ideally I would just double-click the .ics file that is emailed to me and it would appear on the JPilot calendar. Here’s how I did it using Ubuntu 7.04 (Feisty).

I already had most of the development packages installed on my system. If this is your first time building software from source code then you may need to install the various development libraries beforehand. If you do get an error during compiling then try to find out which package is missing and install it from the package manager then try re-compiling again. As a starter, you will definitely need the build-essential and the subversion packages. Install them like this:

sudo apt-get install build-essential subversion automake libtool

Now you need to grab Jason Day’s source code for jp-icalendar. Note: This is alpha code and is not supported or recommended for a production environment. That being said, it is working fine for me so far. Here’s how to grab the code and install it using subversion:

svn co https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/trunk jp-icalendar
cd jp-calendar
./autogen.sh
./configure
make
make check
sudo make install

I don’t remember having to do this next step on my Ubuntu Feisty box, but on my Ubuntu Gutsy box I had to create a symlink in the /usr/lib directory to the icallib library that got installed in /usr/local/lib like this:

sudo ln -s /usr/local/lib/libical.so.0 /usr/lib/libical.so.0

If everything installed OK you can go ahead and delete the jp-icalendar directory.

If you have an iCalendar .ics file on your desktop, you can right-click on the file, click on ‘open with‘ then ‘open with other application‘. At the bottom of the dialog box, click on ‘Use a custom command‘ and browse to ‘/usr/local/bin/icalendar-import‘. Now whenever someone sends you an icalendar appointment you can double click the .ics attachment and it will appear on your jpilot calendar.

4 Comments

  • By Don, August 2, 2008 @ 12:55 am

    Thanks for the info, this helped me to figure out how to get this installed on my Dapper Ubuntu release machine. Had to add a bunch more packages (to get GTK+ development files, pilot-link headers, etc.) but finally got there. While the .ics import does not handle the time zone correctly for me, the import sure beats a slew of copy/paste actions. I’m happy to adjust the times for the appt. myself afterwards.

    BTW, ‘cd jp-calendar’ should be ‘cd jp-icalendar’ in your second code box.

    Thanks!

  • By Don, January 16, 2009 @ 10:53 pm

    Hi, in looking for a solution to the same problem now that I’ve updated my Dapper 32 bit to a Hardy 64 bit fresh installation, Google seems to have brought me right back to the same place! So, I have gone through all the same steps as before based on your instructions, but this time I am running into errors when I do the ‘make check’ step. It appears to be reporting errors related to libical (see below). When I look at the libical info on sourceforge, there seems to be a lot of related looking bugs posted starting in September 2008. I wonder whether it would be possible to use a prior version of libical to get around the errors? I’m no compile/make/install expert… but I tried seeing what version of libical was installed on my box and Synaptic says there is none. So I think it must be included in the jp-icalendar source?

    Anyway, if you can offer any suggestions for how to get past this error, I’d appreciate it.

    Thanks,
    Don

    [[ LOTS OF TEXT WITH NO APPARENT ERRORS, THEN... ]]

    not ok 468 - TRIGGER;VALUE=DATE-TIME:19970101T120000
    # test failed: “”
    # at: regression.c:3114
    # got: TRIGGER;VALUE=DATE-TIME:19970101T120000

    # expected: TRIGGER;VALUE=DATE-TIME:19970101T120000

    not ok 469 - TRIGGER;VALUE=DURATION:P3DT3H50M45S
    # test failed: “”
    # at: regression.c:3123
    # got: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    # expected: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    not ok 470 - TRIGGER;VALUE=DATE-TIME:19970101T120000
    # test failed: “”
    # at: regression.c:3133
    # got: TRIGGER;VALUE=DATE-TIME:19970101T120000

    # expected: TRIGGER;VALUE=DATE-TIME:19970101T120000

    not ok 471 - TRIGGER;VALUE=DURATION:P3DT3H50M45S
    # test failed: “”
    # at: regression.c:3144
    # got: TRIGGER;VALUE=DATE-TIME:P3DT3H50M45S

    # expected: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    not ok 472 - TRIGGER;VALUE=DATE-TIME:19970101T120000
    # test failed: “”
    # at: regression.c:3154
    # got: TRIGGER;VALUE=DURATION:19970101T120000

    # expected: TRIGGER;VALUE=DATE-TIME:19970101T120000

    not ok 473 - TRIGGER;VALUE=DURATION:P3DT3H50M45S
    # test failed: “”
    # at: regression.c:3165
    # got: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    # expected: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    not ok 474 - TRIGGER;VALUE=DATE-TIME:19970101T120000
    # test failed: “”
    # at: regression.c:3176
    # got: TRIGGER;VALUE=BINARY:19970101T120000

    # expected: TRIGGER;VALUE=DATE-TIME:19970101T120000

    not ok 475 - TRIGGER;VALUE=DURATION:P3DT3H50M45S
    # test failed: “”
    # at: regression.c:3187
    # got: TRIGGER;VALUE=BINARY:P3DT3H50M45S

    # expected: TRIGGER;VALUE=DURATION:P3DT3H50M45S

    ########## Test Restriction (25) ##########
    /bin/bash: line 4: 21979 Segmentation fault ${dir}$tst
    FAIL: regression
    ===============================================
    1 of 1 tests failed
    Please report to http://freeassociation.sf.net/
    ===============================================
    make[4]: *** [check-TESTS] Error 1
    make[4]: Leaving directory `/home/donv/ical-make/jp-icalendar/libical/src/test’
    make[3]: *** [check-am] Error 2
    make[3]: Leaving directory `/home/donv/ical-make/jp-icalendar/libical/src/test’
    make[2]: *** [check-recursive] Error 1
    make[2]: Leaving directory `/home/donv/ical-make/jp-icalendar/libical/src’
    make[1]: *** [check-recursive] Error 1
    make[1]: Leaving directory `/home/donv/ical-make/jp-icalendar/libical’
    make: *** [check-recursive] Error 1

  • By Nathan Clarke, March 17, 2009 @ 6:10 am

    Thanks for posting these instructions. When I execute the ./configure step, I get the following error:

    checking for pilot-link header files… no
    configure: error: Could not find the pilot-link header files

    Can anyone tell me how to get the pilot-link header files?

    Cheers,
    Nathan

  • By Nathan Clarke, March 17, 2009 @ 6:27 am

    Actually, I’ve found the answer myself:

    sudo apt-get install libgnome-pilot2-dev

    That did it.

Other Links to this Post

RSS feed for comments on this post.

Leave a comment