Diferenças entre o edifício do clone git e o zip baixado

1

Estou tentando criar a biblioteca xcb-util-xrm manualmente. Eu encontrei dois links com instruções de compilação, um do rastreador de problemas de i3gaps e um deste relatório de bug aqui .

As instruções no primeiro link são de 2016, em resumo

git clone https://github.com/Airblader/xcb-util-xrm
cd xcb-util-xrm
git submodule update --init
./autogen.sh --prefix=/usr
make
sudo make install

As instruções no segundo link são de 2013:

1) Add LT_INIT to configure.ac

2) Make autogen.sh do "rm -rf m4; git submodule update --init"

A minha pergunta é, como posso construir esta biblioteca no Ubuntu 16.04.1 se eu só baixei e extraí o arquivo zip de git hub ?

O que fiz até agora foi adicionado LT_INIT a configure.ac . Em seguida, executei o seguinte comando duas vezes, uma vez com a opção de prefixo e outra sem. Ambas as vezes acabo com o mesmo resultado:

$ ./autogen.sh --prefix=/usr
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
Makefile.am:35: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined
Makefile.am:26: error: 'xcbinclude_HEADERS' is used but 'xcbincludedir' is undefined
autoreconf: automake failed with exit status: 1

Minha próxima investigação foi abrir autogen.sh (você pode ver o conteúdo do arquivo no git hub). Este arquivo contém dois comandos principais e o primeiro autoreconf -v --install || exit 1 retorna toda a pilha de erros acima.

Meu problema é que não sei como resolver o erro:

Makefile.am:35: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined

Acabei de abrir Makefile.am e encontrei a linha 35 pkgconfig_DATA = xcb-xrm.pc . E eu verifiquei qual é o caminho padrão para o meu pkg-config , mas até agora não tenho idéia de como e onde eu posso definir pkgconfigdir .

$pkg-config --variable pc_path pkg-config
    /usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
    
por Hölderlin 20.01.2017 / 22:13

1 resposta

2

As instruções de 2016 funcionaram para mim, seja de um git clone ou um arquivo, sem se preocupar com LT_INIT . Se você fizer o download do arquivo completo, xcb-util-xrm-1.2.tar.gz , você não precisa executar autogen.sh , você pode executar ./configure . Se você fizer o download apenas de um arquivo de origem, não terá o conteúdo de m4 .

Você precisa ter pkg-config instalado (isso pode explicar o erro Makefile.am que você está recebendo) e libxcb-util0-dev (caso contrário, você receberá um erro mais tarde).

    
por 20.01.2017 / 22:26