---
name: "chicken-install"
section: "1"
platform: "linux"
package: "chicken"
version: "6.0.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/chicken-install"
---

# chicken-install(1)

download and install extension libraries for CHICKEN Scheme

## NAME

**chicken-install** – download and install extension libraries for CHICKEN Scheme

## SYNOPSIS

**chicken-install** \[*OPTION* *...*\] \[*NAME\[:VERSION\]* *...*\]

## DESCRIPTION

**chicken-install** downloads, compiles and installs a prepackaged extension library from sources. If no extension name is given on the command line, then any existing *egg* descriptions in the current directory will be executed in unspecified order.

The program accepts following arguments:

- **-h**, **-help**

  Show usage and exit.

- **-version**

  Show version and exit.

- **-v**, **-verbose**

  Print extra information during installation.

- **-force**

  Install without confirmation, even if versions don't match.

- **-k**, **-keep**

  Keep temporary files.

- **-s**, **-sudo**

  Use an external program to elevate privileges for filesystem operations. The program defaults to [sudo(8)](/sudo/8.md) but can be overridden with the SUDO environment variable.

- **-r**, **-retrieve**

  Just retrieve the egg, don't install it (giving **-r** more than once implies **-recursive**).

- **-recursive**

  If **-retrieve** is given, also fetch dependencies recursively.

- **-dry-run**

  Do not build or install, just print the locations of the generated build & install scripts.

- **-list-versions**

  List available versions for the given eggs.

- **-purge**

  Remove cached files for given eggs (or purge cache completely).

- **-host**

  When cross-compiling, only compile extensions for host.

- **-target**

  When cross-compiling, only compile extensions for target.

- **-test**

  Run included test cases, if available.

- **-n**, **-no-install**

  Do not install the egg, just build it.

- **-no-install-dependencies**

  Do not install dependencies. Note that this option may result in build failures due to missing extension libraries.

- **-u**, **-update-db**

  Update export database.

- **-repository**

  Print path used for egg installation.

- **-override** *filename*

  Override versions for installed eggs with information from *filename*.

- **-from-list** *filename*

  Install eggs listed in *filename*, which has the same format as [chicken-status(1)](/chicken-status/1.md)'s **-list** output. This option may be given multiple times.

- **-cached**

  Only install eggs from cache, do not download.

- **-l**, **-location** *directory*

  Get egg sources from the given directory.   May be provided multiple times. Locations specified on the command line have precedence over the ones specified in setup.defaults.

- **-feature**, **-D** *name*

  Register feature  *name*, usable as a condition in cond-expand clauses.

## ENVIRONMENT

Following environment variables change the behaviour of **chicken-install**:

- CHICKEN\_EGG\_CACHE

  Location where eggs are retrieved and built.

- CHICKEN\_INSTALL\_PREFIX

  The path prefix for all target files, as given when building the system. Use this variable to override where programs, include files and additional data files shall be installed.

- CHICKEN\_INSTALL\_REPOSITORY

  The path where extension libraries are installed. Defaults to the package library path selected during configuration (usually $prefix/lib/chicken/\<binary-version\>). Note that this variable takes precedence to CHICKEN\_INSTALL\_PREFIX.

- SUDO

  The command to execute when using **-s** flag in command. If not provided, defaults to [sudo(8)](/sudo/8.md).

## FILES

- *$XDG\_CONFIG\_HOME/chicken/setup.defaults*

  User specific setup.defaults file. ( $XDG\_CONFIG\_HOME defaults to *$HOME/.config* )

- *$prefix/share/chicken/setup.default*

  System-wide setup.defaults file.

- *$XDG\_CACHE\_HOME/chicken-install/*

  Default directory for cached eggs. ( $XDG\_CACHE\_HOME defaults to *$HOME/.cache* )

## EXIT STATUS

The **chicken-install** utility exits 0 on success, 2 if the user aborted an operation, 3 if it was invoked with no explicitly given egg names and no \*.egg files could be found in the current directory, and \>0 if any other error occurs.

## EXAMPLES

Install ‘regex’ egg as root user:

```
# chicken-install regex
```

Install an egg as an normal user but using [sudo(8)](/sudo/8.md):

```
$ chicken-install -s regex
```

Install an egg as an normal user but elevating privileges with different program, such as OpenBSD [doas(1)](/doas/1.md):

```
$ SUDO=/usr/bin/doas chicken-install -s regex
```

## SEE ALSO

[chicken(1)](/chicken/1.md), [chicken-status(1)](/chicken-status/1.md), [chicken-uninstall(1)](/chicken-uninstall/1.md), [csc(1)](/csc/1.md)

More information can be found in the *CHICKEN User's Manual:* **http://wiki.call-cc.org/manual/index**.

## AUTHORS

The CHICKEN Team

## BUGS

Submit bug reports by e-mail to *chicken-janitors@nongnu.org*
