Skip to main content

MR2 fails to run on Nokia 770

6 replies [Last post]
Anonymous

Hi, I just tried to compile CDC from MR2 (rev 1090) for the Nokia 770 in
the same way, I did with MR1. The build went well. But when I try to run
the test suite it gives me:

---
CDC_HI-cyclops_bXX-linux_arm_maemo-bin-revUNKNOWN-revUNKNOWN# bin/cvm
-cp testclasses.zip Test
Java VM panic: AAPCS calling convention used; compilation must use
-DAAPCS.

Aborted
---

What is wrong?
How can those XX and UNKNOWN placeholders be replaced with meaningfull
values?
Is it possible to build a tarball instead of a zip via "make bin" like
MR1 does?

Jonek

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
cjplummer
Offline
Joined: 2006-10-16

Hi Jonek,

The panic means what it says. You need to compile the source with -DAAPCS. The code to produce the panic is new on the MR2 trunk. However, the -DAAPCS requirement is not new since MR1. You'll run into double word endianess problems if you don't use -DAAPCS. The best way to do this to put the following in your GNUmakefile

CVM_DEFINES += -DAAPCS

Regarding bXX, that's because we haven't come up with a policy to bump up build numbers in the repository source. We also should get rid of "cyclops" since this is an old code name. I'll bring this up internally and see if we can get it resolved.

revUNKNOWN is in reference to the svn repository revision number. Since it says UNKNOWN, either you are not building from a working copy of the repository (possibly you downloaded or produced a source bundle), or you don't have access to "svn" on the host you are building from.

You see revUNKNOWN twice because of a bug. I'll fix it. We had the same bug inbundle.mk for building the source bundle also, and it has been fixed there.

As for tarballs, I think we flipped a coin and chose zip for both the source and binary bundles. If there is a compelling reason to use tarballs instead, we'd consider a switch, or possibly make it a build option.

BTW, you can override the name given to the bundle and the directory used by setting BINARY_BUNDLE_NAME, and remove the revUNKOWN by using BINARY_BUNDLE_APPEND_REVISION=false.

regards,

Chris

Johannes Eickhold

On Thu, 2007-01-11 at 09:33 -0800, phonemeadvanced@mobileandembedded.org
wrote:

Hi Chris

> The panic means what it says. You need to compile the source with
> -DAAPCS. The code to produce the panic is new on the MR2 trunk.
> However, the -DAAPCS requirement is not new since MR1. You'll run into
> double word endianess problems if you don't use -DAAPCS.

Does this mean the MR1 build should use this, too? If yes the test suite
does not recognize it's absence in MR1 on the 770.

> The best way to do this to put the following in your GNUmakefile
>
> CVM_DEFINES += -DAAPCS

Did that for my MR2 build which now works and passes all test cases.
Thanks.

> revUNKNOWN is in reference to the svn repository revision number. Since
> it says UNKNOWN, either you are not building from a working copy of
> the repository (possibly you downloaded or produced a source bundle),
> or you don't have access to "svn" on the host you are building from.

I checked out the svn version and am working with this working copy. But
because I work in a new build dir (I created build/linux-arm-maemo as I
described in the build instructions I placed in the TWiki) which I have
not commited yet (I'm not allowed to do that, right?). When I call make
from this dir it can't recognize it's a working copy. If I add this dir
and my makefile REVISION becomes 0 of course.

> As for tarballs, I think we flipped a coin and chose zip for both the
> source and binary bundles. If there is a compelling reason to use
> tarballs instead, we'd consider a switch, or possibly make it a build
> option.

Until now there isn't. I thought it might be easier when someone starts
making a installable .deb for the Nokia 770. But of course unzip is
available everywhere, too ;-).

Jonek

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

cjplummer
Offline
Joined: 2006-10-16

Hi Jonek,

> On Thu, 2007-01-11 at 09:33 -0800,
> phonemeadvanced@mobileandembedded.org
> wrote:
>
> Hi Chris
>
> > The panic means what it says. You need to compile
> the source with
> > -DAAPCS. The code to produce the panic is new on
> the MR2 trunk.
> > However, the -DAAPCS requirement is not new since
> MR1. You'll run into
> > double word endianess problems if you don't use
> -DAAPCS.
>
> Does this mean the MR1 build should use this, too? If
> yes the test suite
> does not recognize it's absence in MR1 on the 770.
>
MR1 and MR2 are the same w.r.t. their need for the presence of (or lack of) -DAAPCS. If it is required for MR1 on your platform, then it is required for MR2 also.

Which test suite are you using? I find it hard to believe that MR1 would pass TCK without it if aapcs calling conventions are indeed being used. However, you might be able to run Test without it. It normally takes JNI methods with 64-bit arguments that are not naturally 64-bit aligned to cause problems.

>
> > revUNKNOWN is in reference to the svn repository
> revision number. Since
> > it says UNKNOWN, either you are not building from a
> working copy of
> > the repository (possibly you downloaded or produced
> a source bundle),
> > or you don't have access to "svn" on the host you
> are building from.
>
> I checked out the svn version and am working with
> this working copy. But
> because I work in a new build dir (I created
> build/linux-arm-maemo as I
> described in the build instructions I placed in the
> TWiki) which I have
> not commited yet (I'm not allowed to do that,
> right?).
Correct. If you sign a Contributors Agreement and send me your GNUmakefile, I can commit it.

> When I call make
> from this dir it can't recognize it's a working copy.
> If I add this dir
> and my makefile REVISION becomes 0 of course.
>
I suppose it would take an svn commit to update it from 0 to the latest. If you instead had done an svn mv from, for example, build/linux-arm-xscale, and then made your changes, you would probably see the correct revision number. In any case, I don't think getting the revision number correct is all that important. If you want a different name for the bundle, there are build options to do that.

Chris

gcruscoe
Offline
Joined: 2003-06-30

Hey, I'm sorry to chime in here, but I have been trying to find some information on getting Java on my Nokia 770, and this is the closest thing I have found to information on it.

Does it run on the 770? Is there a download that I should use for it?

I really appreciate you time.

-Geoff

larswestergren
Offline
Joined: 2006-02-20

These are the best links I have found on the topic:

http://gilles.frattini.free.fr/wordpress/index.php?p=3
http://web4.cs.ucl.ac.uk/staff/C.Wallenta/fairtracingblog/?p=11

You could also pop into Nokia's developer forums and ask around, show them that there is an interest in this:

http://www.forum.nokia.com/

cjplummer
Offline
Joined: 2006-10-16

Try the following links for build instructions:

http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatforms...
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatforms...

Also, there are quite a few threads in this forum that discuss building on the 770. You just need to search for them.

regards,

Chris