From owner-freebsd-java@FreeBSD.ORG Thu May 13 23:53:44 2010 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from [127.0.0.1] (unknown [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id 51512106564A; Thu, 13 May 2010 23:53:44 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: freebsd-java@freebsd.org Date: Thu, 13 May 2010 19:53:34 -0400 User-Agent: KMail/1.6.2 References: <4BEAC59B.9040105@intertainservices.com> <4BEB0686.6050603@intertainservices.com> <201005131846.08019.jkim@FreeBSD.org> In-Reply-To: <201005131846.08019.jkim@FreeBSD.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005131953.36641.jkim@FreeBSD.org> Cc: Mike Jakubik , glewis@freebsd.org Subject: Re: realpath: : No such file or directory X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 May 2010 23:53:44 -0000 On Thursday 13 May 2010 06:46 pm, Jung-uk Kim wrote: > On Wednesday 12 May 2010 03:50 pm, Mike Jakubik wrote: > > 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 > > The attached patch should fix the annoyance. FYI, the maintainer approved the patch and I just committed it. Jung-uk Kim