View Single Post
Old 16.07.2018, 14:16
Posts: n/a

Originally Posted by Jiaz View Post
The linux package is for linux only and not compatible with (free)bsd.
I suggest to simply compile the required library for yourself, see
See readme file for build instructions, straightforward
In case you need help with this, I can offer help via Teamviewer. Just contact us
Ok, I followed the README build instruction:

6.1 Compile on Linux

a) Download source package from **External links are only visible to Support Staff****External links are only visible to Support Staff**
and extract it into some <srcdir> directory. Try to avoid directory names with spaces in your path.

Optionally you can checkout a master (current development version) from GIT repository
$ git clone git:// SevenZipJBinding
$ git clone **External links are only visible to Support Staff****External links are only visible to Support Staff** SevenZipJBinding

$ cd SevenZipJBinding
$ git checkout Release-4.65-1.02rc-extr-only
Ok, that was easy. Next step.

b) You will need the CMake (2.6 or higher) to configure 7-Zip-JBinding for your system.
You can check the version of your CMake by typing:
$ cmake --version

If you don't have cmake installed or cmake version isn't sufficient you can download and install CMake from official
web site: **External links are only visible to Support Staff****External links are only visible to Support Staff**

On Debian or Ubuntu Linux you can install cmake by typing
$ sudo apt-get install cmake
Easy as well, no problem.

c) The next step is to run CMake. Both in-source and out-of-source methods are supported. Here is example of in-source build:
$ cmake .

Where <srcdir> is a directory, where you extracted or checked out the source code.
On some Linux distributions you will need to set JAVA_JDK cmake option to your Java JDK 1.5 or higher. You can use a GUI CMake
tool 'cmake-gui', edit 'CMakeCache.txt' file with your favorite text editor or just delete 'CMakeCache.txt' file
and restart CMake with a -DJAVA_JDK parameter:
$ cmake . -DJAVA_JDK=<path-to-jdk>

If everything goes right, you will get an overview of chosen tools and build options.
At first I had some problems to find out my jdk folder, but after reading some tutorials I managed to solve using the command "cmake . -DJAVA_JDK=/usr/local/openjdk8"

d) Now type to compile 7-Zip-JBinding
$ make
I'm stucked at this point. See the following output from my terminal. I tried to search these errors on Google but I haven't found anything related to it.
root@jail1:/SevenZipJBinding # make
Scanning dependencies of target sevenzip-jbinding-jar
[  1%] target
[  1%] Built target sevenzip-jbinding-jar
[  1%] javah: generating h-files from java classes net.sf.sevenzipjbinding.SevenZip;net.sf.sevenzipjbinding.impl.InArchiveImpl
[  1%] Building CXX object jbinding-cpp/CMakeFiles/7-Zip-JBinding.dir/Debug.cpp.o
In file included from /SevenZipJBinding/jbinding-cpp/Debug.cpp:2:
/SevenZipJBinding/jbinding-cpp/./SevenZipJBinding.h:108:28: warning: comparison
      of unsigned expression < 0 is always false [-Wtautological-compare]
        if (--__m_RefCount < 0)
            ~~~~~~~~~~~~~~ ^ ~
In file included from /SevenZipJBinding/jbinding-cpp/Debug.cpp:3:
/SevenZipJBinding/jbinding-cpp/./JNICallState.h:39:10: error: cast from pointer
      to smaller type 'DWORD' (aka 'unsigned int') loses information
                return (DWORD)pthread_self();
1 warning and 1 error generated.
*** Error code 1

make[2]: stopped in /SevenZipJBinding
*** Error code 1

make[1]: stopped in /SevenZipJBinding
*** Error code 1

make: stopped in /SevenZipJBinding