
Estaba siguiendo un tutorial sobre cómo averiguar las bibliotecas dependientes de un programa y se explica así:
whereis firefox
muestra las carpetas donde está instalado, toma la ruta completa al binario yldd /usr/bin/firefox
póngalo como argumento del comando ldd.
El tutorial también usó Firefox como ejemplo y por lo tanto estaba seguro de recrearlo, pero cuando escribí:
Respuesta1
El firefox
ejecutable es un script de shell en su sistema.
Algunas aplicaciones emplean un script contenedor que configura el entorno de ejecución de la aplicación, posiblemente para permitir una mejor integración con la versión actual de Unix, o para proporcionar formas alternativas de ejecutar la aplicación (nuevos conjuntos de opciones de línea de comando, etc.) que el La aplicación en sí no proporciona. A veces se utiliza un script contenedor para elegir el binario real correcto para ejecutar en función de la forma en que se llamó ese script.
Por ejemplo, el compilador C MPI ("Message Passing Interface") no es más que un script contenedor cc
(o cualquier compilador que esté configurado para usar) que garantiza que los encabezados MPI estén en la ruta de búsqueda y que la biblioteca MPI esté vinculada. al compilar.
Eche un vistazo a este script para ver qué binarios llama y en qué circunstancias.
Respuesta2
$ file $(which firefox)
/usr/bin/firefox: Bourne-Again shell script, ASCII text executable
$ tail $(which firefox)
done
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"