Subject: Re: Follow-up java 2 on netbsd/i386
To: Scott Bartram <scott@bartram.org>
From: Rasputin <rasputin@idoru.mine.nu>
List: port-i386
Date: 02/01/2003 15:02:55
* Scott Bartram <scott@bartram.org> [0240 05:40]:
> On Friday, January 31, 2003, at 09:38 PM, Michael Graff wrote:
=20
> >Erik Osheim <eosheim1@swarthmore.edu> writes:

> >>Nick Cuccia clued me in to sun's java packages in pkgsrc
> >>(sun-jdk13,sun-jdk14) which I must have missed. I've installed them
> >>and everything seems to work well.

> >What ever happened to a native port of sun's jvm to netbsd?  Wasn't
> >this something wasabi was going to do?

> It's already been done for i386 and powerpc and in-progress for sparc.
> The problem is that we can't release a binary package until some very
> complex license issues are resolved. I honestly don't know what the
> status of those issues are - I lost faith it would ever get done a
> long time ago :-(

Yeah, I find it very frustrating too. You'd have thought Sun would
jump at a chance to get their 'unversal platform' on  as many
platforms as possible - by rights NetBSD should be beating them back
with sticks...

Would it be worthwhile to go for a source-only package along the:
'complete the scsl form, manually get the source and patches and
build' approach FreeBSD uses for the 1.3 code?

Actually, does anyone know of a similar project with the 1.4 code
(it was on the SCSL site next to 1.3.1 yesterday)? By the time Sun
approve 1.3, 1.5 will probably be out anyway :)

> The adventurous can build it themselves by downloading the Sun source
> and *BSD patches from:=20
> http://www.eyesbeyond.com/freebsddom/java/jdk13.html

I'm doing this currently - the FreeBSD patchset seems to work very well
apart from 2 issues (so far):

1) parts of the jvm source can't seem to see gc.h which causes
the compile to fail. I fixed this very clumsily by replacing
#include "gc.h"
with
#include </full/path/to/gc.h>
in half a dozen files.

2) when the build tries to compile CORBA, it can't seem to
find the class 'FullValueDescriptionHelper' and dies
(see error below) - still banging my head against that one, if
anyone fixed it please could them let me know...

I had thought of omitting CORBA from the build but I want to run
JBOSS under this JVm, so I'll need the RMI-IIOP libraries...

<Sorry if this is OT for the majority of readers, but there isn't a=20
netbsd-java list :) >

