как скомпилировать приложение Ignite на CMake? - PullRequest
0 голосов
/ 16 февраля 2019

Я успешно скомпилировал Ignite Application.но двоичный файл не работал.

/tmp/tmp.Nw0IPD6ru3/cmake-build-debug-local-container/planet_engine: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory

как мне заставить его работать?

Кроме того, я успешно скомпилировал примеры C ++.например, например, ignite-compute-example.и я выполняю это, но я получил сообщение об ошибке.An error occurred: JVM library is not found (did you set JAVA_HOME environment variable?)

и я использую версию ночного выпуска 2.8.0.20190213, потому что я не смог собрать версию 2.7 в своей среде.

Я отправил значения среды вниз.

IGNITE_HOME=
TERM=xterm-256color
SHELL=/bin/bash 
LIBRARY_PATH=/root/jre1.8.0_201/lib/amd64/server:/root/jre1.8.0_201/lib/amd64/
LC_NUMERIC=ko_KR.UTF-8
SSH_TTY=/dev/pts/0
JRE_HOME=/root/jre1.8.0_201
USER=root
LS_COLORS=rs=0:d...
LD_LIBRARY_PATH=/root/jre1.8.0_201/lib/amd64/server:/root/jre1.8.0_201/lib/amd64/
CLASS_PATH=/root/jdk-11.0.2/lib:
LC_TELEPHONE=ko_KR.UTF-8
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/jdk-11.0.2/bin
LC_IDENTIFICATION=ko_KR.UTF-8 
JAVA_HOME=/root/jdk-11.0.2
LANG=en_US.UTF-8
LC_MEASUREMENT=ko_KR.UTF-8
JDK_HOME=/root/jdk-11.0.2/lib
SHLVL=1
HOME=/root
LOGNAME=root 
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
LC_TIME=ko_KR.UTF-8
LC_NAME=ko_KR.UTF-8
_=/usr/bin/env 

Спасибо, что прочитали.:)

1 Ответ

0 голосов
/ 16 февраля 2019

Я понял.

Я работаю в среде контейнера Docker.

и поэтому я использую удаленную сборку и отладку с помощью ssh и gdb.

наконец,Я выяснил, почему он не может найти libjvm.so и почему не может прочитать значения окружения, такие как JAVA_HOME.

, потому что он сейчас работает в gdb.

Я подтвердил, чтоэто работает, когда без GDB.

Я найду решение.и, если меня найдут, я обновлю ответ.


[решено]

Я поделюсь, как я решил эту проблему.

Я использовалOracle JDK-11 через исходную установку.

, но клиенту Ignite C ++ нужно что-то другое с последними выпущенными версиями jdk.

Ignite нужна структура каталогов, подобная этой

JAVA_HOME/ (as JDK install directory)
  - jre/
    - lib/
  - lib/
  ...

Я решил apt install openjdk-8-jdk.У openjdk-8-jdk есть структура для того, что нужно Ignite.

Я добавил JAVA_HOME, IGNITE_HOME, на /etc/environment.

Это работает наконец.

, но у меня возникла другая проблема,Хаха, мне так грустно.

Это тоже проблема GDB ..

...