From owner-freebsd-java Mon Jul 1 10:48:36 2002 Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D262637B401 for ; Mon, 1 Jul 2002 10:48:33 -0700 (PDT) Received: from mgr4.xmission.com (mgr4.xmission.com [198.60.22.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D27843E13 for ; Mon, 1 Jul 2002 10:48:33 -0700 (PDT) (envelope-from glewis@misty.eyesbeyond.com) Received: from mail by mgr4.xmission.com with spam-scanned (Exim 3.35 #1) id 17P5Hr-0001Si-00; Mon, 01 Jul 2002 11:48:32 -0600 Received: from [207.135.128.145] (helo=misty.eyesbeyond.com) by mgr4.xmission.com with esmtp (Exim 3.35 #1) id 17P5Hq-0001Sb-00; Mon, 01 Jul 2002 11:48:31 -0600 Received: (from glewis@localhost) by misty.eyesbeyond.com (8.11.6/8.11.6) id g61HmPv52548; Tue, 2 Jul 2002 03:18:25 +0930 (CST) (envelope-from glewis) Date: Tue, 2 Jul 2002 03:18:24 +0930 From: Greg Lewis To: K.J.Koster@kpn.com Cc: freebsd-java@FreeBSD.ORG Subject: Re: FW: FreshPorts daily notification Message-ID: <20020702031823.A52505@misty.eyesbeyond.com> References: <59063B5B4D98D311BC0D0001FA7E452205FDA7F1@l04.research.kpn.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <59063B5B4D98D311BC0D0001FA7E452205FDA7F1@l04.research.kpn.com>; from K.J.Koster@kpn.com on Mon, Jul 01, 2002 at 10:38:01AM +0200 X-Spam-Status: No, hits=-3.4 required=8.0 tests=IN_REP_TO version=2.31 X-Spam-Level: Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, Jul 01, 2002 at 10:38:01AM +0200, K.J.Koster@kpn.com wrote: > The message below just showed up on Freshports. Could someone elaborate on > why the build process gets confused? > > http://www.FreshPorts.org/java/jdk13/ > Add a pre-build target to check for a setting of WRKDIRPREFIX which > will > result in the InvokerGen.java target failing. The bootstrapping Linux > JDK will confuse itself if WRKDIRPREFIX also exists in /compat/linux > as a symbolic link to the directory in the standard FreeBSD hierarchy. > > Much appreciated sleuth work by: dillon > 26 Jun 2002 - glewis I'll attempt to explain this, although Matt Dillon was the one who did all the detective work. Basically, the Linux JDK is trying to absolutely resolve the path of the file and the symlinks confuse it. This is partly due to how emulation works. To give a concrete example. If there is a file in /usr/tmp that its trying to compile and /compat/linux/usr/tmp is a symbolic link to /usr/tmp it will basically get into a loop like this: Resolve /usr/tmp -> Emulation layer checks in /compat/linux first, finds /usr/tmp there. -> Resolve /compat/linux/usr/tmp. -> /compat/linux/usr/tmp is a symbolic link to /usr/tmp. -> Back to top of loop. Matt has a nice truss trace that shows the syscalls happening for this instance. Eventually the JDK gives up and errors. Let me know if that isn't clear and I'll ask Matt if I can forward the explanation he sent to me. The commit was to try and stop this happening at least some of the time (its not perfect, but should catch the common cases). -- Greg Lewis Email : glewis@eyesbeyond.com Eyes Beyond Web : http://www.eyesbeyond.com Information Technology To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message