Как мне получить исходный носитель для установки Apache Accumulo, когда я получаю сообщение об ошибке «error:‘ size_t »не называет тип»? - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь установить / собрать Apache Accumulo. Я использую http://mirror.olnevhost.net/pub/apache/accumulo/1.9.2/accumulo-1.9.2-src.tar.gz в качестве установочного носителя.

Я запускал «mvn package» несколько раз, но это не помогло, потому что он не мог найти эти файлы: jni_md.h и jni.h

Чтобы преодолеть эту проблему, я запустил следующие команды:

sudo cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/include/linux/jni_md.h /usr/bin/accumulo-1.9.2/server/native/target/accumulo-native-1.9.2/accumulo-native-1.9.2/javah/

sudo cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/include/jni.h /usr/bin/accumulo-1.9.2/server/native/target/accumulo-native-1.9.2/accumulo-native-1.9.2/javah/

sudo cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/include/jni.h /usr/bin/accumulo-1.9.2/server/native/target/native/javah/

Теперь, когда я запускаю "mvn package", я получаю это:

[ИНФОРМАЦИЯ] Собственные библиотеки Apache Accumulo ................... Сбой [ 3,430 с]

... g ++ -g -fPIC -shared -O3 -Wall -I '/ usr /' / include -I '/ usr /' / include / linux -Ijavah -o libaccumulo.so nativeMap / org_apache_accumulo_tserver_NativeMap.cc В файле включено из /usr/include/stdio.h:74:0, из Джавах / Джни.ч: 39, из javah / org_apache_accumulo_tserver_NativeMap.h: 2, из nativeMap / org_apache_accumulo_tserver_NativeMap.cc: 17: /usr/include/libio.h:307:3: ошибка: «size_t» не называет тип
size_t __pad5; ^ /usr/include/libio.h:311:67: ошибка: "size_t" был не объявлено в этой области char _unused2 [15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; ^ /usr/include/libio.h:339:62: ошибка: "size_t" не был объявлен typedef __ssize_t __io_read_fn (void * __ cookie, char * __ buf, size_t __nbytes); ^ /usr/include/libio.h:348:6: ошибка: "size_t" не был объявлен size_t __n); ^

...

make: *** [libaccumulo.so] Ошибка 1 [ERROR] Ошибка выполнения команды. org.apache.commons.exec.ExecuteException: процесс завершен с ошибка: 2 (выходное значение: 2) в org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404) в org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166) в org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:764) в org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:711)

В некоторых файлах, которые я изучал, вверху написано "машина сгенерирована" и сказано, чтобы я не изменял их. Я обеспокоен тем, что мой путь к ошибкам отсутствующих файлов jni.h и jni_md.h не был идеальным. Я попытался установить JAVA_HOME, чтобы включить их естественные местоположения. Но «пакет mvn» не будет работать, когда я это сделаю.

Как мне получить исходный носитель для установки Apache Accumulo без этих ошибок size_t?

...