[FE training-materials-updates] Tinysystem lab: clarification about the "not found" error

Michael Opdenacker michael.opdenacker at free-electrons.com
Wed Dec 10 12:30:53 CET 2014


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=1cb113faf25ba0e57d42ac5902ca9dd6406debec

>---------------------------------------------------------------

commit 1cb113faf25ba0e57d42ac5902ca9dd6406debec
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Wed Dec 10 12:30:03 2014 +0100

    Tinysystem lab: clarification about the "not found" error
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

1cb113faf25ba0e57d42ac5902ca9dd6406debec
 labs/sysdev-tinysystem/sysdev-tinysystem.tex | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/labs/sysdev-tinysystem/sysdev-tinysystem.tex b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
index 6ef534d..17adad8 100644
--- a/labs/sysdev-tinysystem/sysdev-tinysystem.tex
+++ b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
@@ -207,12 +207,15 @@ Take the \code{hello.c} program supplied in the lab \code{data}
 directory. Cross-compile it for ARM, dynamically-linked with the
 libraries, and run it on the target.
 
-You will first encounter a \code{not found} error caused by the
-absence of the \code{ld-uClibc.so.0} executable, which is the dynamic
-linker required to execute any program compiled with shared
-libraries. Using the \code{find} command (see examples in your command
-memento sheet), look for this file in the toolchain install directory,
-and copy it to the \code{lib/} directory on the target.
+You will first encounter a very misleading \code{not found} error,
+which is not because the \code{hello} executable is not found, but
+because something else is not found using the attempt to execute
+this executable. What's missing is the \code{ld-uClibc.so.0}
+executable, which is the dynamic linker required to execute any
+program compiled with shared libraries. Using the \code{find}
+command (see examples in your command memento sheet), look for this
+file in the toolchain install directory, and copy it to the
+\code{lib/} directory on the target.
 
 Then, running the executable again and see that the loader executes
 and finds out which shared libraries are missing.



More information about the training-materials-updates mailing list