Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 May 2010 15:50:30 -0400
From:      Mike Jakubik <mike.jakubik@intertainservices.com>
To:        freebsd-java@freebsd.org
Subject:   Re: realpath: : No such file or directory
Message-ID:  <4BEB0686.6050603@intertainservices.com>
In-Reply-To: <20100512190726.GD83316@deviant.kiev.zoral.com.ua>
References:  <4BEAC59B.9040105@intertainservices.com>	<20100512152515.GA75759@misty.eyesbeyond.com>	<4BEAC9A0.4050105@intertainservices.com>	<20100512154024.GB75759@misty.eyesbeyond.com>	<4BEAD2B6.8080300@intertainservices.com>	<20100512165009.GB83316@deviant.kiev.zoral.com.ua>	<4BEAE3B8.6040805@intertainservices.com> <20100512190726.GD83316@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help


On 5/12/2010 3:07 PM, Kostik Belousov wrote:
>
> 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.
>    

It appears the cause is because ${JAVA_HOME} is an empty variable.

---
#
# Set up an appropriate JAVA_HOME
#
setJavaHome() {

echo Debug JAVA_HOME:  ${JAVA_HOME}
echo Debug JAVAVM_PREFIX: ${_JAVAVM_PREFIX}

     # Use JAVA_HOME if it's set, unless its set to /usr/local
     if [ -n "${JAVA_HOME}" -a \
          "`realpath "${JAVA_HOME}"`" != "`realpath 
"${_JAVAVM_PREFIX}"`" ]; then
         if [ -n "${JAVA_HOME}" -a -f "${JAVA_HOME}/bin/${_JAVAVM_PROG}" 
]; then
             _JAVAVM_PROG_PATH="${JAVA_HOME}/bin"
             return 0
         elif [ -n "${JAVA_HOME}" -a \
                -f "${JAVA_HOME}/jre/bin/${_JAVAVM_PROG}" ]; then
             _JAVAVM_PROG_PATH="${JAVA_HOME}/jre/bin"
             return 0
         fi
     fi

     unset JAVA_HOME
---

When i run the above:

+ setJavaHome
+ echo Debug JAVA_HOME:
Debug JAVA_HOME:
+ echo Debug JAVAVM_PREFIX: /usr/local
Debug JAVAVM_PREFIX: /usr/local
+ realpath ''
realpath: : No such file or directory




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BEB0686.6050603>