Общий объект libedit не найден исполняемым файлом jconsole - есть несколько способов исправить это.
Во-первых, общие объектные файлы не ищутся с использованием $PATH
, насколько мне известно: вынеобходимо изменить / создать $LD_LIBRARY_PATH
.
Например, внутри этого образа Docker запустите:
$ export LD_LIBRARY_PATH="/opt/conda/lib:$LD_LIBRARY_PATH"
(Вы также можете добавить эту переменную среды при запуске контейнера; используйте *Опция 1010 * для docker run
.)
Тогда у вас есть:
$ wget http://www.jsoftware.com/download/j804/install/j804_linux64.tar.gz
$ tar -xzf j804_linux64.tar.gz
$ ./j64-804/jconsole.sh
3 + 1 4 1 5
4 7 4 8
Кроме того, вы можете изменить Dockerfile для установки libedit-dev во время сборки:
# Install all OS dependencies for fully functional notebook server
RUN apt-get update && apt-get install -yq --no-install-recommends \
build-essential \
emacs \
git \
inkscape \
jed \
libsm6 \
libxext-dev \
libxrender1 \
libedit-dev \ # <----- here (or wherever you fancy)
...
Это помещает общие объекты libedit в /usr/lib/x86_64-linux-gnu
, где jconsole забирает их без необходимости изменения переменных среды.
Если у вас есть root-доступ внутри изображения, вы можетевместо этого также запустите sudo apt-get install libedit-dev
или просто свяжите общие объекты в /usr/lib/x86_64-linux-gnu
, используя ln -s
(хотя вам придется делать это каждый раз, когда вы запускаете изображение).