title: Ada program on Linux: SIGSEGV due to missing file?
body: <p>I've compiled an Ada program for Linux on Ubuntu 5.4 (GNAT 3.4) using the following command:</p>
  
  <pre><code>gnatmake -O3 myprogram -bargs -static
  </code></pre>
  
  <p>When I run the program on the Ubuntu machine then, it works fine. But on another machine (Linux webserver), I get the following error message when I try <code>strace</code>:</p>
  
  <pre><code>execve("./myprogram", ["./myprogram"], [/* 15 vars */]) = 0
  brk(0)                                  = 0x811e000
  access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
  mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76f8000
  access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
  mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76f7000
  set_thread_area({entry_number:-1 -&gt; 6, base_addr:0xb76f7680, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
  --- SIGSEGV (Segmentation fault) @ 0 (0) ---
  +++ killed by SIGSEGV +++
  </code></pre>
  
  <p>What does that mean? Do I understand it correctly that the program is unable to run because two files (ld.so.nohwcap and ld.so.preload) are missing? How can I avoid this error? Is there any possibility to include these files into the program while compiling?</p>