Note

The Grid Community Toolkit documentation was taken from the Globus Toolkit 6.0 documentation. As a result, there may be inaccuracies and outdated information. Please report any problems to the Grid Community Forums as GitHub issues.

GCTC Common Libraries → GCT 6.0 C Common Libraries: Developer’s Guide

Introduction

The C Common Libraries provide an abstraction layer for data types, libc system calls, and data structures used throughout the Grid Community Toolkit and useful for applications that use the Grid Community Toolkit.

::numbered:

Before you begin

Feature summary

  • Globus Callback - Portable event handling layer for signal handling and periodic and one-shot events in a single- more multi-threaded environment.

  • Globus Error - An abstraction for providing context-specific information in error response in C.

  • Portable Threading API for POSIX and Windows

  • URL String Parser

  • Configuration handlers for command-line, environment-variable, and configuration file based application configuration.

Tested platforms

The C common libraries have been tested on the following platforms

Table 1. Tested Platforms
Operating System Distribution Version(s) Architecture(s)

Linux

CentOS

5, 6

i386, x86_64

7

x86_64

Fedora

20, 21, 22

i386, x86_64

Red Hat Enterprise Linux

5, 6

i386, x86_64

7

x86_64

Scientific Linux

5, 6

i386, x86_64

7

x86_64

SUSE Linux Enterprise Server

11SP3

x86_64

Debian

6, 7, 8

i386, amd64

Ubuntu

12.04LTS, 14.04LTS, 14.10, 15.04

i386, amd64

Mac OS X

10.6-10.10

i386, x86_64

Solaris

OmniOS

r151006

x86_64

Windows 7

Cygwin

i386, x86_64

MingW64

i386, x86_64

Backward compatibility summary

API changes since GT version 5.2

None.

All of the GT 3.2 API is still functional in GCT 6.0.

Technology dependencies

None.

Security Considerations for C Common Libraries

There are no security considerations for the C Common Libraries.

Usage scenarios

C Common libraries will need to be used if virtually any other toolkit component is used, since many data types are abstract and require the C common libraries to manipulate.

Architecture and design overview

Not available at this time.

APIs

Component API

See the C API pages for other API documentation on globus_common.

Environment variable interface

Environment variables for C Common Libraries

GLOBUS_HOSTNAME

Set this variable to the fully qualified name of the local machine’s hostname.

GLOBUS_DOMAIN_NAME

Set this variable to the domain name to be used to qualify the local machine’s hostname.

GLOBUS_ERROR_OUTPUT

Set this variable to 1 to cause Globus libraries to display error information to stderr.

GLOBUS_ERROR_VERBOSE

Set this variable to 1 to enable verbose error messages.

GLOBUS_I18N

Set this variable to 1 to attempt to use localized messages. (Currently not working)

GLOBUS_LOCATION

Set this variable to the path where the Grid Community Toolkit is installed, so that GCT tools can find libraries and data files. This is only needed if the Grid Community Toolkit was built with the source installer.

GLOBUS_THREAD_MODEL

Set to the name of a thread model to control the operation of the GCT event driver. Valid values are (depending on the platform) none for non-threaded operation (the default), pthread for POSIX threads, or windows for Windows threads.

Debugging

General C debugging techniques apply when developing with the C common libraries.

Troubleshooting

There are no specific troubleshooting techniques for the C common libraries.

Related Documentation

See the C API Pages for more information about this component.