Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Feb 2003 14:07:25 +0200
From:      Alexey Zelkin <phantom@FreeBSD.org.ua>
To:        Munehiro Matsuda <haro@kgt.co.jp>
Cc:        c.rued@xsb.com, freebsd-java@FreeBSD.ORG
Subject:   Re: jdk13 and WITH_NATIVE_THREADS compile failing
Message-ID:  <20030221140725.A63003@phantom.cris.net>
In-Reply-To: <20030221.100406.41628347.haro@kgt.co.jp>; from haro@kgt.co.jp on Fri, Feb 21, 2003 at 10:04:06AM %2B0900
References:  <15956.19601.491644.845972@ool-18bacefa.dyn.optonline.net> <20030220.152353.104026134.haro@kgt.co.jp> <15957.11931.949338.673306@ool-18bacefa.dyn.optonline.net> <20030221.100406.41628347.haro@kgt.co.jp>

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

On Fri, Feb 21, 2003 at 10:04:06AM +0900, Munehiro Matsuda wrote:

> ::Something that someone (I forget who) on this mailing list said is
> ::also causing me to wonder about another issue: My FreeBSD source tree
> ::(under /usr/src) is not in sync with my compiled system; it's about
> ::two weeks newer.  I was under the impression that the source under
> ::/usr/src was never used by any ports (just /usr/include,
> ::/usr/X11R6/include, etc).  Should I be worried about my source in
> ::/usr/src being out of sync with my system?  Is the source under
> ::/usr/src used in the build?
> 
> The only file FreeBSD's JDK patchset tries include from the /usr/src
> is the pthread_private.h file, I think.
> It is not installed by default, so /usr/src becomes a must have.
> 
> May be we should,
>   1) change the /usr/src Makefiles to install pthread_private.h to
>      /usr/include/sys or somewhere appropriate

It will violate wholeidea of having this file.  It supposed to contain
implementation details and should not be available to applications.
It allows to preserve ABI compatibility across releases.

>   2) change jdk13 port's Makefile to check the existance for
>      pthread_private.h under /usr/include/sys

a) /usr/include/sys is supposed to contain kernel includes only (i.e.
originally located in /usr/src/sys/sys)

b) see above

>   3) if not found, then apply a patch, to make compile process to use
>      the pthread_pricate.h from /usr/src

But how to ensure that installed libc_r is in sync with sources from
/usr/src ?

Actctually there's only one correct solution:

    4) make jdk 1.3.1 sources use phtread_attr_get_np() function and
       get rid inclusion of phtread_private.h at all.

It's done in 1.4.1 port and it's not a problem to provide similar
patch for 1.3.1, but pthread_attr_get_np()'s functionality for making
jdk truely independent from libc_r API was added to tree around month ago
and it means that it's possible to do on most recent -STABLE and post-4.8
systems only.

If somebody interesting -- I'll make required patches and port will be
updated depending on FreeBSD_version for 4.8 and later versions.


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?20030221140725.A63003>