Closed Bug 694012 Opened 13 years ago Closed 13 years ago

Update build slaves to have the latest android ndk and gcc 4.4.3 compiler

Categories

(Tamarin Graveyard :: Build Config, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: brbaker, Unassigned)

References

Details

Attachments

(2 files)

The buildbot android slave is currently compiling using gcc 4.4.0 and the player is updated to 4.4.3 and that is also the latest compiler that you get when you setup the android toolchain
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
Flags: flashplayer-bug-
Some tweaks to the cross platform build scripts to enable specifying the compiler toolchain to use for android compilation.

The build/configuration.py probably should find a way to use the ARM_EABI that is set in configure.py so that the prefix to the binaries is not hardcoded.
Attachment #566530 - Flags: review?(jsudduth)
See Also: → 693963
See bug# 693963 for a fix to get FixedMalloc.cpp to cleanly compile. Once that patch is in place I am seeing a new warning in core/Traits.cpp that will need to be resolved. (this is with tr 6632:e5a2e23e62ab)

cc1plus: warnings being treated as errors
../core/Traits.cpp: In member function 'uint32_t avmplus::Traits::finishSlotsAndMethods(const avmplus::TraitsBindings*, avmplus::TraitsBindings*, const avmplus::Toplevel*, const avmplus::Traits::SlotSizeInfo&) const':
../core/Traits.cpp:675: error: 'ne.avmplus::NameEntry::id' may be used uninitialized in this function
../core/Traits.cpp:1101: note: 'ne.avmplus::NameEntry::id' was declared here
../core/Traits.cpp:675: error: 'sic.avmplus::SlotIdCalcer::m_slotCount' may be used uninitialized in this function
../core/Traits.cpp:1038: note: 'sic.avmplus::SlotIdCalcer::m_slotCount' was declared here
../core/Traits.cpp:1131: error: 'ne.avmplus::NameEntry::info' may be used uninitialized in this function
../core/Traits.cpp:1101: note: 'ne.avmplus::NameEntry::info' was declared here
See bug# 693963 for a fix to get FixedMalloc.cpp to cleanly compile. Once that patch is in place I am seeing a new warning in core/Traits.cpp that will need to be resolved. (this is with tr 6632:e5a2e23e62ab)

cc1plus: warnings being treated as errors
../core/Traits.cpp: In member function 'uint32_t avmplus::Traits::finishSlotsAndMethods(const avmplus::TraitsBindings*, avmplus::TraitsBindings*, const avmplus::Toplevel*, const avmplus::Traits::SlotSizeInfo&) const':
../core/Traits.cpp:675: error: 'ne.avmplus::NameEntry::id' may be used uninitialized in this function
../core/Traits.cpp:1101: note: 'ne.avmplus::NameEntry::id' was declared here
../core/Traits.cpp:675: error: 'sic.avmplus::SlotIdCalcer::m_slotCount' may be used uninitialized in this function
../core/Traits.cpp:1038: note: 'sic.avmplus::SlotIdCalcer::m_slotCount' was declared here
../core/Traits.cpp:1131: error: 'ne.avmplus::NameEntry::info' may be used uninitialized in this function
../core/Traits.cpp:1101: note: 'ne.avmplus::NameEntry::info' was declared here
Comment on attachment 566530 [details] [diff] [review]
WIP: Tweaks to the xplat script

I build this locally on my Mac using the existing android-public sdk/ndk and it built with no new warnings. 
We'll need to make a few simple changes on the build machine to point to the arm-linux-androideabi-4.4.3 paths in the sdk/ndk. I could do that then push this patch if you'd like.
Attachment #566530 - Flags: review?(jsudduth) → review+
(In reply to James Sudduth from comment #4)
> Comment on attachment 566530 [details] [diff] [review] [diff] [details] [review]
> WIP: Tweaks to the xplat script
> 
> I build this locally on my Mac using the existing android-public sdk/ndk and
> it built with no new warnings. 
> We'll need to make a few simple changes on the build machine to point to the
> arm-linux-androideabi-4.4.3 paths in the sdk/ndk. I could do that then push
> this patch if you'd like.

That would be great to get this landed in tr, please land when you are able to take the android slave offline and reset the necessary variables.
changeset: 6637:8ded8b912e01
user:      James Sudduth <jsudduth@adobe.com>
summary:   Bug 694012 - Update build slaves to have the latest android ndk and gcc 4.4.3 compiler (patch=brbaker) (r=jsudduth)

http://hg.mozilla.org/tamarin-redux/rev/8ded8b912e01
(In reply to Brent Baker from comment #3)
> cc1plus: warnings being treated as errors
> ../core/Traits.cpp: In member function 'uint32_t
> avmplus::Traits::finishSlotsAndMethods(const avmplus::TraitsBindings*,
> avmplus::TraitsBindings*, const avmplus::Toplevel*, const
> avmplus::Traits::SlotSizeInfo&) const':

I ran into the problem.  I posted a patch on a new bug here:
https://bugzilla.mozilla.org/show_bug.cgi?id=695495
See Also: → 695495
Does this all still jibe with the instructions on

  [FlashPlayer:android tamarin shell support]
  https://zerowing.corp.adobe.com/x/jafODg

and/or

  https://developer.mozilla.org/En/Tamarin/Tamarin_Build_Documentation#Building_Tamarin_for_Android_2.3.3_on_Mac

I ask becuase I'm trying to use the current configure.py, and the generated Makefile seems like it has stuff like this in it:

  AS=arm-linux-androideabi-as
  AR=arm-linux-androideabi-ar

which does not seem correct given the set of binaries provided for darwin by the android NDK.
Documentation needs to be updated I think.

You need to make sure that you have a recent NDK from google, need to have 4.4.3 gcc, you probably only have the 4.4.0
This matches up with what we are using in the jenkins system.
Attachment #573174 - Flags: review?(trbaker)
(In reply to Brent Baker from comment #10)
> Created attachment 573174 [details] [diff] [review] [diff] [details] [review]
> Use new ANDROID_* env vars in the configure script
> 
> This matches up with what we are using in the jenkins system.

I have update the MDN documentation to discuss setting the required variables to do the android cross compile:
https://developer.mozilla.org/En/Tamarin/Tamarin_Build_Documentation#Build_Tamarin_Release_Shell
Comment on attachment 573174 [details] [diff] [review]
Use new ANDROID_* env vars in the configure script

verbal r+
Attachment #573174 - Flags: review?(trbaker) → review+
changeset: 6715:a2224e2b2a43
user:      Brent Baker <brbaker@adobe.com>
summary:   Bug 694012: Use new ANDROID_* env vars in the configure script (r=trbaker)

http://hg.mozilla.org/tamarin-redux/rev/a2224e2b2a43
MDN and zerowing documentation has been updated with the variables that need to be set to use. 

$ export ANDROID_TOOLCHAIN=<full path to your android sdk/ndk top folder>
$ export ANDROID_NDK=$ANDROID_TOOLCHAIN/android-ndk
$ export ANDROID_NDK_BIN=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin
$ export ANDROID_SDK=$ANDROID_TOOLCHAIN/android-sdk-mac_86
$ export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_NDK_BIN

Scanning the rest of the comments in this bug and there doesn't seem to be anything left to deal with so marking as fixed.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Flags: flashplayer-qrb? → flashplayer-qrb+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: