Thank you very much!

It is ugly, but it'll do until GWT itself is fixed. A note for others
trying this -- I believe some of the formatting got mangled in the
post. The last command should be:

for bin in `find . -type f -exec file {} \; | grep 'Mach-O universal
binary with 2 architectures' | sed -e 's/:.*//' ` ; do ditto --rsrc --
arch i386 $bin $bin.tmp.app ; mv $bin.tmp.app $bin ; done

Chris

On Jun 20, 1:50 pm, kugutsumen <kugutsu...@gmail.com> wrote:
> This is going to become a real issue in September when Mac OS X 10.6
> starts shipping.
>
> Cross-compiling works but hosted mode is broken.
>
> Darwin wolf 10.0.0b1 Darwin Kernel Version 10.0.0b1: Fri May 29
> 00:02:02 PDT 2009; root:xnu-1456~1/RELEASE_I386 i386
>
> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/java
> -version
> java version "1.6.0_13"
> Java(TM) SE Runtime Environment (build 1.6.0_13-b03-208)
> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-81, mixed mode)
>
> GWT 0.0.0 At revision 5593.
>
> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/java
> You must use a Java 1.5 runtime to use GWT Hosted Mode on Mac OS X.
>
> If I skip the Java 1.5 test...  UnsatisfiedLinkError is thrown.
>
> On Mac OS X, ensure that you have Safari 3 installed.
> Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to
> load required native library 'gwt-ll'.  Detailed error:
> /Users/Shared/tank/pub/devel/gwt/gwt-mac-0.0.0/libgwt-ll.jnilib:  no
> suitable image found.  Did find:  /Users/Shared/tank/pub/devel/gwt/gwt-
> mac-0.0.0/libgwt-ll.jnilib: no matching architecture in universal
> wrapper)
>
> $ file /Users/Shared/tank/pub/devel/gwt/gwt-mac-0.0.0/libgwt-ll.jnilib
> /Users/Shared/tank/pub/devel/gwt/gwt-mac-0.0.0/libgwt-ll.jnilib: Mach-
> O universal binary with 2 architectures
> /Users/Shared/tank/pub/devel/gwt/gwt-mac-0.0.0/libgwt-ll.jnilib (for
> architecture i386):     Mach-O bundle i386
> /Users/Shared/tank/pub/devel/gwt/gwt-mac-0.0.0/libgwt-ll.jnilib (for
> architecture ppc):      Mach-O bundle ppc
>
> libgwt-ll.jnilib is prebuilt so adding -arch x86_64 to jni/mac/
> Makefile has no effect.
>
> I managed to get gwt hosted mode to work by patching  isJava5 to
> always return true:
>
> --- ./dev/mac/src/com/google/gwt/dev/BootStrapPlatform.java.orig
> 2009-06-21 00:42:40.000000000 +0700
> +++ ./dev/mac/src/com/google/gwt/dev/BootStrapPlatform.java     2009-06-20
> 22:44:17.000000000 +0700
> @@ -115,7 +115,7 @@
>     * 64-bit.
>     */
>    private static boolean isJava5() {
> -    return System.getProperty("java.version").startsWith("1.5");
> +    return true; /* System.getProperty("java.version").startsWith
> ("1.5"); */
>    }
>
>    /**
>
> Then I hacked a 32bit only version of the 1.6 JRE by stripping the
> x86_64 architecture:
>
> cd /System/Library/Frameworks/JavaVM.framework/Versions
> cp -pPR 1.6.0 1.6.0_32bit
> cd !$
> for bin in `find . -type f -exec file {} \; | grep 'Mach-O universal
> binary with 2 architectures' | sed -e 's/:.*//' ` ; do ditto --rsrc --
> arch i386 $bin $bin.tmp.app ; mv $bin.tmp.app $bin ; done
>
> Added /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0_32bit/
> Home in  Eclipse -> Preferences -> Java -> Installed JRE  and selected
> it.
>
> Really ugly fix but at least hosted mode works.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to