Building on FreeBSD (AMD64) [message #283165] |
Mon, 28 March 2005 17:18  |
Eclipse User |
|
|
|
Hi there,
I've recently been trying to get 3.1m5a to build on the AMD64 version of
FreeBSD. The version of Eclipse in FreeBSD's ports system does not
support 64-bit processors yet, and I'm trying to get this working.
After a fair amount of fiddling, I'm able to get a build going using the
Linux x86_64 targets to create 64-bit friendly code. Unfortunately,
when I try to actually run the binaries I've built, I'm hitting an
exception that has me stumped:
!SESSION 2005-03-28 22:02:50.258 -----------------------------------------------
eclipse.buildId=I20050219-1500
java.version=1.5.0-p1
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=freebsd, ARCH=amd64, WS=gtk, NL=en
Command-line arguments: -os freebsd -ws gtk -arch amd64
!ENTRY org.eclipse.osgi 2005-03-28 22:02:50.281
!MESSAGE Application error
!STACK 1
java.lang.NoSuchMethodError: fixedClassInitProc
at org.eclipse.swt.internal.Callback.bind(Native Method)
at org.eclipse.swt.internal.Callback.<init>(Callback.java:123)
at org.eclipse.swt.internal.Callback.<init>(Callback.java:78)
at org.eclipse.swt.internal.Callback.<init>(Callback.java:60)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:7 33)
at org.eclipse.swt.widgets.Display.create(Display.java:708)
at org.eclipse.swt.graphics.Device.<init>(Device.java:123)
at org.eclipse.swt.widgets.Display.<init>(Display.java:414)
at org.eclipse.swt.widgets.Display.<init>(Display.java:410)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.ja va:318)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.IDEApplication.createDisplay(IDE Application.java:127)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:78)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:228)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:333)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
at org.eclipse.core.launcher.Main.run(Main.java:887)
at org.eclipse.core.launcher.Main.main(Main.java:871)
Doing some searching around, I can't find any references to people seeing
this error in the past. As far as I can tell, the fixedClassInitProc
method does exist, and its signature matches what Callback.java expects
it to be. javap shows that the method was built using long args:
$ javap -classpath swt.jar -c org/eclipse/swt/widgets/Display
...
static long fixedClassInitProc(long, long);
And since sizeof(void *) returns a value of 8 on my machine, Callback.java
should build the signature "(JJ)J". This all looks correct to me.
Has anybody seen this before? Any suggestions of where I can go from here
to diagnose the problem?
Thanks,
Alex.
|
|
|
Re: Building on FreeBSD (AMD64) [message #283167 is a reply to message #283165] |
Mon, 28 March 2005 18:41  |
Eclipse User |
|
|
|
Alex Varju wrote:
> After a fair amount of fiddling, I'm able to get a build going using the
> Linux x86_64 targets to create 64-bit friendly code. Unfortunately,
> when I try to actually run the binaries I've built, I'm hitting an
> exception that has me stumped:
>
> java.lang.NoSuchMethodError: fixedClassInitProc
> at org.eclipse.swt.internal.Callback.bind(Native Method)
> at org.eclipse.swt.internal.Callback.<init>(Callback.java:123)
> at org.eclipse.swt.internal.Callback.<init>(Callback.java:78)
> at org.eclipse.swt.internal.Callback.<init>(Callback.java:60)
> at org.eclipse.swt.widgets.Display.createDisplay(Display.java:7 33)
> at org.eclipse.swt.widgets.Display.create(Display.java:708)
>
> .....
>
> And since sizeof(void *) returns a value of 8 on my machine, Callback.java
> should build the signature "(JJ)J". This all looks correct to me.
To answer my own question, it looks like my build was not including
-DSWT_PTR_SIZE_64 in CFLAGS, so the method signature was not "(JJ)J".
I'm doing a new build now to see if I can get further...
Alex.
|
|
|
Powered by
FUDForum. Page generated in 0.02585 seconds