gmake[1]: Entering directory `/devel/localsrc/fbsd-jdk13/j2sdk1.3.1/make/su=
n/rmi/corba'
rm -f ../../../../build/bsd-i386/tmp/sun/com.sun.corba.se.internal.io/ioser=
12/.classes.list
if [ -s ../../../../build/bsd-i386/tmp/sun/com.sun.corba.se.internal.io/ios=
er12/.classes.list ] ; \
then ../../../../build/bsd-i386/bin/javac -J-Xms16m -J-Xmx256m -J-Djava.com=
piler=3DNONE -classpath ../../../../build/bsd-i386/classes -bootclasspath "=
" -sourcepath "../../../../build/bsd-i386/gensrc:../../../../src/solaris/cl=
asses:../../../../src/share/classes" -d ../../../../build/bsd-i386/classes =
 \
    ../../../../src/share/classes/com/sun/corba/se/internal/io/FVDCodeBaseI=
mpl.java ../../../../src/share/classes/com/sun/corba/se/internal/io/ValueUt=
ility.java ../../../../src/share/classes/com/sun/corba/se/internal/io/Objec=
tStreamConstants.java ../../../../src/share/classes/com/sun/corba/se/intern=
al/io/ObjectStreamClassCorbaExt.java ../../../../src/share/classes/com/sun/=
corba/se/internal/io/OptionalDataException.java ../../../../src/share/class=
es/com/sun/corba/se/internal/io/LibraryManager.java ../../../../src/share/c=
lasses/com/sun/corba/se/internal/core/ClientGIOP.java ../../../../src/share=
/classes/com/sun/corba/se/internal/core/ClientRequest.java ../../../../src/=
share/classes/com/sun/corba/se/internal/core/ClientResponse.java ../../../.=
./src/share/classes/com/sun/corba/se/internal/core/ClientSubcontract.java .=
./../../../src/share/classes/com/sun/corba/se/internal/core/CodeSetComponen=
tInfo.java ../../../../src/share/classes/com/sun/corba/se/internal/core/Cod=
eSetServiceContext.java ../../../../src/share/classes/com/sun/corba/se/inte=
rnal/core/DuplicateServiceContext.java ../../../../src/share/classes/com/su=
n/corba/se/internal/core/EndPoint.java ../../../../src/share/classes/com/su=
n/corba/se/internal/core/IOR.java ../../../../src/share/classes/com/sun/cor=
ba/se/internal/core/ORBVersion.java ../../../../src/share/classes/com/sun/c=
orba/se/internal/core/ORBVersionFactory.java ../../../../src/share/classes/=
com/sun/corba/se/internal/core/ORBVersionImpl.java ../../../../src/share/cl=
asses/com/sun/corba/se/internal/core/MarshalInputStream.java ../../../../sr=
c/share/classes/com/sun/corba/se/internal/core/MarshalOutputStream.java ../=
../../../src/share/classes/com/sun/corba/se/internal/core/ORB.java ../../..=
/../src/share/classes/com/sun/corba/se/internal/core/NoSuchServiceContext.j=
ava ../../../../src/share/classes/com/sun/corba/se/internal/core/Profile.ja=
va ../../../../src/share/classes/com/sun/corba/se/internal/core/Request.jav=
a ../../../../src/share/classes/com/sun/corba/se/internal/core/RequestHandl=
er.java ../../../../src/share/classes/com/sun/corba/se/internal/core/Respon=
se.java ../../../../src/share/classes/com/sun/corba/se/internal/core/Server=
GIOP.java ../../../../src/share/classes/com/sun/corba/se/internal/core/Serv=
erRequest.java ../../../../src/share/classes/com/sun/corba/se/internal/core=
/ServerResponse.java ../../../../src/share/classes/com/sun/corba/se/interna=
l/core/SendingContextServiceContext.java ../../../../src/share/classes/com/=
sun/corba/se/internal/core/ServerSubcontract.java ../../../../src/share/cla=
sses/com/sun/corba/se/internal/core/ServiceContext.java ../../../../src/sha=
re/classes/com/sun/corba/se/internal/core/ServiceContextData.java ../../../=
../src/share/classes/com/sun/corba/se/internal/core/ServiceContextRegistry.=
java ../../../../src/share/classes/com/sun/corba/se/internal/core/ServiceCo=
ntexts.java ../../../../src/share/classes/com/sun/corba/se/internal/core/Su=
bcontractRegistry.java ../../../../src/share/classes/com/sun/corba/se/inter=
nal/core/UEInfoServiceContext.java ../../../../src/share/classes/com/sun/co=
rba/se/internal/core/UnknownServiceContext.java ../../../../src/share/class=
es/com/sun/corba/se/internal/core/ORBVersionServiceContext.java ../../../..=
/src/share/classes/org/omg/stub/java/rmi/_Remote_Stub.java ../../../../src/=
share/classes/com/sun/corba/se/internal/corba/AnyImpl.java ../../../../src/=
share/classes/com/sun/corba/se/internal/corba/AnyImplHelper.java ../../../.=
./src/share/classes/com/sun/corba/se/internal/corba/AsynchInvoke.java ../..=
/../../src/share/classes/com/sun/corba/se/internal/corba/CORBAObjectImpl.ja=
va ../../../../src/share/classes/com/sun/corba/se/internal/corba/ClientDele=
gate.java ../../../../src/share/classes/com/sun/corba/se/internal/corba/Con=
textImpl.java ../../../../src/share/classes/com/sun/corba/se/internal/corba=
/ContextListImpl.java ../../../../src/share/classes/com/sun/corba/se/intern=
al/corba/EnvironmentImpl.java ../../../../src/share/classes/com/sun/corba/s=
e/internal/corba/ExceptionListImpl.java ../../../../src/share/classes/com/s=
un/corba/se/internal/corba/InitialNamingClient.java ../../../../src/share/c=
lasses/com/sun/corba/se/internal/corba/NVListImpl.java ../../../../src/shar=
e/classes/com/sun/corba/se/internal/corba/NamedValueImpl.java ../../../../s=
rc/share/classes/com/sun/corba/se/internal/corba/ORB.java ../../../../src/s=
hare/classes/com/sun/corba/se/internal/corba/ORBSingleton.java ../../../../=
src/share/classes/com/sun/corba/se/internal/corba/PrincipalImpl.java ../../=
../../src/share/classes/com/sun/corba/se/internal/corba/RequestImpl.java ..=
/../../../src/share/classes/com/sun/corba/se/internal/corba/ServerDelegate.=
java ../../../../src/share/classes/com/sun/corba/se/internal/corba/ServerRe=
questImpl.java ../../../../src/share/classes/com/sun/corba/se/internal/corb=
a/SpecialMethod.java ../../../../src/share/classes/com/sun/corba/se/interna=
l/corba/TCUtility.java ../../../../src/share/classes/com/sun/corba/se/inter=
nal/corba/TypeCodeFactory.java ../../../../src/share/classes/com/sun/corba/=
se/internal/corba/TypeCodeImpl.java ../../../../src/share/classes/com/sun/c=
orba/se/internal/corba/TypeCodeImplHelper.java ../../../../src/share/classe=
s/com/sun/corba/se/internal/corba/WrapperInputStream.java ../../../../src/s=
hare/classes/com/sun/corba/se/internal/orbutil/ORBUtility.java ../../../../=
src/share/classes/com/sun/corba/se/internal/orbutil/CacheTable.java ../../.=
./../src/share/classes/com/sun/corba/se/internal/orbutil/HexOutputStream.ja=
va ../../../../src/share/classes/com/sun/corba/se/internal/orbutil/Lock.jav=
a ../../../../src/share/classes/com/sun/corba/se/internal/orbutil/Repositor=
yIdWrapper.java ../../../../src/share/classes/com/sun/corba/se/internal/orb=
util/SubcontractList.java ../../../../src/share/classes/com/sun/corba/se/in=
ternal/orbutil/Condition.java ../../../../src/share/classes/com/sun/corba/s=
e/internal/orbutil/ORBConstants.java ../../../../src/share/classes/com/sun/=
corba/se/internal/orbutil/ObjectStreamClassUtil_1_3.java ../../../../src/sh=
are/classes/com/sun/corba/se/internal/orbutil/RepositoryIdCache_1_3.java ..=
/../../../src/share/classes/com/sun/corba/se/internal/orbutil/RepositoryId_=
1_3.java ../../../../src/share/classes/com/sun/corba/se/internal/orbutil/Va=
lueHandlerImpl_1_3.java ../../../../src/share/classes/com/sun/corba/se/inte=
rnal/orbutil/TransientObjectManager.java ../../../../src/share/classes/com/=
sun/corba/se/internal/orbutil/IIOPInputStream_1_3.java ../../../../src/shar=
e/classes/com/sun/corba/se/internal/orbutil/IIOPOutputStream_1_3.java ../..=
/../../src/share/classes/com/sun/corba/se/internal/iiop/CDRInputStream.java=
 ../../../../src/share/classes/com/sun/corba/se/internal/iiop/CDROutputStre=
am.java ../../../../src/share/classes/com/sun/corba/se/internal/iiop/Cancel=
RequestMessage.java ../../../../src/share/classes/com/sun/corba/se/internal=
/iiop/ClientRequestImpl.java ../../../../src/share/classes/com/sun/corba/se=
/internal/iiop/ClientResponseImpl.java ../../../../src/share/classes/com/su=
n/corba/se/internal/iiop/Connection.java ../../../../src/share/classes/com/=
sun/corba/se/internal/iiop/ConnectionTable.java ../../../../src/share/class=
es/com/sun/corba/se/internal/iiop/EndPointImpl.java ../../../../src/share/c=
lasses/com/sun/corba/se/internal/iiop/ForwardException.java ../../../../src=
/share/classes/com/sun/corba/se/internal/iiop/GIOPImpl.java ../../../../src=
/share/classes/com/sun/corba/se/internal/iiop/IIOPConnection.java ../../../=
../src/share/classes/com/sun/corba/se/internal/iiop/IIOPInputStream.java ..=
/../../../src/share/classes/com/sun/corba/se/internal/iiop/IIOPOutputStream=
.java ../../../../src/share/classes/com/sun/corba/se/internal/iiop/Listener=
Thread.java ../../../../src/share/classes/com/sun/corba/se/internal/iiop/Lo=
cateReplyMessage.java ../../../../src/share/classes/com/sun/corba/se/intern=
al/iiop/LocateRequestMessage.java ../../../../src/share/classes/com/sun/cor=
ba/se/internal/iiop/LocalClientRequestImpl.java ../../../../src/share/class=
es/com/sun/corba/se/internal/iiop/LocalClientResponseImpl.java ../../../../=
src/share/classes/com/sun/corba/se/internal/iiop/LocalServerRequestImpl.jav=
a ../../../../src/share/classes/com/sun/corba/se/internal/iiop/LocalServerR=
esponseImpl.java ../../../../src/share/classes/com/sun/corba/se/internal/ii=
op/Message.java ../../../../src/share/classes/com/sun/corba/se/internal/iio=
p/ORB.java ../../../../src/share/classes/com/sun/corba/se/internal/iiop/ORB=
Thread.java ../../../../src/share/classes/com/sun/corba/se/internal/iiop/Re=
plyMessage.java ../../../../src/share/classes/com/sun/corba/se/internal/iio=
p/RequestMessage.java ../../../../src/share/classes/com/sun/corba/se/intern=
al/iiop/ServerRequestImpl.java ../../../../src/share/classes/com/sun/corba/=
se/internal/iiop/ServerResponseImpl.java ../../../../src/share/classes/com/=
sun/corba/se/internal/iiop/WorkerThread.java ../../../../src/share/classes/=
com/sun/corba/se/internal/iiop/FVDCodeBaseDelegate.java ; \
fi
=2E./../../../src/share/classes/com/sun/org/omg/SendingContext/_CodeBaseImp=
lBase.java:88: cannot resolve symbol
symbol  : class FullValueDescriptionHelper =20
location: package ValueDefPackage
		    com.sun.org.omg.CORBA.ValueDefPackage.FullValueDescriptionHelper.writ=
e (out, __result);
                                                         ^
<snip: 4 other errors on same file>

5 errors
gmake[1]: *** [.compile.classlist] Error 1
gmake[1]: Leaving directory `/devel/localsrc/fbsd-jdk13/j2sdk1.3.1/make/sun=
/rmi/corba'
gmake: *** [optimized] Error 2
--=20
Rasputin :: Jack of All Trades - Master of Nuns