source: general/prog/ruby.xml@ 52250565

10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 52250565 was f9757a6, checked in by Douglas R. Reno <renodr@…>, 4 years ago

Fix ruby to work with glibc-2.32

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23551 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ruby-download-http "http://cache.ruby-lang.org/pub/ruby/&ruby-minor-version;/ruby-&ruby-version;.tar.xz">
8 <!ENTITY ruby-download-ftp " ">
9 <!ENTITY ruby-md5sum "799a8ac9f93e4f46b45be32c5cfd4f21">
10 <!ENTITY ruby-size "11 MB">
11 <!ENTITY ruby-buildsize "452 MB (add 214 MB for C API docs)">
12 <!ENTITY ruby-time "1.2 SBU (using parallelism=4; add 4.8 SBU for tests; add 0.5 SBU for C API docs)">
13]>
14
15<sect1 id="ruby" xreflabel="Ruby-&ruby-version;">
16 <?dbhtml filename="ruby.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Ruby-&ruby-version;</title>
24
25 <indexterm zone="ruby">
26 <primary sortas="a-Ruby">Ruby</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Ruby</title>
31
32 <para>
33 The <application>Ruby</application> package contains the
34 <application>Ruby</application> development environment. This
35 is useful for object-oriented scripting.
36 </para>
37
38 &lfs10_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&ruby-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&ruby-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &ruby-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &ruby-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &ruby-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &ruby-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/ruby-&ruby-version;-glibc_fix-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">Ruby Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Optional</bridgehead>
87 <para role="optional">
88 <xref linkend="db"/>,
89 <xref linkend="doxygen"/>,
90 <xref linkend="graphviz"/>,
91 <xref linkend="libyaml"/>,
92 <xref linkend="tk"/>,
93 <xref linkend="valgrind"/>, and
94 <ulink url="http://dtrace.org/blogs/about/">DTrace</ulink>
95 </para>
96
97 <para condition="html" role="usernotes">User Notes:
98 <ulink url="&blfs-wiki;/ruby"/>
99 </para>
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of Ruby</title>
104
105 <para>
106 First, resolve some issues introduced by glibc-2.32:
107 </para>
108
109<screen><userinput remap="pre">patch -Np1 -i ../ruby-&ruby-version;-glibc_fix-1.patch</userinput></screen>
110
111 <para>
112 Install <application>Ruby</application> by running the following
113 command:
114 </para>
115
116<screen><userinput>./configure --prefix=/usr \
117 --enable-shared \
118 --docdir=/usr/share/doc/ruby-&ruby-version; &amp;&amp;
119make</userinput></screen>
120
121 <para>
122 Optionally, build the CAPI documents by running the following
123 commands:
124 </para>
125
126<screen><userinput>make capi</userinput></screen>
127
128 <para>
129 To test the results, issue: <command>make check</command>. There are over
130 21,000 tests. Some tests related to ipv6 may indicate errors. If the
131 tests are run in a directory that has a world writable component (e.g.
132 /tmp) then several additional tests may fail. One test related to
133 the time function may fail due to a change in expectations as a result of
134 glibc-2.31.
135 </para>
136
137 <para>
138 Now, as the <systemitem class="username">root</systemitem> user:
139 </para>
140
141<screen role="root"><userinput>make install</userinput></screen>
142
143 </sect2>
144
145 <sect2 role="commands">
146 <title>Command Explanations</title>
147
148 <para>
149 <parameter>--enable-shared</parameter>: This switch enables building of
150 the <filename class="libraryfile">libruby</filename> shared library.
151 </para>
152
153 <para>
154 <option>--disable-install-doc</option>: This switch disables building and
155 installing rdoc indexes and C API documents.
156 </para>
157
158 <para>
159 <option>--disable-install-rdoc</option>: This switch disables building
160 and installing rdoc indexes.
161 </para>
162
163 <para>
164 <option>--disable-install-capi</option>: This switch disables building
165 and installing C API documents.
166 </para>
167
168 </sect2>
169
170 <sect2 role="content">
171 <title>Contents</title>
172
173 <segmentedlist>
174 <segtitle>Installed Programs</segtitle>
175 <segtitle>Installed Libraries</segtitle>
176 <segtitle>Installed Directories</segtitle>
177
178 <seglistitem>
179 <seg>
180 bundle, bundler, erb, gem, irb, rake, rdoc, ri, and ruby
181 </seg>
182 <seg>
183 libruby.so
184 </seg>
185 <seg>
186 /usr/include/ruby-&ruby-minor-version;.0
187 /usr/lib/ruby,
188 /usr/share/doc/ruby-&ruby-version; and
189 /usr/share/ri
190 </seg>
191 </seglistitem>
192 </segmentedlist>
193
194 <variablelist>
195 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
196 <?dbfo list-presentation="list"?>
197 <?dbhtml list-presentation="table"?>
198
199 <varlistentry id="bundle">
200 <term><command>bundle</command></term>
201 <listitem>
202 <para>
203 creates bundles of Ruby Gems.
204 </para>
205 <indexterm zone="ruby bundle">
206 <primary sortas="b-bundle">bundle</primary>
207 </indexterm>
208 </listitem>
209 </varlistentry>
210
211 <varlistentry id="bundler">
212 <term><command>bundler</command></term>
213 <listitem>
214 <para>
215 manages an application's dependencies throughout it's lifecycle.
216 </para>
217 <indexterm zone="ruby bundler">
218 <primary sortas="b-bundler">bundler</primary>
219 </indexterm>
220 </listitem>
221 </varlistentry>
222
223 <varlistentry id="erb">
224 <term><command>erb</command></term>
225 <listitem>
226 <para>
227 is Tiny eRuby. It interprets a
228 <application>Ruby</application> code embedded text file.
229 </para>
230 <indexterm zone="ruby erb">
231 <primary sortas="b-erb">erb</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="gem">
237 <term><command>gem</command></term>
238 <listitem>
239 <para>
240 command for RubyGems - a sophisticated package manager for
241 <application>Ruby</application>.
242 </para>
243 <indexterm zone="ruby gem">
244 <primary sortas="b-gem">gem</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
249 <varlistentry id="irb">
250 <term><command>irb</command></term>
251 <listitem>
252 <para>
253 is the interactive interface for
254 <application>Ruby</application>.
255 </para>
256 <indexterm zone="ruby irb">
257 <primary sortas="b-irb">irb</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261
262 <varlistentry id="rake">
263 <term><command>rake</command></term>
264 <listitem>
265 <para>
266 a make-like build utility for <application>Ruby</application>.
267 </para>
268 <indexterm zone="ruby rake">
269 <primary sortas="b-rake">rake</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="rdoc">
275 <term><command>rdoc</command></term>
276 <listitem>
277 <para>
278 generates <application>Ruby</application> documentation.
279 </para>
280 <indexterm zone="ruby rdoc">
281 <primary sortas="b-rdoc">rdoc</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="ri">
287 <term><command>ri</command></term>
288 <listitem>
289 <para>
290 displays documentation from a database on
291 <application>Ruby</application> classes, modules, and methods.
292 </para>
293 <indexterm zone="ruby ri">
294 <primary sortas="b-ri">ri</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="ruby-prog">
300 <term><command>ruby</command></term>
301 <listitem>
302 <para>
303 is an interpreted scripting language for quick
304 and easy object-oriented programming.
305 </para>
306 <indexterm zone="ruby ruby-prog">
307 <primary sortas="b-ruby">ruby</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="libruby">
313 <term><filename role="libraryfile">libruby.so</filename></term>
314 <listitem>
315 <para>
316 contains the API functions required by <application>Ruby</application>.
317 </para>
318 <indexterm zone="ruby libruby">
319 <primary sortas="c-libruby">libruby.so</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 </variablelist>
325
326 </sect2>
327
328</sect1>
Note: See TracBrowser for help on using the repository browser.