gclib  1.34.15
Communications API for Galil controllers and PLCs
Raspberry Pi

Tested versions

See the installation page for supported versions.


Adding the package repository is a prerequisite to continue.


Install gclib and gcapsd (recommended)

# apt install gclib gcapsd
See the Remote Server Example to make your Galil controllers easily accessible to other computers on your network.


If gclib is to be removed from the system, the following commands may be used.

# apt remove gclib gcapsd


To upgrade gclib to the newest release, use the following command.

# apt install --only-upgrade gclib gcapsd

List All Versions

Galil keeps older versions of gclib and gcapsd available for users. To list all versions use the following command.

$ apt-cache madison gclib gcapsd

Installing Older Versions

When using gcaps, a compatible pairing of gcaps and gclib must be used. Galil maintains this compatibility with installations and upgrades. Installing GDK will also install compatible versions of gclib and gcaps. When installing older versions manually, it is the user's responsibility to ensure compatible versions.

Append the desired version's information after the package name.

# apt install gclib=<version> gcapsd=<version>

An Example

On the developer's machine, gclib is installed with the current version.

$ sudo apt install gclib gcapsd

After installation, the versions can be queried.

$ apt list --installed gclib gcapsd
Listing... Done
gcapsd/unknown,now 205-1 amd64 [installed]
gclib/unknown,now 517-1 amd64 [installed]

On the deployment machine, the precise versions can now be specified.

$ sudo apt install gclib=517-1 gcapsd=205-1

Serial Ports and USB

If access to the serial ports or USB (e.g. DMC-4103) is desired through gclib, the following will provide steps to join the correct access group. If using USB, be sure the controller is powered and the usb is plugged in before beginning.

Determine group with access

$ ls -l /dev/ttyUSB* /dev/ttyS*
crw-rw----. 1 root dialout   4, 64 Mar  3 16:39 /dev/ttyS0
crw-rw----. 1 root dialout   4, 65 Mar  3 16:39 /dev/ttyS1
crw-rw----. 1 root dialout   4, 66 Mar  3 16:39 /dev/ttyS2
crw-rw----. 1 root dialout   4, 67 Mar  3 16:39 /dev/ttyS3
crw-rw----. 1 root dialout 188,  0 Mar  6 11:08 /dev/ttyUSB0

In the above listing, dialout is the group that needs to be joined. uucp is another common group that may be listed.

Check the user's group

The default pi username is already a member of dialout.

$ groups
pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi

If needed, add the desired username to the group.

$ sudo gpasswd -a username dialout
[sudo] password for username: 
Adding user username to group dialout

Log out and back in for change to take effect.

$ groups
username wheel dialout

gclib can now connect to serial and usb devices from user username.


The documentation is left as a tarball to minimize disk usage. The latest release version of the user manual is available at the following link.

Offline html

The following allows viewing of the html docs from the installation, in the GUI mode.

$ tar -xzf /usr/share/doc/gclib/gclib_doc.tar.gz html
$ epiphany html/index.html