Date: Tue, 2 Jul 2002 03:18:24 +0930 From: Greg Lewis <glewis@eyesbeyond.com> To: K.J.Koster@kpn.com Cc: freebsd-java@FreeBSD.ORG Subject: Re: FW: FreshPorts daily notification Message-ID: <20020702031823.A52505@misty.eyesbeyond.com> In-Reply-To: <59063B5B4D98D311BC0D0001FA7E452205FDA7F1@l04.research.kpn.com>; from K.J.Koster@kpn.com on Mon, Jul 01, 2002 at 10:38:01AM %2B0200 References: <59063B5B4D98D311BC0D0001FA7E452205FDA7F1@l04.research.kpn.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020702031823.A52505>