¿Cómo encuentra gcc en Solaris sus bibliotecas?
Pregunta
Estoy intentando instalar 'quadrupel', una biblioteca que se basa en ffmpeg en Solaris x86.
Logré compilar ffmpeg y sus bibliotecas se encuentran en /opt/gnu/lib y las inclusiones están en /opt/gnu/include pero cuando intento compilar quadrupel, no puedo encontrar los encabezados de ffmpeg.
¿Qué indicadores/configuración se requieren para incluir esos dos directorios en las rutas de búsqueda adecuadas para bibliotecas e inclusiones?No soy un gran hacker de Makefile.
Solución
Puede anular la ruta configurando la variable ambiental LD_LIBRARY_PATH.Sin embargo, sugeriría cambiar también las rutas del sistema para no tener que cambiar la ruta de la biblioteca para todos los usuarios.Esto se puede hacer usando crel.
crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib
Para las inclusiones, simplemente agregue -I/opt/gnu/include a su variable CFLAGS.
Otros consejos
Creo que necesitas agregar lo siguiente al Makefile:
CFLAGS += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib
El argumento -I le dice a gcc dónde encontrar los archivos de inclusión.El indicador -L le dice a ld dónde encontrar las bibliotecas mientras realiza el enlace.El indicador -R escribe /opt/gnu/lib en la ruta de búsqueda de bibliotecas en el binario cuadrúpelo, para que pueda encontrar sus bibliotecas cuando se inicie.