Date: Mon, 02 Nov 2015 10:25:04 -0500 From: "Curtis Hamilton" <hamiltcl@verizon.net> To: "'Andreas Tobler'" <andreast-list@fgznet.ch>, "'Steve Wills'" <swills@freebsd.org>, "'Justin Hibbits'" <jrh29@alumni.cwru.edu> Cc: "'FreeBSD PowerPC ML'" <freebsd-ppc@freebsd.org> Subject: RE: OpenJDK for PowerPC64 Message-ID: <018b01d11582$a7300950$f5901bf0$@verizon.net> In-Reply-To: <5635458E.2070700@fgznet.ch> References: <002a01d11001$a4b126e0$ee1374a0$@verizon.net> <CAHSQbTAurUob%2B5ypH%2BG5_2V8dh-iGWpxobGe-EzPHBXF-ptDfg@mail.gmail.com> <003701d1102a$ee366c70$caa34550$@verizon.net> <CAHSQbTCD2QmTd865QfSV-Guuf3y7gA=euEDriM%2Bc1Pzfw7L--Q@mail.gmail.com> <00f701d1129c$b82b0400$28810c00$@verizon.net> <563370BF.8010602@FreeBSD.org> <012c01d11328$caef1220$60cd3660$@verizon.net> <5633D743.9070002@fgznet.ch> <5633E35A.50402@fgznet.ch> <5635458E.2070700@fgznet.ch>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] Attached are the instructions for setting up a bootstrap for building OpenJDK on FreeBSD. In an earlier email I provided the build script used to build the BSD-Port mercurial, using the bootstrap setup in the instructions. Let me know if you have questions. -Curtis -----Original Message----- From: Andreas Tobler [mailto:andreast-list@fgznet.ch] Sent: Saturday, October 31, 2015 6:50 PM To: Curtis Hamilton <hamiltcl@verizon.net>; 'Steve Wills' <swills@freebsd.org>; 'Justin Hibbits' <jrh29@alumni.cwru.edu> Cc: 'FreeBSD PowerPC ML' <freebsd-ppc@freebsd.org> Subject: Re: OpenJDK for PowerPC64 On 30.10.15 22:38, Andreas Tobler wrote: > On 30.10.15 21:46, Andreas Tobler wrote: >> On 30.10.15 16:36, Curtis Hamilton wrote: >>> Steve, >>> >>> I'll work on the patch. In the meantime, if you'd like to give them >>> a try, I've built OpenJDK7/8 Zero VM for powerpc64. It's available >>> at the below >>> URL: >>> >>> https://drive.google.com/folderview?id=0Bz7VO-WP3rlpM3BabUd6ejlya3c& >>> usp=shar >>> ing >> >> Do you need 32-bit powerpc stuff to bootstrap OpenJDK? >> >> If not, you can speed up the gcc build with the attached patch. >> It gives you the possibility to choose java for powerpc64 and to >> disable/enable multilibs for powerpc64. >> >> I just successfully built the gcc5-devel on my quad, including >> multilibs) >> >> The other versions are part of my todo, after fixing gcc trunk.... >> >> The multilib switch is part of John Merino's work. Here I have to apologize, it's the work from Julio Merino. I seem to mix John Marino and Julio Merino, sorry. >> I recommend to use a compiler as new as possible, although, not the >> 6.0-devel since it is broken, at least for me. >> >> You can use USES_GCC = 5.2 in the ports Makefile to say which gcc >> compiler you wan to use. > > I just noticed some weird stuff with gcc5-devel, Try to use the gcc49, > the patch applies there too. I'll run some tests on gcc49 during the night. The gcc49 and below are not usable due to the fact that they do not install properly. The reason is the multilib part for soft-float which is not working properly. But this part is not needed. > The gcc5-devel part I solve later. It is solved, patch pending for gcc trunk and gcc-5. A leftover from adding PIE support. My fault, but I do not run all combinations of bootstrapping all the time since the machine is very power hungry... Attached the patch I used to build a gcc-49 with multilib and java support. Hth, Andreas Btw, it would be great if you (@Curtis) could describe how you did the OpenJDK bootstrap. [-- Attachment #2 --] This information is a compilation from numerous sources, but inspired by the work of the Icedtea Team. After several failed attempts, with varying results, to build the Icedtea Zero VM on FreeBSD 10 Hardware: Apple PowerMac G5, 5GB RAM, 1TB Harddrive Software: FreeBSD 10.2, GCC5 w/GCJ To create a JDK bootstrap you need GCC with GCJ (Java) build. I recommend GCC47, but any version at gcc45 or above should work. At the command prompt: Create bootstrap structure: mkdir -p /usr/local/bootstrap-openjdk/bin mkdir -p /usr/local/bootstrap-openjdk/lib mkdir -p /usr/local/bootstrap-openjdk/jre/lib mkdir -p /usr/local/bootstrap-openjdk/jre/lib/security Create symbolic links for java executables: cd /usr/local/bootstrap-openjdk ln -s /usr/local/bin/gcj5 javac ln -s /usr/local/bin/gij5 java ln -s /usr/local/bin/gjar5 jar ln -s /usr/local/bin/gjarsigner5 jarsigner ln -s /usr/local/bin/gjavah5 javah ln -s /usr/local/bin/gnative2ascii5 native2ascii Create symbolic links for java libraries: cd /usr/local/bootstrap-openjdk/lib ln -s /usr/local/share/classpath/tools.zip tools.jar cd /usr/local/bootstrap-openjdk/jre/lib ln -s /usr/local/share/classpath/glibj.zip rt.jar The GCJ java libraries should work for building JDK6, if want to build JDK7 recommend you substitue the tools.jar and rt.jar libraries with libraries from a Linux or other JDK6 distribution. Also copy "cacerts" file from this distribution and place in the "/usr/local/bootstrap-openjdk/jre/lib/security" directory. Required build tools: GNU make CUPS and headers (cups-devel) libX11 and headers (libX11-devel) Freetype2 and headers (freetype-devel) patch sed unzip md5sum and sha256sum (FreeBSD files names are md5 and sha256 in /sbin. Create sym links to md5sum and sha256sum in /sbin) wget alsa and headers xalan and xerces (bootstrapping only) GLib and GTK+ for the Gtk+ look and feel Ant >= 1.6.5 libXp-devel libXtst-devel libXinerama-devel Automake 1.9 libjpeg-devel >= 6b libpng-devel giflib-devel zlib-devel Optional symbolic links: ln -s /usr/local/bin/gappletviewer5 appletviewer ln -s /usr/local/bin/gkeytool5 keytool ln -s /usr/local/bin/gorbd5 orbd ln -s /usr/local/bin/grmic5 rmic ln -s /usr/local/bin/grmid5 rmid ln -s /usr/local/bin/grmiregistry5 rmiregistry ln -s /usr/local/bin/gserialver5 serialver ln -s /usr/local/bin/gtnameserv5 tnameserv Recommended build environment settings: setenv LANG C setenv ALT_JAVA_HOME /usr/local/bootstrap-openjdk setenv ALT_BOOTDIR /usr/local/bootstrap-openjdk setenv ALT_JDK_IMPORT_PATH /usr/local/bootstrap-openjdk setenv PLATFORM bsd setenv OS_FAMILY bsd setenv ARCH ppc setenv BUILDARCH ppc setenv LIBARCH ppc setenv ARCH_DATA_MODEL 64 setenv ALT_FREETYPE_LIB_PATH /usr/local/lib setenv ALT_FREETYPE_HEADERS_PATH /usr/local/lib/libffi-3.2.1/include setenv ALT_CACERTS_FILE /usr/local/bootstrap-openjdk/jre/lib/security/cacerts setenv LIBFFI_CFLAGS "-I/usr/local/lib/libffi-3.2.1/include" setenv DEFAULT_LIBPATH "/lib:/usr/lib:/usr/local/lib" setenv NO_DOCS true setenv BUILD_CORBA false setenv BUILD_JAXP false setenv BUILD_JAXWS false setenv ZERO_BUILD true setenv ZERO_ENDIANNESS big setenv ZERO_LIBARCH ppc setenv ZERO_ARCHDEF PPC setenv ZERO_ARCHFLAG "-mpowerpc64" setenv HOTSPOT_BUILD_JOBS 8 setenv PARALLEL_COMPILE_JOBS 8 setenv CC_INTERP true setenv OPENJDK truehelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?018b01d11582$a7300950$f5901bf0$>
