-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
287 lines (204 loc) · 8.93 KB
/
INSTALL
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
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
Debian package installation:
============================
GKrellM is in the Debian archives, you can install using apt-get:
apt-get update
apt-get install gkrellm
RedHat package installation:
============================
Fresh install:
rpm -i gkrellm-X.Y.Z-1.i386.rpm
or, upgrade
rpm -U gkrellm-X.Y.Z-1.i386.rpm
Installation from source:
=========================
First untar the tarball:
------------------------
tar -xvjf gkrellm-X.Y.Z.tar.bz2
cd gkrellm-X.Y.Z
Next compile and install GKrellM for your target system.
BSD systems need to use gmake (GNU make) instead of the BSD make.
See below for custom gkrellmd server installs and for installs
into specific directories.
--------------------------------------------------------
Linux
-----
make
make install
FreeBSD 2.x
-----------
make freebsd2
make install_freebsd
FreeBSD 3.x and 4.x or later
----------------------------
make freebsd
make install_freebsd
NetBSD 2.X, 3.X and later
---------------------------------
make netbsd2
make install_netbsd
NetBSD 1.5 - 1.6.X
---------------------------------
make netbsd1
make install_netbsd
OpenBSD
---------------------------------
make openbsd
make install_openbsd
Note: install_openbsd makes gkrellm setgid kmem so it can be run non-root, ie:
chgrp kmem /usr/local/bin/gkrellm
chmod g+sx /usr/local/bin/gkrellm
Solaris 2.x (8 tested so far)
-----------------------------
make solaris
make install_solaris
Note: install_solaris makes gkrellm setgid sys so it can be run non-root, ie:
chgrp sys /usr/local/bin/gkrellm
chmod g+s /usr/local/bin/gkrellm
(see below for additional Solaris install notes)
Windows (needs Windows XP or newer)
---------------------------------------
make windows
make INSTALLROOT=C:\gkrellm install_windows
See:
http://www.srcbox.net/projects/gkrellm/
Needed software for building gkrellm on win32 systems:
- MinGW
- MSYS (gkrellm makefiles are NOT compatible with cmd.exe)
- GTK >= 2.4 Development files (see http://www.gtk.org/download-windows.html)
- OpenSSL or GnuTLS (optional)
- libntlm (optional)
Note: Installing gkrellm on windows needs INSTALLROOT set, the default path
(/usr/local) probably won't work
BSD make Problems
-----------------
On BSD systems, errors like:
"Makefile", line 21: Missing dependency operator
result from using BSD make. You need to use gmake.
If you get the error:
ld: invalid command option `-E'
re-run the make without any link flags, eg:
gmake openbsd LINK_FLAGS=
==========================================================================
Customizing the install directory locations
-------------------------------------------
The default install is under the INSTALLROOT /usr/local, and this is the
default directory install tree:
/usr/local INSTALLROOT
/bin/ both gkrellm and gkrellmd
/include/gkrellm2/ development include files
/share/locale/XX/ LC_MESSAGES/gkrellm.mo (XX is cs, de, ...)
/man/man1/ gkrellm.1 and gkrellmd.1
/lib/pkgconfig/ gkrellm.pc
The INSTALLROOT and/or individual install directory locations may be changed.
For example, use INSTALLROOT to install everything under /usr:
make install INSTALLROOT=/usr
For package maintainers convenience, INSTALLROOT may be constructed from
DESTDIR and PREFIX. So if INSTALLROOT is not specified, you can then
set either or both of DESTDIR and PREFIX to construct your effective
INSTALLROOT. For example, a /foo/usr INSTALLROOT would result from:
make install DESTDIR=/foo PREFIX=/usr
For finer grained control of individual install directories, use INSTALLDIR
(for gkrellm), INCLUDEDIR, MANDIR (for gkrellm.1), LOCALEDIR, SINSTALLDIR
(for gkrellmd), and SMANDIR (for gkrellmd.1). When a DIR variable is given,
INSTALLROOT is ignored for that directory and the complete directory path
must be given.
For example, this command installs under /usr for all except the gkrellmd
server which is put in /opt/sbin:
make install INSTALLROOT=/usr SINSTALLDIR=/opt/sbin
The install of i18n translation files is additionally sensitive to the
environment variable LOCALEDIR if it set. A command line LOCALEDIR takes
precedence over an environment variable LOCALEDIR. See the po/README file
for examples. Also, the install of translation files may be omitted with:
make install enable_nls=0
==========================================================================
Custom gkrellmd server installs:
--------------------------------
1) The default top level make will compile a gkrellmd server using glib2.
However, a gkrellmd server using glib-1.2 can be compiled for systems
without the glib2 version with:
make glib12=1
2) If the target server has glib installed but no gtk or Xlibs, then gkrellmd
may be built on the target server by working in the gkrellmd server
directory:
cd gkrellm-2.x.y/server
make
or
make glib12=1
make install
If not on Linux, remember to specify a make target as for a top level
make. That is, use "make freebsd", etc and "make install_freebsd", etc.
This installs gkrellmd into /usr/local/bin and gkrellmd.1 into
/usr/local/share/man/man1, but if you want to install somewhere else,
do for example:
make SMANDIR=/usr/share/man/man1 SINSTALLDIR=/usr/bin install
or
make INSTALLROOT=/usr install
==========================================================================
Other make flags:
-----------------
To compile a binary with debugging symbols (-g compiler option):
make debug=1
============================================================================
Making a RPM package from the source tarball:
---------------------------------------------
Copy the gkrellm.spec file from inside the tarball to:
/usr/src/RPM_DIR/SPECS
where you should substitute for "RPM_DIR" something like "redhat", "RPMS", or
whatever is appropriate for your distribution.
Make this "RPM_DIR" substitution in the steps below.
Also, it's possible some distributions will require an edit of the
gkrellm.spec "Requires" line. For example, on Mandrake you may have
to change it to:
Requires: gtk+2.0 >= 2.0, glib2 >= 2.0
If your rpm can't handle tar.bz2 files, you need to convert the source tarball
gkrellm-X.Y.Z.tar.bz2 into a gkrellm-X.Y.Z.tar.gz with an untar and tar.
Copy the gkrellm source tarball to:
/usr/src/RPM_DIR/SOURCES
Then make the RPMs:
cd /usr/src/RPM_DIR/SPECS
rpm -ba --clean gkrellm.spec
Then you should have for a GKrellM version X.Y.Z the RPM packages:
/usr/src/RPM_DIR/RPMS/$ARCH/gkrellm-X.Y.Z-1.rpm
/usr/src/RPM_DIR/SRPMS/gkrellm-X.Y.Z-1.src.rpm
==========================================================================
==========================================================================
Solaris install notes:
----------------------
Tested to be built as 32bit application with gcc on UltraSPARC only.
It should work on both 32bit and 64bit kernel. The Solaris port currently
utilizes kvm to get a value for proc.n_forks. It imposes a few restrictions:
1) gkrellm for Solaris should be setgid sys as mentioned above.
2) On Solaris, 32bit binary of gkrellm cannot run on 64bit kernel while
maintaining its full functionality and vice versa.
a) It cannot acquire "number of forks" on a different data model of
the kernel image from its own origin (i.e. binary incompatibility
between 32bit and 64bit). This is caused by restriction of kvm just
as mentioned above. For more details, refer to kvm_open(3kvm).
b) Since a single driver called 'sd' takes control over both hard drives
and cdroms, "Disks" monitor includes not just i/o activity of hard
drives but of CDROM or CD-RW's. I don't like this, so a function
called isharddisk() is implemented in order to exclude i/o activity
of removable media. If you don't use "composite disk" for monitoring
and pick drives of your interest, this wouldn't bother you anyway.
Failure of these functions is silently ignored and it proceeds without
the failed functionalities. Separate executable should be built for each
data models (32bit and 64bit kernel) to enjoy full functionality
including ones described above.
Functionalities not supported currently are: Battery, CPU/Motherboard
sensor, Net Timer (PPP) and swap in/out chart.
==========================================================================
libgtop install notes:
----------------------
If you have libgtop (plus development libs) installed, you can make
a version that uses libgtop to read system data. A libgtop version
will not have a disk, internet, or battery monitor because libgtop does not
report these stats.
--If you have gnome (plus libgnome-dev) and either libgtop 1.1.x or 1.0.x:
make gnome-gtop
make install
--If you have libgtop 1.1.x:
make gtop
make install
--If you have libgtop 1.0.x edit the top level Makefile to uncomment GTOP lines
make gtop1.0
make install