aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/ldso-inst.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/ldso-inst.sgml')
-rw-r--r--chapter06/ldso-inst.sgml40
1 files changed, 40 insertions, 0 deletions
diff --git a/chapter06/ldso-inst.sgml b/chapter06/ldso-inst.sgml
new file mode 100644
index 000000000..a452716d7
--- /dev/null
+++ b/chapter06/ldso-inst.sgml
@@ -0,0 +1,40 @@
+<sect2>
+<title>Installation of Ld.so</title>
+
+<para>
+Install Ld.so by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd util &amp;&amp;</userinput>
+ <userinput>make ldd ldconfig &amp;&amp;</userinput>
+ <userinput>cp ldd /bin &amp;&amp;</userinput>
+ <userinput>cp ldconfig /sbin &amp;&amp;</userinput>
+ <userinput>cd ../man &amp;&amp;</userinput>
+ <userinput>cp ldd.1 /usr/share/man/man1 &amp;&amp;</userinput>
+ <userinput>cp *.8 /usr/share/man/man8 &amp;&amp;</userinput>
+ <userinput>rm /usr/bin/ldd &amp;&amp;</userinput>
+ <userinput>hash -r</userinput>
+
+</literallayout></blockquote>
+
+<para>
+The <quote>hash -r</quote> command is to make bash forget about the
+locations of previously executed commands. If you have executed ldd
+before, bash expects it to be found in /usr/bin. Since we moved it to
+/bin, the cache needs to be purged so bash can find it in /bin when you
+want to execute it again.
+</para>
+
+<para>
+You might have noticed that we don't use the compiler optimizations for
+this package. The reason is that overriding the CFLAGS variable causes
+compilation problems. You would have to edit the Config.mk file and add
+the proper values to the CFLAGS variable and then compile the package.
+If you want to do that it's up to you. I don't think it's worth the
+trouble though. The ld and ldd programs usually are only rarely used.
+</para>
+
+</sect2>
+