fusesource / leveldbjni

A Java Native Interface to LevelDB
BSD 3-Clause "New" or "Revised" License
536 stars 143 forks source link

leveldbjni 1.7 build failure #34

Closed puntogil closed 8 years ago

puntogil commented 11 years ago

Enviroment: java version "1.7.0_25" OpenJDK Runtime Environment (fedora-2.3.10.3.fc19-i386) OpenJDK Server VM (build 23.7-b01, mixed mode)

Apache Maven 3.0.5 (rNON-CANONICAL_2013-03-12_12-47_mockbuild; 2013-03-12 13:47:10+0100) Maven home: /usr/share/maven Java version: 1.7.0_25, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.i386/jre Default locale: it_IT, platform encoding: UTF-8 OS name: "linux", version: "3.9.5-301.fc19.i686", arch: "i386", family: "unix"

Dependences: JAVA hawtjni 1.6 org.iq80.leveldb:leveldb-api 0.6 C leveldb 1.9.0 snappy 1.1.0

hi build fails with the following errors any ideas? with 1.2 version i havent this problem thanks in advance

[INFO] ------------------------------------------------------------------------ [INFO] Building leveldbjni-linux32 1.7 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ leveldbjni-linux32 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/src/main/resources [INFO] [INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ leveldbjni-linux32 --- [INFO] No sources to compile [INFO] [INFO] --- maven-hawtjni-plugin:1.6:build (default) @ leveldbjni-linux32 --- [INFO] Extracting ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni/target/leveldbjni-1.7-native-src.zip to ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build-extracted [INFO] executing: /bin/sh -c ./configure --disable-ccache --prefix=~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target --with-leveldb=/usr --with-snappy=/usr [INFO] executing: /bin/sh -c make install [INFO] CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run aclocal-1.12 -I m4 [INFO] ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing: line 51: aclocal-1.12: command not found [INFO] WARNING: 'aclocal-1.12' is missing on your system. You should only need it if [INFO] you modified 'acinclude.m4' or 'configure.ac'. You might want [INFO] to install the Automake and Perl packages. Grab them from [INFO] any GNU archive site. [INFO] cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run automake-1.12 --foreign --ignore-deps [INFO] ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing: line 51: automake-1.12: command not found [INFO] WARNING: 'automake-1.12' is missing on your system. You should only need it if [INFO] you modified 'Makefile.am', 'acinclude.m4' or 'configure.ac'. [INFO] You might want to install the Automake and Perl packages. [INFO] Grab them from any GNU archive site. [INFO] CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run autoconf [INFO] configure.ac:36: warning: LT_INIT was called before AM_PROG_AR [INFO] aclocal.m4:73: AM_PROG_AR is expanded from... [INFO] configure.ac:36: the top level [INFO] configure.ac:36: warning: AC_PROG_LIBTOOL was called before AM_PROG_AR [INFO] aclocal.m4:73: AM_PROG_AR is expanded from... [INFO] configure.ac:36: the top level [INFO] /bin/sh ./config.status --recheck [INFO] running CONFIG_SHELL=/bin/sh /bin/sh ./configure --disable-ccache --prefix=~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target --with-leveldb=/usr --with-snappy=/usr --no-create --no-recursion [INFO] configure: WARNING: unrecognized options: --disable-ccache [INFO] checking build system type... i686-pc-linux-gnu [INFO] checking host system type... i686-pc-linux-gnu [INFO] checking target system type... i686-pc-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... /usr/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... /usr/bin/sed [INFO] checking for grep that handles long lines and -e... /usr/bin/grep [INFO] checking for egrep... /usr/bin/grep -E [INFO] checking for fgrep... /usr/bin/grep -F [INFO] checking for ld used by gcc... /usr/bin/ld [INFO] checking if the linker (/usr/bin/ld) is GNU ld... yes [INFO] checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B [INFO] checking the name lister (/usr/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 i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop [INFO] checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop [INFO] checking for /usr/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 /usr/bin/nm -B output from gcc object... ok [INFO] checking for sysroot... no [INFO] checking for mt... no [INFO] checking if : 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 (/usr/bin/ld) 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++... /usr/bin/ld [INFO] checking if the linker (/usr/bin/ld) is GNU ld... yes [INFO] checking whether the g++ linker (/usr/bin/ld) 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 (/usr/bin/ld) 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: JAVA_HOME was set, checking to see if it's a JDK we can use... [INFO] checking if '/usr/lib/jvm/java-1.7.0' is a JDK... yes [INFO] which: no javac in (/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:~/.local/bin:~/bin) [INFO] checking pthread.h usability... yes [INFO] checking pthread.h presence... yes [INFO] checking for pthread.h... yes [INFO] checking leveldb/db.h usability... yes [INFO] checking leveldb/db.h presence... yes [INFO] checking for leveldb/db.h... yes [INFO] checking sys/errno.h usability... yes [INFO] checking sys/errno.h presence... yes [INFO] checking for sys/errno.h... yes [INFO] checking whether build environment is sane... yes [INFO] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [INFO] checking whether make sets $(MAKE)... yes [INFO] checking that generated files are newer than configure... done [INFO] configure: creating ./config.status [INFO] configure: WARNING: unrecognized options: --disable-ccache [INFO] INFO version 1.7 [INFO] Prefix.........: ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target [INFO] C Compiler.....: gcc -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux [INFO] Linker.........: /usr/bin/ld -lleveldb -L/usr -lsnappy -L/usr -release 1.7 [INFO] [INFO] /bin/sh ./config.status [INFO] config.status: creating Makefile [INFO] config.status: creating src/config.h [INFO] config.status: executing libtool commands [INFO] /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c -o leveldbjni.lo test -f 'src/leveldbjni.cpp' || echo './'src/leveldbjni.cpp [INFO] libtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c src/leveldbjni.cpp -fPIC -DPIC -o .libs/leveldbjni.o [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNIResumeCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:426:35: error: 'class leveldb::DB' has no member named 'ResumeCompactions' [INFO](%28leveldb::DB %29%28intptr_t%29arg0)->ResumeCompactions(); [INFO] ^ [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNISuspendCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:435:35: error: 'class leveldb::DB' has no member named 'SuspendCompactions' [INFO](%28leveldb::DB %29%28intptr_t%29arg0)->SuspendCompactions(); [INFO] ^ [INFO] make: *\ [leveldbjni.lo] Error 1 [INFO] rc: 2 [INFO]
[INFO] ------------------------------------------------------------------------ [INFO] Skipping leveldbjni-project [INFO] This project has been banned from the build due to previous failures. [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] leveldbjni-project ................................ SUCCESS [0.001s] [INFO] leveldbjni ........................................ SUCCESS [4.529s] [INFO] leveldbjni-linux32 ................................ FAILURE [14.818s] [INFO] leveldbjni-all .................................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------

puntogil commented 11 years ago

patched aclocal.m4 and configure file for use automake 1.13.2 but [INFO] Prefix.........: ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target [INFO] C Compiler.....: gcc -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux [INFO] Linker.........: /usr/bin/ld -lleveldb -L/usr -lsnappy -L/usr -release 1.7 [INFO] [INFO] /bin/sh ./config.status [INFO] config.status: creating Makefile [INFO] config.status: creating src/config.h [INFO] config.status: executing libtool commands [INFO] /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c -o leveldbjni.lo test -f 'src/leveldbjni.cpp' || echo './'src/leveldbjni.cpp [INFO] libtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c src/leveldbjni.cpp -fPIC -DPIC -o .libs/leveldbjni.o [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNIResumeCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:426:35: error: 'class leveldb::DB' has no member named 'ResumeCompactions' [INFO](%28leveldb::DB %29%28intptr_t%29arg0)->ResumeCompactions(); [INFO] ^ [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNISuspendCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:435:35: error: 'class leveldb::DB' has no member named 'SuspendCompactions' [INFO](%28leveldb::DB %29%28intptr_t%29arg0)->SuspendCompactions(); [INFO] ^ [INFO] make: *\ [leveldbjni.lo] Error 1 [INFO] rc: 2

chirino commented 11 years ago

Perhaps your not using the leveldb fork listed in the readme.

Sent from my iPhone

On Jun 28, 2013, at 4:12 PM, puntogil notifications@github.com wrote:

Enviroment: java version "1.7.0_25" OpenJDK Runtime Environment (fedora-2.3.10.3.fc19-i386) OpenJDK Server VM (build 23.7-b01, mixed mode)

Apache Maven 3.0.5 (rNON-CANONICAL_2013-03-12_12-47_mockbuild; 2013-03-12 13:47:10+0100) Maven home: /usr/share/maven Java version: 1.7.0_25, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.i386/jre Default locale: it_IT, platform encoding: UTF-8 OS name: "linux", version: "3.9.5-301.fc19.i686", arch: "i386", family: "unix" #

Dependences: JAVA hawtjni 1.6 org.iq80.leveldb:leveldb-api o.5 C leveldb 1.9.0 snappy 1.1.0

hi build fails with the following errors any ideas? thanks in advance

[INFO] ------------------------------------------------------------------------ [INFO] Building leveldbjni-linux32 1.7 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ leveldbjni-linux32 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/src/main/resources [INFO] [INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ leveldbjni-linux32 --- [INFO] No sources to compile [INFO] [INFO] --- maven-hawtjni-plugin:1.6:build (default) @ leveldbjni-linux32 --- [INFO] Extracting ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni/target/leveldbjni-1.7-native-src.zip to ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build-extracted [INFO] executing: /bin/sh -c ./configure --disable-ccache --prefix=~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target --with-leveldb=/usr --with-snappy=/usr [INFO] executing: /bin/sh -c make install [INFO] CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run aclocal-1.12 -I m4 [INFO] ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing: line 51: aclocal-1.12: command not found [INFO] WARNING: 'aclocal-1.12' is missing on your system. You should only need it if [INFO] you modified 'acinclude.m4' or 'configure.ac'. You might want [INFO] to install the Automake and Perl packages. Grab them from [INFO] any GNU archive site. [INFO] cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run automake-1.12 --foreign --ignore-deps [INFO] ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing: line 51: automake-1.12: command not found [INFO] WARNING: 'automake-1.12' is missing on your system. You should only need it if [INFO] you modified 'Makefile.am', 'acinclude.m4' or 'configure.ac'. [INFO] You might want to install the Automake and Perl packages. [INFO] Grab them from any GNU archive site. [INFO] CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/autotools/missing --run autoconf [INFO] configure.ac:36: warning: LT_INIT was called before AM_PROG_AR [INFO] aclocal.m4:73: AM_PROG_AR is expanded from... [INFO] configure.ac:36: the top level [INFO] configure.ac:36: warning: AC_PROG_LIBTOOL was called before AM_PROG_AR [INFO] aclocal.m4:73: AM_PROG_AR is expanded from... [INFO] configure.ac:36: the top level [INFO] /bin/sh ./config.status --recheck [INFO] running CONFIG_SHELL=/bin/sh /bin/sh ./configure --disable-ccache --prefix=~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target --with-leveldb=/usr --with-snappy=/usr --no-create --no-recursion [INFO] configure: WARNING: unrecognized options: --disable-ccache [INFO] checking build system type... i686-pc-linux-gnu [INFO] checking host system type... i686-pc-linux-gnu [INFO] checking target system type... i686-pc-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... /usr/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... /usr/bin/sed [INFO] checking for grep that handles long lines and -e... /usr/bin/grep [INFO] checking for egrep... /usr/bin/grep -E [INFO] checking for fgrep... /usr/bin/grep -F [INFO] checking for ld used by gcc... /usr/bin/ld [INFO] checking if the linker (/usr/bin/ld) is GNU ld... yes [INFO] checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B [INFO] checking the name lister (/usr/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 i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop [INFO] checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop [INFO] checking for /usr/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 /usr/bin/nm -B output from gcc object... ok [INFO] checking for sysroot... no [INFO] checking for mt... no [INFO] checking if : 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 (/usr/bin/ld) 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++... /usr/bin/ld [INFO] checking if the linker (/usr/bin/ld) is GNU ld... yes [INFO] checking whether the g++ linker (/usr/bin/ld) 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 (/usr/bin/ld) 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: JAVA_HOME was set, checking to see if it's a JDK we can use... [INFO] checking if '/usr/lib/jvm/java-1.7.0' is a JDK... yes [INFO] which: no javac in (/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:~/.local/bin:~/bin) [INFO] checking pthread.h usability... yes [INFO] checking pthread.h presence... yes [INFO] checking for pthread.h... yes [INFO] checking leveldb/db.h usability... yes [INFO] checking leveldb/db.h presence... yes [INFO] checking for leveldb/db.h... yes [INFO] checking sys/errno.h usability... yes [INFO] checking sys/errno.h presence... yes [INFO] checking for sys/errno.h... yes [INFO] checking whether build environment is sane... yes [INFO] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [INFO] checking whether make sets $(MAKE)... yes [INFO] checking that generated files are newer than configure... done [INFO] configure: creating ./config.status [INFO] configure: WARNING: unrecognized options: --disable-ccache [INFO] INFO version 1.7 [INFO] Prefix.........: ~/rpmbuild/BUILD/leveldbjni-leveldbjni-1.7/leveldbjni-linux32/target/native-build/target [INFO] C Compiler.....: gcc -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux [INFO] Linker.........: /usr/bin/ld -lleveldb -L/usr -lsnappy -L/usr -release 1.7 [INFO] [INFO] /bin/sh ./config.status [INFO] config.status: creating Makefile [INFO] config.status: creating src/config.h [INFO] config.status: executing libtool commands [INFO] /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c -o leveldbjni.lo test -f 'src/leveldbjni.cpp' || echo './'src/leveldbjni.cpp [INFO] libtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -g -O2 -I/usr/include -I/usr/lib/jvm/java-1.7.0/include -I/usr/lib/jvm/java-1.7.0/include/linux -c src/leveldbjni.cpp -fPIC -DPIC -o .libs/leveldbjni.o [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNIResumeCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:426:35: error: 'class leveldb::DB' has no member named 'ResumeCompactions' INFO(intptr_t)arg0)->ResumeCompactions(); [INFO] ^ [INFO] src/leveldbjni.cpp: In function 'void Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNISuspendCompactions(JNIEnv, jclass, jlong)': [INFO] src/leveldbjni.cpp:435:35: error: 'class leveldb::DB' has no member named 'SuspendCompactions' INFO(intptr_t)arg0)->SuspendCompactions(); [INFO] ^ [INFO] make: *\ [leveldbjni.lo] Error 1 [INFO] rc: 2 [INFO]

[INFO] ------------------------------------------------------------------------ [INFO] Skipping leveldbjni-project [INFO] This project has been banned from the build due to previous failures. [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] leveldbjni-project ................................ SUCCESS [0.001s] [INFO] leveldbjni ........................................ SUCCESS [4.529s] [INFO] leveldbjni-linux32 ................................ FAILURE [14.818s] [INFO] leveldbjni-all .................................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------

— Reply to this email directly or view it on GitHub.

puntogil commented 11 years ago

which fork of leveldb? in the your readme file and in my system use these ones: leveldb 1.9.0 patched with leveldbjni-leveldbjni-1.7/leveldb.patch http://code.google.com/p/leveldb/ org.iq80.leveldb:leveldb:0.6 regards

chirino commented 11 years ago

You need the leveldb folk listed in the readme. Please follow the instructions lsited here: https://github.com/fusesource/leveldbjni#build-procedure

On Sat, Jun 29, 2013 at 5:48 PM, puntogil notifications@github.com wrote:

which fork of leveldb? in the your readme file and in my system use these ones: leveldb 1.9.0 patched with leveldbjni-leveldbjni-1.7/leveldb.patch http://code.google.com/p/leveldb/ org.iq80.leveldb:leveldb:0.6 regards

— Reply to this email directly or view it on GitHubhttps://github.com/fusesource/leveldbjni/issues/34#issuecomment-20237804 .

**

Hiram Chirino

Engineering | Red Hat, Inc.

hchirino@redhat.com hchirino@redhat.com | fusesource.com | redhat.com

skype: hiramchirino | twitter: @hiramchirinohttp://twitter.com/hiramchirino

blog: Hiram Chirino's Bit Mojo http://hiramchirino.com/blog/

puntogil commented 11 years ago

hi i can't use your procedure for various reasons one among many depends on the fact that in fedora already exists leveldb from google and this one ,until leveldbjni 1.2 , was more than good. i will not discuss your choices ... but as far as I'm concerned if you want close this bug ... i can't use your library thanks

chirino commented 11 years ago

I've submitted the ResumeCompactions() and SuspendCompactions() patch upstream 1. Hopefully they accept it.

On Sun, Jun 30, 2013 at 6:15 PM, puntogil notifications@github.com wrote:

done this patch

diff -Nru leveldb-1.12.0/db/db_impl.cc leveldb-1.12.0-gil/db/db_impl.cc --- leveldb-1.12.0/db/db_impl.cc 2013-06-18 19:47:42.000000000 +0200 +++ leveldb-1.12.0-gil/db/dbimpl.cc 2013-07-01 00:09:33.545405745 +0200 @@ -124,6 +124,9 @@ dbname(dbname), dblock(NULL), shuttingdown(NULL),

  • suspend_cv(&suspend_mutex),
  • suspend_count(0),
  • suspended(false), bgcv(&mutex), mem(new MemTable(internalcomparator)), imm_(NULL), @@ -1398,6 +1401,38 @@ } }

+void DBImpl::SuspendCompactions() {

  • MutexLock l(& suspend_mutex);
  • env_->Schedule(&SuspendWork, this);
  • suspend_count++;
  • while( !suspended ) {
  • suspend_cv.Wait();
  • } +} +void DBImpl::SuspendWork(void* db) {
  • reinterpret_cast(db)->SuspendCallback(); +} +void DBImpl::SuspendCallback() {
  • MutexLock l(&suspend_mutex);
  • Log(options_.info_log, "Compactions suspended");
  • suspended = true;
  • suspend_cv.SignalAll();
  • while( suspend_count > 0 ) {
  • suspend_cv.Wait();
  • }
  • suspended = false;
  • suspend_cv.SignalAll();
  • Log(options_.info_log, "Compactions resumed"); +} +void DBImpl::ResumeCompactions() {
  • MutexLock l(&suspend_mutex);
  • suspend_count--;
  • suspend_cv.SignalAll();
  • while( suspended ) {
  • suspend_cv.Wait();
  • } +} + // Default implementations of convenience methods that subclasses of DB // can call if they wish Status DB::Put(const WriteOptions& opt, const Slice& key, const Slice& value) { diff -Nru leveldb-1.12.0/db/db_impl.h leveldb-1.12.0-gil/db/db_impl.h --- leveldb-1.12.0/db/db_impl.h 2013-06-18 19:47:42.000000000 +0200 +++ leveldb-1.12.0-gil/db/db_impl.h 2013-07-01 00:11:12.424204041 +0200 @@ -41,6 +41,8 @@ virtual bool GetProperty(const Slice& property, std::string value); virtual void GetApproximateSizes(const Range* range, int n, uint64_t* sizes); virtual void CompactRange(const Slice* begin, const Slice\ end);
  • virtual void SuspendCompactions();

    virtual void ResumeCompactions();

    // Extra methods (for testing) that are not in the public DB interface

@@ -125,6 +127,13 @@ // Lock over the persistent DB state. Non-NULL iff successfully acquired. FileLock* dblock;

  • port::Mutex suspend_mutex;
  • port::CondVar suspend_cv;
  • int suspend_count;
  • bool suspended;
  • static void SuspendWork(void* db);

    void SuspendCallback(); + // State below is protected by mutex port::Mutex mutex; port::AtomicPointer shuttingdown; diff -Nru leveldb-1.12.0/include/leveldb/db.h leveldb-1.12.0-gil/include/leveldb/db.h --- leveldb-1.12.0/include/leveldb/db.h 2013-06-18 19:47:42.000000000 +0200 +++ leveldb-1.12.0-gil/include/leveldb/db.h 2013-07-01 00:12:28.470204083 +0200 @@ -140,6 +140,12 @@ // db->CompactRange(NULL, NULL);

    virtual void CompactRange(const Slice* begin, const Slice* end) = 0;

    // Suspends the background compaction thread. This methods

    // returns once suspended.

    virtual void SuspendCompactions() = 0;

    // Resumes a suspended background compation thread.

    virtual void ResumeCompactions() = 0; + private: // No copying allowed DB(const DB&);

— Reply to this email directly or view it on GitHubhttps://github.com/fusesource/leveldbjni/issues/34#issuecomment-20256598 .

**

Hiram Chirino

Engineering | Red Hat, Inc.

hchirino@redhat.com hchirino@redhat.com | fusesource.com | redhat.com

skype: hiramchirino | twitter: @hiramchirinohttp://twitter.com/hiramchirino

blog: Hiram Chirino's Bit Mojo http://hiramchirino.com/blog/

puntogil commented 11 years ago

thanks!