crs4 / pydoop

A Python MapReduce and HDFS API for Hadoop
Apache License 2.0
237 stars 59 forks source link

Setup Error : src/libhdfsV2/ #220

Closed TimeFunny closed 7 years ago

TimeFunny commented 7 years ago

pip install pydoop

error info: `Collecting pydoop Using cached pydoop-1.2.0.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools>=3.3 in /usr/local/lib/python2.7/dist-packages (from pydoop) Building wheels for collected packages: pydoop Running setup.py bdist_wheel for pydoop ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-GptPzE/pydoop/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" bdist_wheel -d /tmp/tmpPtdrcJpip-wheel- --python-tag cp27: using setuptools version 28.7.1 running bdist_wheel running build hdfs core implementation: native running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/pydoop copying pydoop/config.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/hadut.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/init.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/version.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/jc.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/hadoop_utils.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/test_utils.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/test_support.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/avrolib.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/pipes.py -> build/lib.linux-x86_64-2.7/pydoop creating build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/common.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/fs.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/file.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/path.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs creating build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/main.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/init.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/script_template.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/submit.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/argparse_types.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/script.py -> build/lib.linux-x86_64-2.7/pydoop/app creating build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/jvm.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/init.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/conversion_tables.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/serialize.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/misc.py -> build/lib.linux-x86_64-2.7/pydoop/utils creating build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/simulator.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/jwritable_utils.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/connections.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/init.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/text_streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/string_utils.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/api.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/binary_streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/pipes.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce creating build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/impl.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/api.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core creating build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/common.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/hadoop.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged creating build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/factory.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/pyjnius_loader.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/init.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/jpype_loader.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/pydoop.properties -> build/lib.linux-x86_64-2.7/pydoop running build_ext building 'pydoop.sercore' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src creating build/temp.linux-x86_64-2.7/src/serialize x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/protocol_codec.cc -o build/temp.linux-x86_64-2.7/src/serialize/protocol_codec.o -Wno-write-strings -O3 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/SerialUtils.cc -o build/temp.linux-x86_64-2.7/src/serialize/SerialUtils.o -Wno-write-strings -O3 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/StringUtils.cc -o build/temp.linux-x86_64-2.7/src/serialize/StringUtils.o -Wno-write-strings -O3 c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/serialize/protocol_codec.o build/temp.linux-x86_64-2.7/src/serialize/SerialUtils.o build/temp.linux-x86_64-2.7/src/serialize/StringUtils.o -o build/lib.linux-x86_64-2.7/pydoop/sercore.so building 'pydoop.native_core_hdfs' extension creating build/temp.linux-x86_64-2.7/src/libhdfsV2 creating build/temp.linux-x86_64-2.7/src/libhdfsV2/common creating build/temp.linux-x86_64-2.7/src/libhdfsV2/os creating build/temp.linux-x86_64-2.7/src/libhdfsV2/os/posix creating build/temp.linux-x86_64-2.7/src/native_core_hdfs x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DHADOOP_LIBHDFS_V2=1 -I/usr/lib/jvm/java-8-openjdk-amd64/include -Inative/jni_include -I/usr/lib/jvm/java-8-openjdk-amd64/lib -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -Isrc/libhdfsV2 -Isrc/libhdfsV2/os/posix -I/usr/include/python2.7 -c src/libhdfsV2/native_mini_dfs.c -o build/temp.linux-x86_64-2.7/src/libhdfsV2/native_mini_dfs.o -Wno-write-strings In file included from src/libhdfsV2/native_mini_dfs.c:19:0: src/libhdfsV2/exception.h:39:17: fatal error: jni.h: No such file or directory compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1


Failed building wheel for pydoop Running setup.py clean for pydoop Failed to build pydoop Installing collected packages: pydoop Running setup.py install for pydoop ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-GptPzE/pydoop/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-jZfTNn-record/install-record.txt --single-version-externally-managed --compile: using setuptools version 28.7.1 running install running build hdfs core implementation: native running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/pydoop copying pydoop/config.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/hadut.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/init.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/version.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/jc.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/hadoop_utils.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/test_utils.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/test_support.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/avrolib.py -> build/lib.linux-x86_64-2.7/pydoop copying pydoop/pipes.py -> build/lib.linux-x86_64-2.7/pydoop creating build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/common.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/fs.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/file.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs copying pydoop/hdfs/path.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs creating build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/main.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/init.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/script_template.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/submit.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/argparse_types.py -> build/lib.linux-x86_64-2.7/pydoop/app copying pydoop/app/script.py -> build/lib.linux-x86_64-2.7/pydoop/app creating build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/jvm.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/init.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/conversion_tables.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/serialize.py -> build/lib.linux-x86_64-2.7/pydoop/utils copying pydoop/utils/misc.py -> build/lib.linux-x86_64-2.7/pydoop/utils creating build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/simulator.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/jwritable_utils.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/connections.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/init.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/text_streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/string_utils.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/api.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/binary_streams.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce copying pydoop/mapreduce/pipes.py -> build/lib.linux-x86_64-2.7/pydoop/mapreduce creating build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/impl.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core copying pydoop/hdfs/core/api.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core creating build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/common.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/init.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged copying pydoop/hdfs/core/bridged/hadoop.py -> build/lib.linux-x86_64-2.7/pydoop/hdfs/core/bridged creating build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/factory.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/pyjnius_loader.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/init.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/utils/bridge/jpype_loader.py -> build/lib.linux-x86_64-2.7/pydoop/utils/bridge copying pydoop/pydoop.properties -> build/lib.linux-x86_64-2.7/pydoop running build_ext building 'pydoop.sercore' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src creating build/temp.linux-x86_64-2.7/src/serialize x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/protocol_codec.cc -o build/temp.linux-x86_64-2.7/src/serialize/protocol_codec.o -Wno-write-strings -O3 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/SerialUtils.cc -o build/temp.linux-x86_64-2.7/src/serialize/SerialUtils.o -Wno-write-strings -O3 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/serialize/StringUtils.cc -o build/temp.linux-x86_64-2.7/src/serialize/StringUtils.o -Wno-write-strings -O3 c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/serialize/protocol_codec.o build/temp.linux-x86_64-2.7/src/serialize/SerialUtils.o build/temp.linux-x86_64-2.7/src/serialize/StringUtils.o -o build/lib.linux-x86_64-2.7/pydoop/sercore.so building 'pydoop.native_core_hdfs' extension creating build/temp.linux-x86_64-2.7/src/libhdfsV2 creating build/temp.linux-x86_64-2.7/src/libhdfsV2/common creating build/temp.linux-x86_64-2.7/src/libhdfsV2/os creating build/temp.linux-x86_64-2.7/src/libhdfsV2/os/posix creating build/temp.linux-x86_64-2.7/src/native_core_hdfs x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DHADOOP_LIBHDFS_V2=1 -I/usr/lib/jvm/java-8-openjdk-amd64/include -Inative/jni_include -I/usr/lib/jvm/java-8-openjdk-amd64/lib -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -Isrc/libhdfsV2 -Isrc/libhdfsV2/os/posix -I/usr/include/python2.7 -c src/libhdfsV2/native_mini_dfs.c -o build/temp.linux-x86_64-2.7/src/libhdfsV2/native_mini_dfs.o -Wno-write-strings In file included from src/libhdfsV2/native_mini_dfs.c:19:0: src/libhdfsV2/exception.h:39:17: fatal error: jni.h: No such file or directory compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------

Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-GptPzE/pydoop/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-jZfTNn-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-GptPzE/pydoop/`

Where is 'src/libhdfsV2/native_mini_dfs'?

ilveroluca commented 7 years ago
src/libhdfsV2/exception.h:39:17: fatal error: jni.h: No such file or directory

It isn't finding the JDK headers. Make sure the headers are installed on the system and that JAVA_HOME is set.

Hiyorimi commented 6 years ago
$ find /usr -name "jni.h"
....
$ pip install --global-option=build_ext  --global-option="-I/usr/jdk64/jdk1.8.0_112/include" pydoop