Quiero instalar tmux en una máquina donde no tengo acceso de root. Ya compilé libevent y lo instalé $HOME/.bin-libevent
y ahora quiero compilar tmux, pero configure siempre termina con configure: error: "libevent not found"
, aunque traté de señalar el directorio libevent en la Makefile.am
modificación LDFLAGS
y CPPFLAGS
, pero nada parece funcionar.
¿Cómo puedo decirle al sistema que busque en el directorio de mi casa el liberante?
Respuestas:
Tratar:
(Estoy seguro de que debe haber una mejor manera de configurar las rutas de la biblioteca con autoconf. Por lo general, hay una
--with-libevent=dir
opción. Pero aquí, parece que no hay tal opción).fuente
make
finalmente hizo funcionar. Traté de configurar otras variables de entorno y configuraciónprefix
yexec-prefix
, pero una vez que incluí estas cosas de banderas realmente se construyeron../configure CFLAGS="-I$DIR/include:/usr/otherdir" LDFLAGS="-L$DIR/lib:/usr/otherdir"
pero noCFLAGS="-Idir1 -Idir2 -Idir3" LDFLAGS="-Ldira -Ldirb -Ldirb"
libevent not found
error fui, pero ahora tengo la misma conncurses
:curses not found
. Tanto milibevent
como lasncurses
instalaciones están en$HOME/.local/
libevent
, useLIBEVENT_CFLAGS
y enLIBEVENT_LIBS
lugar deCFLASG
yLDFLAGS
. Parancurse
, useLIBTINFO_CFLAGS
yLIBTINFO_LIBS
@AalokEstaba teniendo un problema similar y descubrí que después de ejecutar
sudo yum install libevent-devel
pude hacer e instalar con éxito tmux.EDITAR: Si está instalando esto en una máquina Red Hat, también necesitará visitar la selección de canales para su servidor en Red Hat Network y agregar el canal RHEL Server Opcional. Esto le dará acceso a los paquetes de desarrollo para libevent (los canales base y suplementarios no lo proporcionan).
fuente
Tuve el mismo problema en RHEL 5.4 y en realidad encontré que libevent está instalado, pero no hay un enlace simbólico libevent.so, solo la versión real de la biblioteca:
Entonces,
ln -s /usr/lib64/libevent-1.1a.so.1 /usr/lib64/libevent.so
funciona bastante bien para mí sin la necesidad de instalar o alterar nada. No tengo idea de por qué las rpm liberadoras de RedHat no crearon el enlace simbólico. Tal vez un error para informar?Pero ahora, que se queja de esto:
error: event.h: No such file or directory
.fuente
error: event.h: No such file or directory
.tmux='LD_PRELOAD=/opt-local/lib/libevent-2.0.so.5 /opt-local/bin/tmux'
. ¡Funciona de maravilla!Antes de la configuración y compilación de tmux (o cualquier programa), debe decirle dónde puede encontrar las bibliotecas que necesita. Si ha instalado alguna biblioteca en una ubicación no estándar, puede usar la variable de entorno
LD_LIBRARY_PRELOAD
para saber dónde se encuentran algunas bibliotecas.Yo tu caso:
Y luego continúe con la configuración / compilación.
Más adelante, el binario también necesitará saber dónde se pueden encontrar sus bibliotecas adicionales, por lo que deberá colocar la
export
declaración en su.bashrc
(si bash es su shell de inicio de sesión).fuente
find .bin-libevent -name 'libevent.so*'
muestra?$ find .bin-libevent -name 'libevent.so*'
encuentra.bin-libevent/lib/libevent.so
$HOME/.bin-libevent/lib
(actualizó la respuesta)Hay una esencia en https://gist.github.com/ryin/3106801 :
fuente
ncurses
subdirectorio de cualquier ruta de inclusión / biblioteca que especifique. Elección de diseño extraño. Esto me lo arregló.Tengo el mismo problema y parece que la respuesta más votada no funcionó para mí. Estoy usando la estación de trabajo Fedora 22. Esto es lo que hice para solucionar esto: 1. Instalar el
libevent-devel
paquete. 2. Instalarncurses-devel
paqueteEl primero resolverá ningún
event.h
problema y el segundo resolverá el problema de no encontrar maldiciones Por cierto, el método de enlace suave anterior también funciona para mí durante./configure
.fuente
La respuesta aceptada es buena, pero a partir de al menos tmux 2.8 existe soporte para especificar la ubicación liberante utilizando variables de entorno.
Primero instale libevent en la ubicación deseada. Solía cmake porque tenía un problema con autoconf
Luego compila e instala tmux:
Las
LIBEVENT_CFLAGS
anulaciones de la variable de entornopkg-config
incluyen configuraciones para libevent, yLIBEVENT_LIBS
anula la configuración del indicador del vinculador.fuente
En CentOS 6, compile e instale libevent en el
/opt/libevent
directorio con el comando:Luego, instale mi aplicación (en este caso fue PgBouncer)
Puedes cambiar los directorios donde quieras.
fuente