- erro compilação
+ Responder ao Tópico
-
erro compilação
Pessoal estou tendo o seguinte erro de compilação. Não sou programador e apenas executei os comandos básico: ./configure e make ( onde esta acontecendo os erros ). Não faço idéia do que seria esse erro, ja procurei em fóruns mas nada.
Obrigado a todos.
make[1]: Entering directory `/home/cesar/tmp/sshguard-1.3'
make[1]: Leaving directory `/home/cesar/tmp/sshguard-1.3'
make all-recursive
make[1]: Entering directory `/home/cesar/tmp/sshguard-1.3/src'
make[2]: Entering directory `/home/cesar/tmp/sshguard-1.3'
make[2]: Leaving directory `/home/cesar/tmp/sshguard-1.3'
Making all in fwalls
make[2]: Entering directory `/home/cesar/tmp/sshguard-1.3/src/fwalls'
make[3]: Entering directory `/home/cesar/tmp/sshguard-1.3'
make[3]: Leaving directory `/home/cesar/tmp/sshguard-1.3'
make[2]: Nada a ser feito para `all'.
make[2]: Leaving directory `/home/cesar/tmp/sshguard-1.3/src/fwalls'
make[2]: Entering directory `/home/cesar/tmp/sshguard-1.3/src'
make[3]: Entering directory `/home/cesar/tmp/sshguard-1.3'
make[3]: Leaving directory `/home/cesar/tmp/sshguard-1.3'
gcc -I. -O2 -g -O2 -o sshguard attack_parser.o attack_scanner.o sshguard.o sshguard_whitelist.o sshguard_log.o sshguard_procauth.o simclist.o fwalls/libfwall.a
sshguard.o(.text+0x2b0): In function `main':
/home/cesar/tmp/sshguard-1.3/src/sshguard.c:178: undefined reference to `pthread_create'
sshguard.o(.text+0x5f8): In function `pardonBlocked':
/home/cesar/tmp/sshguard-1.3/src/sshguard.c:292: undefined reference to `pthread_testcancel'
sshguard.o(.text+0x69f):/home/cesar/tmp/sshguard-1.3/src/sshguard.c:304: undefined reference to `pthread_testcancel'
collect2: ld returned 1 exit status
make[2]: ** [sshguard] Erro 1
make[2]: Leaving directory `/home/cesar/tmp/sshguard-1.3/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Leaving directory `/home/cesar/tmp/sshguard-1.3/src'
make: ** [all] Erro 2
-
Seguinte cara... Pra compilar programas com threads é necessário o link -lpthread no comando gcc.
(...)
make[3]: Leaving directory `/home/cesar/tmp/sshguard-1.3'
gcc -I. -O2 -g -O2 -o sshguard attack_parser.o attack_scanner.o sshguard.o sshguard_whitelist.o sshguard_log.o sshguard_procauth.o simclist.o fwalls/libfwall.a
sshguard.o(.text+0x2b0): In function `main':
(...)
Você pode ver que durante a compilação ele não mostra o -lpthread. Isso pode ser por 3 motivos:
1. Bug no pacote de instalação;
2. A biblioteca pthread não foi encontrada;
3. Não foi utilizado o argumento correto no ./configure e/ou make.
Caso haja algum bug no pacote de instalação procura no site dessa aplicação algum patch ou coisa parecida. Ou tenta editar o MAKEFILE e adicionar o link -lpthread.
Tenta descobrir qual o nome do pacote que contem a biblioteca pthread pra sua distro e instala. Muito provavelmente você vai precisar dos aqruivos -dev (desenvolvimento).
Dá uma olhada se o ./configure dele aceita algum argumento. Ou se dá pra passar algum parâmetro pro make...
Bem, é isso ai...
Qualquer coisa posta ai...