realpath: : No such file or directory

Kostik Belousov kostikbel at gmail.com
Wed May 12 19:07:31 UTC 2010


On Wed, May 12, 2010 at 01:22:00PM -0400, Mike Jakubik wrote:
> 
> On 5/12/2010 12:50 PM, Kostik Belousov wrote:
> >On Wed, May 12, 2010 at 12:09:26PM -0400, Mike Jakubik wrote:
> >   
> >>On 5/12/2010 11:40 AM, Greg Lewis wrote:
> >>     
> >>>Sorry, too early to be replying to email.  I bet what the problem is
> >>>that you have a JVM listed in /usr/local/etc/javavms that doesn't 
> >>>actually
> >>>exist.  javamvm runs realpath on the VMs listed there.
> >>>
> >>>
> >>>       
> >>Hrm, unfortunately that doesn't seem to be the problem.
> >>
> >>root at staging.local:~# cat /usr/local/etc/javavms
> >>/usr/local/openjdk6/bin/java # OpenJDK6
> >>
> >>root at staging.local:~# ls /usr/local/openjdk6/bin/java
> >>-rwxr-xr-x  1 root  wheel  54410 May 11 15:41:11 2010
> >>/usr/local/openjdk6/bin/java*
> >>
> >>root at staging.local:~# realpath /usr/local/openjdk6/bin/java
> >>/usr/local/openjdk6/bin/java
> >>     
> >/usr/local/bin/javavm is shell script.
> >Run it as "/bin/sh -x /usr/local/bin/javavm<args>" and post
> >the realpath invocation that generates the error.
> >   
> 
> 
> root at staging.local:~# /bin/sh -x /usr/local/bin/javavm -version
> + 
> _JAVAVM_SAVE_PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
> + export PATH=/bin:/sbin:/usr/bin:/usr/sbin
> + _JAVAVM_PREFIX=/usr/local
> + _JAVAVM_CONF=/usr/local/etc/javavms
> + _JAVAVM_OPTS_CONF=/usr/local/etc/javavm_opts.conf
> + basename /usr/local/bin/javavm
> + _JAVAVM_PROG=javavm
> + _JAVAVM_MAKE=/usr/bin/make
> + [ javavm = javavm ]
> + echo 'javavm: warning: The use of '\''javavm'\'' as a synonym for 
> '\''java'\'' is deprecated'
> javavm: warning: The use of 'javavm' as a synonym for 'java' is deprecated
> + _JAVAVM_PROG=java
> + [ -r /usr/local/etc/javavm_opts.conf ]
> + . /usr/local/etc/javavm_opts.conf
> + _JAVAVM_OPTS=''
> + setJavaHome
> + realpath ''
> realpath: : No such file or directory

The realpath(1) was given an empty path.

According to SUSv4, realpath(3) should return ENOENT if "A component of
file_name does not name an existing file or file_name points to an empty
string." This was recently brought into standard compliance.

Why javavm passes empty path to realpath(1), I do not know.

> + realpath /usr/local
> + [ -n '' -a '' != /usr/local ]
> + unset JAVA_HOME
> + _JAVAVM_PORTSDIR=''
> + [ -r /usr/share/mk/bsd.port.mk ]
> + /usr/bin/make -f /usr/share/mk/bsd.port.mk -V PORTSDIR
> + _JAVAVM_PORTSDIR=/usr/ports
> + _JAVAVM_BSD_PORT_MK=''
> + [ -n /usr/ports -a -r /usr/ports/Mk/bsd.port.mk ]
> + _JAVAVM_BSD_PORT_MK=/usr/ports/Mk/bsd.port.mk
> + [ -n /usr/ports/Mk/bsd.port.mk ]
> + /usr/bin/make -f /usr/ports/Mk/bsd.port.mk -V JAVA_HOME USE_JAVA=yes
> + JAVA_HOME=/usr/local/openjdk6
> + [ -n /usr/local/openjdk6 -a -f /usr/local/openjdk6/bin/java ]
> + _JAVAVM_PROG_PATH=/usr/local/openjdk6/bin
> + return 0
> + [ 0 != 0 ]
> + [ -x /usr/local/openjdk6/bin/java ]
> + basename /usr/local/openjdk6
> + setJavaOptions java openjdk6
> + echo java
> + sed -e 's/\./_/g' -e s/-/_/g
> + local OPTS_PROG=java
> + echo openjdk6
> + sed -e 's/\./_/g' -e s/-/_/g
> + local OPTS_JAVA_HOME=openjdk6
> + eval echo '${JAVAVM_OPTS_openjdk6_java}'
> + local JAVA_HOME_PROG_OPTS=
> + eval echo '${JAVAVM_OPTS_openjdk6}'
> + local JAVA_HOME_OPTS=
> + eval echo '${JAVAVM_OPTS_java}'
> + local PROG_OPTS=
> + [ -n '' ]
> + [ -n '' ]
> + [ -n '' ]
> + [ -n '' ]
> + export JAVA_HOME
> + tryJavaCommand /usr/local/openjdk6/bin/java -version
> + [ -n '' ]
> + [ -x /usr/local/openjdk6/bin/java ]
> + [ -n 
> /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin 
> ]
> + export 
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
> + exec /usr/local/openjdk6/bin/java -version
> openjdk version "1.6.0"
> OpenJDK Runtime Environment (build 1.6.0-b17)
> OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
> 
> _______________________________________________
> freebsd-java at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe at freebsd.org"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-java/attachments/20100512/66464148/attachment.pgp


More information about the freebsd-java mailing list