Marc Teale created DAEMON-271:
---------------------------------
Summary: No available JVMs when compiling against jdk1.7.0_09
Key: DAEMON-271
URL: https://issues.apache.org/jira/browse/DAEMON-271
Project: Commons Daemon
Issue Type: Bug
Components: Jsvc
Affects Versions: 1.0.11
Environment: Fedora 17 x86_64
Reporter: Marc Teale
When compiling JSVC 1.0.11 using Oracle Java 7u9, I don't get any available
JVMs.
Steps to reproduce:
[marcte02@marcte02-fedora17 Downloads]$ sudo yum install jre-7u9-linux-x64.rpm
[marcte02@marcte02-fedora17 Downloads]$ tar zxf
commons-daemon-1.0.11-src.tar.gz
[marcte02@marcte02-fedora17 Downloads]$ cd
commons-daemon-1.0.11-src/src/native/unix/
[marcte02@marcte02-fedora17 unix]$ export CFLAGS=-m64
[marcte02@marcte02-fedora17 unix]$ export LDFLAGS=-m64
[marcte02@marcte02-fedora17 unix]$ export JAVA_HOME=/usr/java/default
[marcte02@marcte02-fedora17 unix]$ ./configure
*** Current host ***
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking cached host system type... ok
*** C-Language compilation tools ***
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for ranlib... ranlib
checking for strip... strip
*** Host support ***
checking C flags dependant on host system type... ok
*** Java compilation tools ***
checking for JDK os include directory... Cannot find jni_md.h in
/usr/java/defaul/
configure: error: You should retry --with-os-type=SUBDIR
[marcte02@marcte02-fedora17 unix]$ JAVA_HOME=/usr/java/default
[marcte02@marcte02-fedora17 unix]$ export JAVA_HOME
[marcte02@marcte02-fedora17 unix]$ ./configure
*** Current host ***
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking cached host system type... ok
*** C-Language compilation tools ***
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for ranlib... ranlib
checking for strip... strip
*** Host support ***
checking C flags dependant on host system type... ok
*** Java compilation tools ***
checking for JDK os include directory... linux
gcc flags added
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/capability.h usability... no
checking sys/capability.h presence... no
checking for sys/capability.h... no
configure: WARNING: cannot find headers for libcap
*** Writing output files ***
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makedefs
config.status: creating native/Makefile
*** All done ***
Now you can issue "make"
[marcte02@marcte02-fedora17 unix]$ make
(cd native; make all)
make[1]: Entering directory
`/home/marcte02/Downloads/commons-daemon-1.0.11-src/src/native/unix/native'
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c jsvc-unix.c -o
jsvc-unix.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c arguments.c -o
arguments.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c debug.c -o
debug.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c dso-dlfcn.c -o
dso-dlfcn.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c dso-dyld.c -o
dso-dyld.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c help.c -o
help.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c home.c -o
home.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c java.c -o
java.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c location.c -o
location.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c replace.c -o
replace.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c locks.c -o
locks.o
gcc -m64 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes
-I/usr/java/default/include -I/usr/java/default/include/linux -c signals.c -o
signals.o
ar cr libservice.a arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o
java.o location.o replace.o locks.o signals.o
ranlib libservice.a
gcc -m64 jsvc-unix.o libservice.a -ldl -lpthread -o ../jsvc
make[1]: Leaving directory
`/home/marcte02/Downloads/commons-daemon-1.0.11-src/src/native/unix/native'
[marcte02@marcte02-fedora17 unix]$ ll
total 300
-rw-rw-r-- 1 marcte02 marcte02 2189 Nov 22 04:37 CHANGES.txt
-rw-rw-r-- 1 marcte02 marcte02 15780 Dec 7 08:34 config.log
-rwxrwxr-x 1 marcte02 marcte02 151 Dec 7 08:34 config.nice
-rwxrwxr-x 1 marcte02 marcte02 24959 Dec 7 08:34 config.status
-rwxrwxr-x 1 marcte02 marcte02 144740 Nov 22 04:39 configure
-rw-rw-r-- 1 marcte02 marcte02 5105 Nov 22 04:37 configure.in
-rw-rw-r-- 1 marcte02 marcte02 2601 Nov 22 04:37 INSTALL.txt
-rwxrwxr-x 1 marcte02 marcte02 62027 Dec 7 08:34 jsvc
-rw-rw-r-- 1 marcte02 marcte02 1242 Dec 7 08:34 Makedefs
-rw-rw-r-- 1 marcte02 marcte02 1146 Nov 22 04:37 Makedefs.in
-rw-rw-r-- 1 marcte02 marcte02 1238 Dec 7 08:34 Makefile
-rw-rw-r-- 1 marcte02 marcte02 1238 Nov 22 04:37 Makefile.in
drwxrwxr-x 2 marcte02 marcte02 4096 Dec 7 08:28 man
drwxrwxr-x 2 marcte02 marcte02 4096 Dec 7 08:34 native
drwxrwxr-x 2 marcte02 marcte02 4096 Dec 7 08:28 support
[marcte02@marcte02-fedora17 unix]$ uname -a
Linux marcte02-fedora17 3.6.8-2.fc17.x86_64 #1 SMP Tue Nov 27 19:35:02 UTC 2012
x86_64 x86_64 x86_64 GNU/Linux
[marcte02@marcte02-fedora17 unix]$ ./jsvc -help
Usage: jsvc [-options] class [args...]
Where options include:
-help | --help | -?
show this help page (implies -nodetach)
-jvm <JVM name>
use a specific Java Virtual Machine. Available JVMs:
-client
use a client Java Virtual Machine.
-server
use a server Java Virtual Machine.
-cp | -classpath <directories and zip/jar files>
set search path for service classes and resouces
-java-home | -home <directory>
set the path of your JDK or JRE installation (or set
the JAVA_HOME environment variable)
-version
show the current Java environment version (to check
correctness of -home and -jvm. Implies -nodetach)
-showversion
show the current Java environment version (to check
correctness of -home and -jvm) and continue execution.
-nodetach
don't detach from parent process and become a daemon
-debug
verbosely print debugging information
-check
only check service (implies -nodetach)
-user <user>
user used to run the daemon (defaults to current user)
-verbose[:class|gc|jni]
enable verbose output
-cwd </full/path>
set working directory to given location (defaults to /)
-outfile </full/path/to/file>
Location for output from stdout (defaults to /dev/null)
Use the value '&2' to simulate '1>&2'
-errfile </full/path/to/file>
Location for output from stderr (defaults to /dev/null)
Use the value '&1' to simulate '2>&1'
-pidfile </full/path/to/file>
Location for output from the file containing the pid of jsvc
(defaults to /var/run/jsvc.pid)
-D<name>=<value>
set a Java system property
-X<option>
set Virtual Machine specific option
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-procname <procname>
use the specified process name
-wait <waittime>
wait waittime seconds for the service to start
waittime should multiple of 10 (min=10)
-stop
stop the service using the file given in the -pidfile option
-keepstdin
does not redirect stdin to /dev/null
jsvc (Apache Commons Daemon) 1.0.11
Copyright (c) 1999-2012 Apache Software Foundation.
[marcte02@marcte02-fedora17 unix]$
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira