1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
|
The following packages should be installed before GNU poke is installed
(runtime dependencies that are also build dependencies):
* Boehm GC
+ Mandatory.
Poke uses the Boehm conservative garbage collector for managing the
memory of some of its subsystems.
+ Homepage:
https://www.hboehm.info/gc/
+ Download:
https://www.hboehm.info/gc/gc_source/
+ Pre-built package name:
- On Debian and Debian-based systems: libgc-dev,
- On Red Hat distributions: gc-devel.
- Other: https://repology.org/project/boehm-gc/versions
+ Note that if you have the Boehm GC installed in a prefix different
from the one that contains pkg-config, you either need to set
PKG_CONFIG_PATH so that pkg-config finds it:
$ test -z "$PKG_CONFIG_PATH" \
|| PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_PKGCONFIG}/lib/pkgconfig
$ export PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_LIBGC}/lib/pkgconfig:${PKG_CONFIG_PATH}
or set the variables BDW_GC_CFLAGS, BDW_GC_LIBS when invoking 'configure'.
Which one to use, depends how the Boehm GC is installed:
- If it is installed as a binary package from the vendor, you usually
don't need to set any variable.
Except on Solaris 11, where you have to set BDW_GC_LIBS="-lbgc".
- If it is installed as a binary package in /usr/local, such as e.g. on
FreeBSD, set
BDW_GC_CFLAGS="-I/usr/local/include" BDW_GC_LIBS="-L/usr/local/lib -lgc"
- If it is installed from source with the same --prefix as you are using
for GNU poke, set
BDW_GC_LIBS="-lgc"
- If it is installed from source with a different --prefix, set
PKG_CONFIG_PATH as shown above.
* GNU readline
+ Mandatory.
Poke uses GNU libreadline in order to provide a nice line editor in
the '(poke)' prompt. Any recent version will suffice.
+ Homepage:
https://www.gnu.org/software/readline/
+ Download:
https://ftp.gnu.org/gnu/readline/
+ Pre-built package name:
- On Debian and Debian-based systems: libreadline-dev,
- On Red Hat distributions: readline-devel.
- Other: https://repology.org/project/readline/versions
+ If it is installed in a nonstandard directory, pass the option
--with-libreadline-prefix=DIR to 'configure'.
* JSON-C
+ Optional.
The poke machine-interface uses a protocol to communicate with
clients, which is based on JSON. poke uses the json-c library to
parse and build JSON strings.
If this library is not found, poke will build without machine-interface
support.
+ Homepage:
https://github.com/json-c/json-c/wiki
+ Download:
https://s3.amazonaws.com/json-c_releases/releases/index.html
+ Pre-built package name:
- On Debian and Debian-based systems: libjson-c-dev,
- On Red Hat distributions: json-c-devel.
- Other: https://repology.org/project/json-c/versions
+ If it is installed in a nonstandard directory, you need to set
PKG_CONFIG_PATH so that pkg-config finds it:
$ test -z "$PKG_CONFIG_PATH" \
|| PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_PKGCONFIG}/lib/pkgconfig
$ export PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_JSON_C}/lib/pkgconfig:${PKG_CONFIG_PATH}
or set the variables JSON_C_CFLAGS, JSON_C_LIBS when invoking 'configure'.
* Tcl and Tk
+ Optional.
The poke GUI uses Tcl and Tk, so you need to have the respective
development packages installed in your system. Any recent version
will suffice.
+ Homepage:
https://www.tcl.tk/
+ Download:
https://www.tcl.tk/software/tcltk/download.html
+ Pre-built package name:
- On Debian and Debian-based systems: tcl-dev, tk-dev,
- On Red Hat distributions: tcl-devel, tk-devel.
- Other: https://repology.org/project/tk/versions
* GNU libtextstyle
+ Optional.
GNU poke uses libtextstyle in order to provide styled output. If the
library is not found, then a dummy version of it from gnulib is used
instead... that does not do any styling!
+ Homepage:
https://www.gnu.org/software/gettext/libtextstyle/manual/index.html
+ Download:
At the moment libtextstyle lives in a subdirectory of GNU gettext.
https://ftp.gnu.org/gnu/gettext/
+ Pre-built package name:
- On Debian and Debian-based systems: gettext (>= 0.21, in unstable),
- On Red Hat distributions: --.
- Other: https://repology.org/project/libtextstyle/versions
+ If it is installed in a nonstandard directory, pass the option
--with-libtextstyle-prefix=DIR to 'configure'.
* libnbd
+ Optional.
GNU poke optionally uses libnbd to expose an io space for data served
by an arbitrary NBD (Network Block Device) server. Testing this
further requires nbdkit to quickly provide an arbitrary NBD server.
+ Homepage:
http://libguestfs.org/libnbd.3.html
+ Download:
https://download.libguestfs.org/libnbd/
+ Pre-built package name:
- On Debian and Debian-based systems: libnbd-dev,
- On Red Hat distributions: libnbd-devel, nbdkit-basic-plugins.
- Other: https://repology.org/project/libnbd/versions
+ If it is installed in a nonstandard directory, you need to set
PKG_CONFIG_PATH so that pkg-config finds it:
$ test -z "$PKG_CONFIG_PATH" \
|| PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_PKGCONFIG}/lib/pkgconfig
$ export PKG_CONFIG_PATH=${INSTALL_PREFIX_OF_LIBNBD}/lib/pkgconfig:${PKG_CONFIG_PATH}
or set the variables LIBNBD_CFLAGS, LIBNBD_LIBS when invoking 'configure'.
The following packages should be installed when GNU poke is installed
(runtime dependencies, but not build dependencies):
* Tcl library.
+ Optional.
Required by the poke GUI.
+ Homepage:
https://core.tcl-lang.org/index.html
+ Download:
https://core.tcl-lang.org/tcllib/wiki?name=Downloads
+ Pre-built package name:
- On Debian and Debian-based systems: tcllib,
- On Red Hat distributions: --.
- Other: https://repology.org/project/tcllib/versions
The following should be installed when GNU poke is built, but are not
needed later, once it is installed (build dependencies, but not runtime
dependencies):
* A C runtime, compiler, linker, etc.
+ Mandatory.
Either the platform's native 'cc', or GCC 3.1 or newer.
Note: On Solaris 10, cc is too old; use GCC instead.
+ GCC Homepage:
https://gcc.gnu.org/
+ Download:
https://ftp.gnu.org/gnu/gcc/
* A 'make' utility.
+ Mandatory.
Either the platform's native 'make' (for in-tree builds only),
or GNU Make 3.79.1 or newer.
+ GNU Make Homepage:
https://www.gnu.org/software/make/
+ Download:
https://ftp.gnu.org/gnu/make/
* A shell
+ Mandatory.
Either the platform's native 'sh', or Bash.
+ Homepage:
https://www.gnu.org/software/bash/
+ Download:
https://ftp.gnu.org/gnu/bash/
* Core POSIX utilities, including:
[ basename cat chgrp chmod chown cp dd echo expand expr
false hostname install kill ln ls md5sum mkdir mkfifo
mknod mv printenv pwd rm rmdir sleep sort tee test touch
true uname
+ Mandatory.
Either the platform's native utilities, or GNU coreutils.
+ Homepage:
https://www.gnu.org/software/coreutils/
+ Download:
https://ftp.gnu.org/gnu/coreutils/
* The comparison utilities 'cmp' and 'diff'.
+ Mandatory.
Either the platform's native utilities, or GNU diffutils.
+ Homepage:
https://www.gnu.org/software/diffutils/
+ Download:
https://ftp.gnu.org/gnu/diffutils/
* Grep.
+ Mandatory.
Either the platform's native grep, or GNU grep.
+ Homepage:
https://www.gnu.org/software/grep/
+ Download:
https://ftp.gnu.org/gnu/grep/
* Awk.
+ Mandatory.
Either the platform's native awk, mawk, or nawk, or GNU awk.
+ Homepage:
https://www.gnu.org/software/gawk/
+ Download:
https://ftp.gnu.org/gnu/gawk/
* pkg-config
+ Mandatory.
Needed to find the Boehm GC installation.
+ Home page:
https://www.freedesktop.org/wiki/Software/pkg-config/
+ Download:
https://pkgconfig.freedesktop.org/releases/
+ Pre-built package name:
- On Debian and Debian-based systems: pkg-config,
- On Red Hat distributions: pkgconfig.
- Other: https://repology.org/project/pkg-config/versions
* GNU DejaGnu
+ Optional.
Needed for "make check" to actually test something.
+ Home page:
https://www.gnu.org/software/dejagnu/
+ Download:
https://ftp.gnu.org/gnu/dejagnu/
+ Pre-built package name:
- On Debian and Debian-based systems: dejagnu,
- On Red Hat distributions: dejagnu.
- Other: https://repology.org/project/dejagnu/versions
|