Introduction to libical

The libical package contains an implementation of the iCalendar protocols and data formats.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

libical Dependencies





Doxygen-1.10.0 (for the API documentation), Graphviz-10.0.1 (for the API documentation), GTK-Doc-1.33.2 (for the API documentation), ICU-74.2, PyGObject-3.46.0 (for some tests), and Berkeley DB (deprecated)

Installation of libical

Install libical by running the following commands:



This package may occasionally fail when building with multiple processors. See Using Multiple Processors for more information.

mkdir build &&
cd    build &&

      -DCMAKE_BUILD_TYPE=Release   \
      -DSHARED_ONLY=yes            \
      -DICAL_BUILD_DOCS=false      \
      -DICAL_GLIB_VAPI=true        \
      .. &&
make -j1

If you have Doxygen-1.10.0, Graphviz-10.0.1, and GTK-Doc-1.33.2 installed and wish to build the API documentation, you should remove the -DICAL_BUILD_DOCS=false switch and issue:

make docs

To test the results, issue: make test.

Now, as the root user:

make install

If you have built the API documentation, install by issuing, as root user:

install -vdm755 /usr/share/doc/libical-3.0.17/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.17/html

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to apply higher level of the compiler optimizations.

-DSHARED_ONLY=yes: This switch is used in order to only build the shared libraries.

-DICAL_BUILD_DOCS=false: This switch prevents building the GTK documentation. Remove if you want to build the documentation.

-DGOBJECT_INTROSPECTION=true: This switch is used to generate GObject metadata bindings.

-DICAL_GLIB_VAPI=true: This switch is used in order to build bindings for Vala-0.56.14.

-DUSE_BUILTIN_TZDATA=yes: This switch is used in order to build using your own timezone data.


Installed Programs: None
Installed Libraries:,,,,, and
Installed Directory: /usr/include/libical, /usr/include/libical-glib, /usr/lib/cmake/LibIcal, /usr/libexec/libical, /usr/share/gtk-doc/html/libical-glib (optional), and /usr/share/doc/libical-3.0.17/html

Short Descriptions

contains the libical API functions

contains the libical C++ bindings

contains the libical glib bindings

is a library that allows you to store iCal component data to disk in a variety of ways

contains the libicalss C++ bindings

is a vCard/vCalendar C interface