Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

leveldbjni-linux64 Build failing with "configure: error: cannot find headers for leveldb" #112

Open
Arshiya95 opened this issue Dec 30, 2020 · 1 comment

Comments

@Arshiya95
Copy link

Hi,
I am trying to build leveldbjni-1.8.1
Snappy version:1.1.8
LevelDB Version 1.22
CMake:3.9.0

I see the below exception while building leveldbjni-linux64 .

[INFO] executing: /bin/sh -c ./configure --disable-ccache --prefix=/tmp/leveldbjni/leveldbjni-linux64/target/native-build/target --with-leveldb=/tmp/leveldb-1.22 --with-snappy=/tmp/snappy-1.1.8
[INFO] configure: WARNING: unrecognized options: --disable-ccache
[INFO] checking build system type... x86_64-unknown-linux-gnu
[INFO] checking host system type... x86_64-unknown-linux-gnu
[INFO] checking target system type... x86_64-unknown-linux-gnu
[INFO] checking for g++... g++
[INFO] checking whether the C++ compiler works... yes
[INFO] checking for C++ compiler default output file name... a.out
[INFO] checking for suffix of executables...
[INFO] checking whether we are cross compiling... no
[INFO] checking for suffix of object files... o
[INFO] checking whether we are using the GNU C++ compiler... yes
[INFO] checking whether g++ accepts -g... yes
[INFO] checking for a BSD-compatible install... /bin/install -c
[INFO] checking how to print strings... printf
[INFO] checking for gcc... gcc
[INFO] checking whether we are using the GNU C compiler... yes
[INFO] checking whether gcc accepts -g... yes
[INFO] checking for gcc option to accept ISO C89... none needed
[INFO] checking for a sed that does not truncate output... /bin/sed
[INFO] checking for grep that handles long lines and -e... /bin/grep
[INFO] checking for egrep... /bin/grep -E
[INFO] checking for fgrep... /bin/grep -F
[INFO] checking for ld used by gcc... /bin/ld
[INFO] checking if the linker (/bin/ld) is GNU ld... yes
[INFO] checking for BSD- or MS-compatible name lister (nm)... /bin/nm -B
[INFO] checking the name lister (/bin/nm -B) interface... BSD nm
[INFO] checking whether ln -s works... yes
[INFO] checking the maximum length of command line arguments... 1572864
[INFO] checking whether the shell understands some XSI constructs... yes
[INFO] checking whether the shell understands "+="... yes
[INFO] checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
[INFO] checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
[INFO] checking for /bin/ld option to reload object files... -r
[INFO] checking for objdump... objdump
[INFO] checking how to recognize dependent libraries... pass_all
[INFO] checking for dlltool... no
[INFO] checking how to associate runtime and link libraries... printf %s\n
[INFO] checking for ar... ar
[INFO] checking for archiver @file support... @
[INFO] checking for strip... strip
[INFO] checking for ranlib... ranlib
[INFO] checking for gawk... gawk
[INFO] checking command to parse /bin/nm -B output from gcc object... ok
[INFO] checking for sysroot... no
[INFO] checking for mt... mt
[INFO] checking if mt is a manifest tool... no
[INFO] checking how to run the C preprocessor... gcc -E
[INFO] checking for ANSI C header files... yes
[INFO] checking for sys/types.h... yes
[INFO] checking for sys/stat.h... yes
[INFO] checking for stdlib.h... yes
[INFO] checking for string.h... yes
[INFO] checking for memory.h... yes
[INFO] checking for strings.h... yes
[INFO] checking for inttypes.h... yes
[INFO] checking for stdint.h... yes
[INFO] checking for unistd.h... yes
[INFO] checking for dlfcn.h... yes
[INFO] checking for objdir... .libs
[INFO] checking if gcc supports -fno-rtti -fno-exceptions... no
[INFO] checking for gcc option to produce PIC... -fPIC -DPIC
[INFO] checking if gcc PIC flag -fPIC -DPIC works... yes
[INFO] checking if gcc static flag -static works... no
[INFO] checking if gcc supports -c -o file.o... yes
[INFO] checking if gcc supports -c -o file.o... (cached) yes
[INFO] checking whether the gcc linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
[INFO] checking whether -lc should be explicitly linked in... no
[INFO] checking dynamic linker characteristics... GNU/Linux ld.so
[INFO] checking how to hardcode library paths into programs... immediate
[INFO] checking whether stripping libraries is possible... yes
[INFO] checking if libtool supports shared libraries... yes
[INFO] checking whether to build shared libraries... yes
[INFO] checking whether to build static libraries... no
[INFO] checking how to run the C++ preprocessor... g++ -E
[INFO] checking for ld used by g++... /bin/ld -m elf_x86_64
[INFO] checking if the linker (/bin/ld -m elf_x86_64) is GNU ld... yes
[INFO] checking whether the g++ linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
[INFO] checking for g++ option to produce PIC... -fPIC -DPIC
[INFO] checking if g++ PIC flag -fPIC -DPIC works... yes
[INFO] checking if g++ static flag -static works... no
[INFO] checking if g++ supports -c -o file.o... yes
[INFO] checking if g++ supports -c -o file.o... (cached) yes
[INFO] checking whether the g++ linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
[INFO] checking dynamic linker characteristics... (cached) GNU/Linux ld.so
[INFO] checking how to hardcode library paths into programs... immediate
[INFO] checking the archiver (ar) interface... ar
[INFO] configure: javac was on your path, checking to see if it's part of a JDK we can use...
[INFO] checking if '/usr/java/jdk1.8.0_201-amd64' is a JDK... yes
[INFO] checking pthread.h usability... yes
[INFO] checking pthread.h presence... yes
[INFO] checking for pthread.h... yes
[INFO] checking leveldb/db.h usability... no
[INFO] checking leveldb/db.h presence... yes
[INFO] configure: WARNING: leveldb/db.h: present but cannot be compiled
[INFO] configure: WARNING: leveldb/db.h: check for missing prerequisite headers?
[INFO] configure: WARNING: leveldb/db.h: see the Autoconf documentation
[INFO] configure: WARNING: leveldb/db.h: section "Present But Cannot Be Compiled"
[INFO] configure: WARNING: leveldb/db.h: proceeding with the compiler's result
[INFO] checking for leveldb/db.h... no
[INFO] configure: error: cannot find headers for leveldb
[INFO] rc: 1
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] leveldbjni 1.8.1 ................................... SUCCESS [ 3.538 s]
[INFO] leveldbjni-linux64 1.8 ............................. FAILURE [ 2.786 s]
[INFO] leveldbjni-project 99-master-SNAPSHOT .............. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.630 s
[INFO] Finished at: 2020-12-30T12:20:09+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.fusesource.hawtjni:maven-hawtjni-plugin:1.9:build (default) on project leveldbjni-linux64: build failed: org.apache.maven.plugin.MojoExecutionException: ./configure failed with exit code: 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.fusesource.hawtjni:maven-hawtjni-plugin:1.9:build (default) on project leveldbjni-linux64: build failed: org.apache.maven.plugin.MojoExecutionException: ./configure failed with exit code: 1

Please help us in resolving this .
Thanks in advance !

@ajsutton
Copy link

The config.log file is often helpful to see why it failed to compile the leveldb/db.h test. I've setup an automated build which includes linux64 support at https://github.com/ConsenSys/leveldbjni-native which may be helpful - the build-linux-x86.sh and build-linux.sh scripts precisely the steps for building just the native component. I've found the automake tools the mvn build much more difficult to get working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants