.so
apropriada que você está usando. Deve haver um
link como libc.so
para cada biblioteca como
libc.so.5.2.18
.
Com um compilador a.out (veja P8.2. O que é esse tal de
ELF?) a causa mais comum do problema é o flag -g
passado ao
linkeditor (compilador). Ele produz um programa que é "linkado" estaticamente
(além de informações para depuração no arquivo de saída), i.e. um que inclui
uma cópia da bilioteca C, ao invés de usar uma copia ligada dinamicamente.
Outros fatores a serem investigados são -O
e
-O2
que habilitam otimização (veja documentação do GCC) e
-s
(ou o comando strip
) que remove informações de
símbolos do binário resultante (tornando a depuração totalmente impossível).
Você pode querer usar -N
em executáveis muito pequenos
(menores que 8K com a opcção -N
), mas você não deve usá-lo a
menos que esteja ciente das implicações sobre a performance, e
definitivamente jamais em daemons.