Как установить xapian с Python 3.6 на Ubuntu 16.04? - PullRequest
0 голосов
/ 29 мая 2018

Я установил Python 3.6 в Ubuntu 16.04 в Docker, используя репозиторий ppa:jonathonf/python-3.6.Теперь я хотел бы установить xapian, чтобы использовать его с Python.Я не нашел готовых пакетов, поэтому пытаюсь собрать его из исходников.Я установил параметры PYTHON3 и PYTHON3_LIB, чтобы они указывали на Python 3.6.Во время процесса сборки я получаю следующую ошибку:

ImportError: libxapian.so.30: не могу открыть общий объектный файл: нет такого файла или каталога

Я пробовал xapianверсии 1.3.7 и 1.4.5 без удачи.

Как я могу установить xapian?

Вот файл Docker для воспроизведения моей ошибки:

FROM ubuntu:16.04
RUN apt-get update \
  && apt-get install -y software-properties-common python-software-properties
RUN add-apt-repository ppa:jonathonf/python-3.6
RUN apt-get update \
  && apt-get install -y python3-pip docker.io python3.6 python3.6-dev software-properties-common \
      python-software-properties build-essential wget unzip cmake python3-sphinx \
  && cd /usr/local/bin \
  && ln -s /usr/bin/python3.6 python
RUN python -m pip install --upgrade pip

# install xapian 1.4.5
RUN apt-get update && apt-get install -y curl uuid-dev zlib1g-dev
WORKDIR /root
RUN curl --silent --show-error --fail --next -O https://oligarchy.co.uk/xapian/1.4.5/xapian-core-1.4.5.tar.xz
RUN curl --silent --show-error --fail --next -O https://oligarchy.co.uk/xapian/1.4.5/xapian-bindings-1.4.5.tar.xz
RUN tar xvf xapian-core-1.4.5.tar.xz
RUN tar xvf xapian-bindings-1.4.5.tar.xz
WORKDIR /root/xapian-core-1.4.5
RUN ./configure && make && make install
WORKDIR /root/xapian-bindings-1.4.5
RUN ./configure PYTHON3=/usr/bin/python3.6 PYTHON3_LIB=/usr/lib/python3.6 --with-python3 && make && make install
RUN python -c "import xapian"

1 Ответ

0 голосов
/ 30 мая 2018

Проблема в том, что библиотека Xapian (libxapian.so.30) по умолчанию устанавливается в /usr/local/lib, но Ubuntu пока не знает, что она там была установлена.Вы можете сказать это, добавив:

RUN ldconfig

после установки ядра (поэтому перед изменением WORKDIR для создания привязок).

Есть некоторая полезная информацияо ldconfig и путях поиска в библиотеке Ubuntu в ответах на этот вопрос Unix Stackexchange .

...