1.5.1 - RedHat/Fedora/CentOS

Commands to install development environment on a blank CentOS install:

Executed as root (user "mark" is only used as an example, replace with your own username):

  1. yum install java-1.6.0-openjdk-devel
  2. yum install libpcap-devel
  3. yum install rpmrebuild
  4. yum install gcc-c++
  5. yum install ant-nodeps (needed for "javah" task)
  6. yum install ant-junit (optional) install junit for running the ant "test" target
  7. yum install subversion
  8. (optional) Create user if you don't have an account (use your own user name):
    useradd mark
    and assign a password:
    passwd mark
  9. su - mark
  10. Checkout source code (complete details):
    svn checkout jnp_1.4

    Note: please note the use of '_' (underscore) in the directory name. This is required by 'rpmbuild' tool if you plan on building rpm packages. The rpmbuild tool converts dashes into underscores causing problems with the build process. Therefore it is recommended to use underscores when naming the top level build directory.

  11. As root run jUnit testcases to make sure everything compiles correctly. Tests need to be run as root, as some of the tests check interface parameters that require root privilege:
    ant clean test
    #if everything tested OK
  12. from the jnetpcap SVN working directory invoke the "package-rpm" target which will compile the shared library and all the java classes. Output is under "dist/" directory.
    ant -Dos=centos5 clean package-rpm
  13. rpm -iv dist/jnetpcap-1.3.b0003-centos5.i386.rpm
  14. ls -l /usr/lib/libjnetcap*
    lrwxrwxrwx 1 root root      33 Jul 4 17:33 /usr/lib/ -> /usr/lib/
    -rw-r--r-- 1 root root 1193147 Jul 4 17:29 /usr/lib/
  15. ls -l /usr/share/java/jnetpcap*
    -rw-r--r-- 1 root root 463175 Jul 4 17:29 /usr/share/java/jnetpcap-1.3.b0003.jar
    lrwxrwxrwx 1 root root     38 Jul 4 17:33 /usr/share/java/jnetpcap.jar -> /usr/share/java/jnetpcap-1.3.b0003.jar
  16. ls /usr/share/doc/jnetpcap*

Other names that should be used with the "-Dos=" argument to ant during build. You can substitute the major OS version number at the end:

  1. fc9 - for FedoraCore OS
  2. CentOS5 - for CentOS

This example assumes that we are taking a snapshot of the latest state of the development trunk (SVN trunk) which is assigned a build number (defined in file build.number in jnetpcap working directory). Build numbers are incremented after each official or internal build by jnetpcap builders.