FreeBSD: SYS_gettid não declarado

0

Estou tentando instalar um pacote R ( mongolite ) no FreeBSD (FreeBSD 11.0-RELEASE-p9 amd64) e estou recebendo um erro ao compilar os arquivos de código C ++.

Os erros são os seguintes: error: 'SYS_gettid' undeclared .

Alguma ideia de como lidar com esse problema?

    
por sztal 18.09.2017 / 20:22

1 resposta

1

O SYS_xxxx define contém o número de chamadas do sistema no Linux. Eles são usados principalmente ao fazer chamadas brutas do sistema por meio do syscall(2) wrapper em vez de as funções usuais do wrapper glibc. No caso de gettid() , o glibc não contém um wrapper para a chamada do sistema , por isso tem que ser chamado manualmente.

gettid() retorna o ID do thread no Linux e parece que não tem um equivalente direto no FreeBSD .

Então, dado o erro, parece que o software que você está tentando compilar tem um requisito difícil para o Linux, e o curso de ação apropriado seria arquivar um relatório de bug para que ele seja portado para o FreeBSD. Eles provavelmente devem usar phtreads ou algo assim.

    
por 18.09.2017 / 22:13