Estou tentando compilar ttyd
isso requer libwebsockets
no Fedora. Meu sistema tem uma versão desatualizada ttyd
e preciso de uma mais recente para executar a ferramenta vhs .
Ambos os projetos usam o CMake, consegui compilar e instalar os dois.
Quando executo ttyd
a partir do diretório de compilação, funciona bem. Mas quando executo de outro lugar, tenho este erro:
ttyd: error while loading shared libraries: libwebsockets.so.19: cannot open shared object file: No such file or directory
Quando adicionei o diretório de compilação à minha PATH
variável, posso usar ttyd
e vhs
, mas gostaria de ter a instalação adequada, ttyd
que funcionasse. O que eu fiz de errado?
Observe que eu instalei ttyd
e libwebsockets
, em seguida, removê-los.
Eu provavelmente posso me importar com o link simbólico para uma biblioteca compartilhada, mas isso não é uma correção real para o problema. Por que a biblioteca compartilhada está ausente se eu instalei ambas da fonte?
EDITAR :
Eu instalei os dois pacotes da mesma maneira:
mkdir build
cd build
cmake ..
make
sudo make install
A biblioteca compartilhada foi instalada em/usr/local/lib/
O problema aqui é que
/usr/local/lib
não está incluído no caminho de pesquisa da biblioteca compartilhada padrão. Existem três maneiras de resolver isso:Defina
LD_LIBRARY_PATH
antes de executarttyd
:Atualize o caminho de pesquisa de biblioteca padrão:
Compile o caminho da biblioteca no binário ao construí-lo:
Qualquer uma das três opções acima permitirá
ttyd
localizar alibwebsockets
biblioteca compartilhada.