Closed Bug 657723 Opened 14 years ago Closed 13 years ago

deploy android NDKr5 to build slaves

Categories

(Release Engineering :: General, defect, P3)

x86_64
Linux
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: blassey, Assigned: bear)

References

Details

(Whiteboard: [mobile])

Attachments

(9 files, 11 obsolete files)

(deleted), patch
rail
: review+
Details | Diff | Splinter Review
(deleted), patch
Details | Diff | Splinter Review
(deleted), patch
bear
: review+
jhford
: checked-in+
Details | Diff | Splinter Review
(deleted), patch
dustin
: review+
Details | Diff | Splinter Review
(deleted), patch
mozilla
: review+
Details | Diff | Splinter Review
(deleted), patch
mozilla
: review+
Details | Diff | Splinter Review
(deleted), patch
mozilla
: review+
Details | Diff | Splinter Review
(deleted), text/plain
Details
(deleted), patch
mozilla
: feedback+
bear
: feedback+
Details | Diff | Splinter Review
Brad: does this supercede bug 616057? Would we need to rebuild r5 with -fPIC prior to deployment?
Assignee: nobody → bear
Priority: -- → P3
Whiteboard: [mobile]
per IRC from yesterday they want/need the r5 NDK deployed first without -fPIC because r5 doesn't require any extra .h manipulations so should be a puppet deploy.
[15:43] <blassey> heads up, target name for NDKr5 is arm-linux-android [15:43] <aki|buildduty> heh [15:49] <aki|buildduty> blassey: does that change the filename ? [15:49] <blassey> it changes the apk name We do hardcode searching for eabi-arm.apk in places; we'll have to coordinate a change for when we update to NDKr5.
I have the test rpm (for use in the puppet deploy) created and have a buildslave isolated to generate a test build. next will be to check in the puppet patch and spec file for review and giving a binary to the mobile devs for sanity check
Attached patch r5c ndk rpm spec file (deleted) — Splinter Review
Attachment #543335 - Flags: review?(rail)
Comment on attachment 543335 [details] [diff] [review] r5c ndk rpm spec file Review of attachment 543335 [details] [diff] [review]: ----------------------------------------------------------------- ::: android-ndk/centos5-i686/android-ndk.spec @@ +21,5 @@ > %{name} > > %prep > rm -rf $RPM_BUILD_DIR/%{toplevel_dir} > +tar xf %{SOURCE0} >/dev/null did you mean "tar xjf %{SOURCE0} >/dev/null" here? Otherwise looks good.
Attachment #543335 - Flags: review?(rail) → review+
(In reply to comment #7) > > +tar xf %{SOURCE0} >/dev/null > > did you mean "tar xjf %{SOURCE0} >/dev/null" here? > > Otherwise looks good. I've gotten used to the new version of tar not requiring you to list what method to use as it figures it out and does-the-right-thing But your point is good as nothing guarantees that we will be running the latest version everywhere :/
Attachment #543336 - Flags: review?(rail)
Comment on attachment 543336 [details] [diff] [review] wip - puppet change for ndk r5c (needs staging test) Looks good.
Attachment #543336 - Flags: review?(rail) → review+
Ping: what's the status on this? I thought this was being deployed yesterday.
bah - communication/update fail... Monday I found that an NDK6 was released so I wanted to find out if I should move to 6 and forgot to ask yesterday. Today Aki let me know that blassey doesn't want to jump to 6 so I'm clear to roll out 5 and will do so. ETA is unknown because I haven't spent the 30 minutes to sync with myself and find out what the small details are remaining.
this is the diff from the mozconfig I am currently using to test the ndk5 build
with the attached mozconfig this is the error i'm seeing: make[4]: Entering directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub' make -C config export make[5]: Entering directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/config' /tools/gcc/bin/gcc -o now.o -c -pthread -O -gdwarf-2 -UDEBUG -DMOZILLA_CLIENT=1 -DNDEBUG=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_PRAGMA=1 -DXP_UNIX=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM /builds/slave/rel-lnx-andrd/build/nsprpub/config/now.c /tools/gcc/bin/gcc now.o -o now /tools/gcc/bin/gcc -o nsinstall.o -c -pthread -O -gdwarf-2 -UDEBUG -DMOZILLA_CLIENT=1 -DNDEBUG=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_PRAGMA=1 -DXP_UNIX=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM /builds/slave/rel-lnx-andrd/build/nsprpub/config/nsinstall.c /tools/gcc/bin/gcc nsinstall.o -o nsinstall rm -f nfspwd; cp /builds/slave/rel-lnx-andrd/build/nsprpub/config/nfspwd.pl nfspwd; chmod +x nfspwd rm -f /builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/dist/bin/nspr-config make[5]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/config' make -C pr export make[5]: Entering directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr' make -C include export make[6]: Entering directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr/include' make -C md export make[7]: Entering directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr/include/md' ../../../config/./nsinstall -R -m 444 /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_aix32.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_aix64.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_beos.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_bsdi.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_darwin.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_dgux.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_freebsd.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_hpux32.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_hpux64.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_irix32.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_irix64.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_linux.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_ncr.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_nec.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_netbsd.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_nextstep.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_nto.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_openbsd.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_os2.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_osf1.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_qnx.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_reliantunix.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_riscos.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_scoos.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_solaris.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_sony.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_sunos4.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_symbian.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_unixware7.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_unixware.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_win95.cfg /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/_winnt.cfg /builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/dist/include/nspr/md ../../../config/./nsinstall -R -m 444 /builds/slave/rel-lnx-andrd/build/nsprpub/pr/include/md/ /builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/dist/include/nspr ../../../config/./nsinstall: cannot make symbolic link /builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/dist/include/nspr/md: File exists make[7]: *** [export] Error 1 make[7]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr/include/md' make[6]: *** [export] Error 2 make[6]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr/include' make[5]: *** [export] Error 2 make[5]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub/pr' make[4]: *** [export] Error 2 make[4]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu/nsprpub' make[3]: *** [tier_nspr] Error 2 make[3]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu' make[2]: *** [default] Error 2 make[2]: Leaving directory `/builds/slave/rel-lnx-andrd/build/obj-i686-pc-linux-gnu' make[1]: *** [realbuild] Error 2 make[1]: Leaving directory `/builds/slave/rel-lnx-andrd/build' make: *** [build] Error 2
with Catlee's help we figured out it may be the difference between r5 that it looks like the devs are using and the r5c version that I have. Chris also had the excellent suggestion, which I don't honestly know why I didn't think of it, to just go ahead and install this into /tools/android-ndk-r5c so that the devs can bang on it using try builds.
(In reply to comment #14) > with Catlee's help we figured out it may be the difference between r5 that > it looks like the devs are using and the r5c version that I have. From irc: * jchen is able to build just fine using the same mozconfig, and ndk5c. * jchen is on ubuntu 11.04, 2.6.39 kernel.
Attached patch puppet change for ndk r5c (obsolete) (deleted) — Splinter Review
this installs the ndk-r5c rpm along side the r4c version and does *not* update the symlink
Attachment #543336 - Attachment is obsolete: true
Attachment #545954 - Flags: review?(dustin)
Attachment #545954 - Flags: review?(dustin) → review+
Comment on attachment 545954 [details] [diff] [review] puppet change for ndk r5c committed changeset 395:46e63a620080
Attachment #545954 - Flags: checked-in+
Comment on attachment 543335 [details] [diff] [review] r5c ndk rpm spec file committed changeset 24:866ddb55077e
Attachment #543335 - Flags: checked-in+
r5c NDK is being deployed to the android builders and will exist next to the current NDK To build against it you need to reference /tools/android-ndk-r5c in your mozconfig
committed changeset 25:4bd84c085c29 reverted android-ndk.spec and created android-ndk5.spec
committed changeset 397:5fc7ee479878 reverted android-ndk puppet change and added android-ndk5 package
Attached patch bump version to 0moz2 (obsolete) (deleted) — Splinter Review
needed to add g+r to some of the internal tool directories which means new rpm which means new tarball and spec file
Attachment #546199 - Flags: review?(jhford)
Attached patch bump version to 0moz2 in puppet manifest (obsolete) (deleted) — Splinter Review
Attachment #546200 - Flags: review?(dustin)
Attachment #546200 - Flags: review?(dustin) → review+
Comment on attachment 546200 [details] [diff] [review] bump version to 0moz2 in puppet manifest committed changeset 399:758e05137140
Attachment #546200 - Flags: checked-in+
Comment on attachment 546199 [details] [diff] [review] bump version to 0moz2 Version: r5c is not valid. Because we are coding the NDK version into the package name (to have multiple versions installed at the same time), the Version tag we use is irrelevant. If we want to keep things consistent, its probably best to use Version: 5.0
Attachment #546199 - Flags: review?(jhford) → review-
(In reply to comment #25) > Comment on attachment 546199 [details] [diff] [review] [review] > bump version to 0moz2 > > Version: r5c > > is not valid. Because we are coding the NDK version into the package name > (to have multiple versions installed at the same time), the Version tag we > use is irrelevant. If we want to keep things consistent, its probably best > to use > > Version: 5.0 I did - the version *is* r5c according to Google own notes. The directory name is ndk5 and the version from Google is r5c and the packaging version i'm using is 0moz2 Version 5 of the NDK went thru 3 official releases (r5 r5b and r5c) and the current one (r6) will probably do something similiar.
extracted from an email exchange between me and blassey: I took a quick look at try-linux-slave12 and did a quick "can cltbld see the toolchain": [cltbld@try-linux-slave12 ~]$ ls -la /tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -rwxr-xr-x 1 root root 233684 Jun 2 15:58 /tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc so it's visible from the builder's session and present and when run shows the following: [cltbld@try-linux-slave12 ~]$ /tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --version arm-linux-androideabi-gcc (GCC) 4.4.3 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. the output from configure.log looks like something is not setup environment wise as it's trying to load cc1 [cltbld@try-linux-slave12 obj-i686-pc-linux-gnu]$ cat config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. configure:1008: checking host system type configure:1029: checking target system type configure:1047: checking build system type configure:1128: checking for gawk configure:1258: checking for perl5 configure:1258: checking for perl configure:1469: checking for host c compiler configure:1475: checking for gcc configure:1510: checking for host c++ compiler configure:1516: checking for c++ configure:1568: checking for ranlib configure:1603: checking for ar configure:1638: checking whether the host c compiler (gcc ) works configure:1647: gcc -c -I/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/include -I/tools/android-ndk5-r5c/sources/cxx-stl/stlport/stlport conftest.c 1>&5 configure:1662: checking whether the host c++ compiler (c++ ) works configure:1671: c++ -c -I/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/include -I/tools/android-ndk5-r5c/sources/cxx-stl/stlport/stlport conftest.c 1>&5 configure:1700: checking for /tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc configure:1734: checking for gcc configure:1847: checking whether the C compiler (/tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -mandroid -I/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/include -fno-short-enums -fno-exceptions -mandroid -L/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/lib -L/tools/android-ndk5-r5c/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a -Wl,-rpath-link=/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/lib --sysroot=/tools/android-ndk5-r5c/platforms/android-5/arch-arm -llog -Wl,--allow-shlib-undefined ) works configure:1863: /tools/android-ndk5-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -o conftest -mandroid -I/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/include -fno-short-enums -fno-exceptions -I/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/include -I/tools/android-ndk5-r5c/sources/cxx-stl/stlport/stlport -mandroid -L/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/lib -L/tools/android-ndk5-r5c/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a -Wl,-rpath-link=/tools/android-ndk5-r5c/platforms/android-5/arch-arm/usr/lib --sysroot=/tools/android-ndk5-r5c/platforms/android-5/arch-arm -llog -Wl,--allow-shlib-undefined conftest.c -L/tools/android-ndk5-r5c/sources/cxx-stl/stlport/libs/armeabi-v7a/ -lstlport_static 1>&5 arm-linux-androideabi-gcc: error trying to exec 'cc1': execvp: No such file or directory configure: failed program was: #line 1858 "configure" #include "confdefs.h" main(){return(0);}
i've compared the directory structure and files between a straight tarball extract of the NDK r5c that comes from Android and what puppet installs from the RPM I created of same tarball: cd ~/temp/ndk mkdir orig wget http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2 cd orig tar xf ../android-ndk-r5c-linux-x86.tar.bz2 cd .. mkdir rpm scp root@try-linux-slave12:/tools/try-linux-slave12.tar.bz2 . cd rpm tar xf ../try-linux-slave12.tar.bz2 moz:ndk bear$ diff -r orig/android-ndk-r5c/ rpm/android-ndk5-r5c/ Only in rpm/android-ndk5-r5c/platforms/android-3/arch-arm/usr/lib: .libc.so.48pl1z I am not seeing anything file or permission related for NDK5. Not sure exactly what to check next on the linux builder to find out why this is not working. Are you running NDK r5c or something else? Should I jump to NDK r6 as I see in it's release notes items related to the x86 ABI?
(In reply to comment #28) > Are you running NDK r5c or something else? Should I jump to NDK r6 as I see > in it's release notes items related to the x86 ABI? I'm using NDKr5b, but jchen is using NDKr5c without a problem. I don't see how r6 will fix anything, but I also don't really care as long as we get this working.
Attached patch Fix the RPM permissions (deleted) — Splinter Review
This patch uses the upstream tarball instead of an internal tarball. It also ensures that permissions are correct. We should do tweaks in this spec file, and include needed files in SourceN.
Attachment #546868 - Flags: review?(rail)
Attachment #546868 - Flags: review?(rail) → review?(catlee)
Comment on attachment 546868 [details] [diff] [review] Fix the RPM permissions >diff --git a/android-ndk/centos5-i686/android-ndk5.spec b/android-ndk/centos5-i686/android-ndk5.spec > # This isn't the original source package but rather a Mozilla built tarball. > # The original source package requires downloading additional pieces from > # the Internet, which is difficult to do in RPM, and makes reproducability > # impossible. >-Source0: android-ndk5-r5c-0moz1.tar.bz2 This comment should read: # This is the upstream NDK binary distribution tarball. All modifications are # performed in this spec file's %build section. If extra files need to be # included for modifications, they should use Source1: <path> and be copied # as needed.
Comment on attachment 546868 [details] [diff] [review] Fix the RPM permissions sorry for all the bug spam!
Attachment #546868 - Flags: review?(catlee) → review?(bear)
Attachment #546868 - Flags: review?(bear) → review+
status update: - generated rpm using new spec - pushed new rpm to staging-puppet - updated staging slave using puppet with new rpm - running test build - pushed new rpm to production puppet dirs pending successful build
Attached patch puppet change for ndk r5c (deleted) — Splinter Review
0moz3 bump
Attachment #545954 - Attachment is obsolete: true
Attachment #546990 - Flags: review?(dustin)
Attachment #546199 - Attachment is obsolete: true
sanity build ran clean with /tools/android-ndk-r5c as the path *NOTE* that this is different than the path I was testing with earlier
Attachment #546200 - Attachment is obsolete: true
Attachment #546990 - Flags: review?(dustin) → review+
Comment on attachment 546990 [details] [diff] [review] puppet change for ndk r5c committed changeset 403:a9565d9d0b7f
Attachment #546990 - Flags: checked-in+
Attached patch change abi arm name in tools (obsolete) (deleted) — Splinter Review
Attachment #547169 - Flags: review?(aki)
Attached patch change abi arm name in buildbot-configs (obsolete) (deleted) — Splinter Review
Attachment #547170 - Flags: review?(aki)
Attached patch change abi arm name in buildbotcustom (obsolete) (deleted) — Splinter Review
Attachment #547171 - Flags: review?(aki)
Attachment #547169 - Flags: review?(aki) → review+
Comment on attachment 547169 [details] [diff] [review] change abi arm name in tools this is arm-linuxandroid-arm-linuxandroid.apk. We may be "fixing" the abi in the future: [11:56] <blassey> our package is named $(TARGET_OS)-$(TARGET_VENDOR) [11:56] <blassey> and both of those are arm-linuxandroid Let's search for 'android.apk'.
Attachment #547169 - Flags: review+ → review-
Comment on attachment 547171 [details] [diff] [review] change abi arm name in buildbotcustom >- packageFilename = '*arm.apk' #the arm.apk is to avoid >+ packageFilename = '*arm-linuxandroid.apk' #the arm.apk is to avoid > #unsigned/unaligned apks Could you update the comment too? >- signed_apk_url = '%s%s/%s/%s-%s.%s.eabi-arm.apk' % \ >+ signed_apk_url = '%s%s/%s/%s-%s.%s.eabi-arm-linuxandroid.apk' % \ > (candidatesDir, > branchConfig['platforms']['linux-android']['stage_platform'], > locale, releaseConfig['productName'], releaseConfig['version'], > locale) > change_source.append(UrlPoller( > branch=builderPrefix('android_post_signing'), > url=signed_apk_url, > pollInterval=60*10 > )) > if branchConfig['platforms']['linux-android'].get('multi_locale'): > locale = 'multi' >- signed_apk_url = '%s%s/%s/%s-%s.%s.eabi-arm.apk' % \ >+ signed_apk_url = '%s%s/%s/%s-%s.%s.eabi-arm-linuxandroid.apk' % \ We're going to have to hardcode the whole arm-linuxandroid-arm-linuxandroid here, or specify the android abi in configs.
Attachment #547171 - Flags: review?(aki) → review-
Comment on attachment 547170 [details] [diff] [review] change abi arm name in buildbot-configs Same here, search for android.apk except for the signature verification, which should use arm-linuxandroid-arm-linuxandroid.
Attachment #547170 - Flags: review?(aki) → review-
Attached patch change abi arm name in tools (obsolete) (deleted) — Splinter Review
Attachment #547169 - Attachment is obsolete: true
Attachment #547218 - Flags: review?(aki)
Attached patch change abi arm name in buildbot-configs (obsolete) (deleted) — Splinter Review
Attachment #547170 - Attachment is obsolete: true
Attachment #547221 - Flags: review?(aki)
Attached patch change abi arm name in buildbotcustom (obsolete) (deleted) — Splinter Review
Attachment #547171 - Attachment is obsolete: true
Attachment #547222 - Flags: review?(aki)
Attached patch change abi arm name in tools (deleted) — Splinter Review
Attachment #547218 - Attachment is obsolete: true
Attachment #547218 - Flags: review?(aki)
Attachment #547241 - Flags: review?(aki)
Attached patch change abi arm name in buildbot-configs (obsolete) (deleted) — Splinter Review
Attachment #547221 - Attachment is obsolete: true
Attachment #547221 - Flags: review?(aki)
Attachment #547242 - Flags: review?(aki)
Depends on: 672939
Attachment #547222 - Attachment is obsolete: true
Attachment #547222 - Flags: review?(aki)
Attachment #547245 - Flags: review?(aki)
Attachment #547241 - Flags: review?(aki) → review+
Comment on attachment 547245 [details] [diff] [review] change abi arm name in buildbotcustom whitespace only, but good whitespace fixes
Attachment #547245 - Flags: review?(aki) → review+
Attachment #547242 - Attachment is obsolete: true
Attachment #547242 - Flags: review?(aki)
Attachment #547251 - Flags: review?(aki)
Attachment #547251 - Flags: review?(aki) → review+
Comment on attachment 547251 [details] [diff] [review] change abi arm name in buildbot-configs committed changeset 4468:19a54ecbe245
Attachment #547251 - Flags: checked-in+
Comment on attachment 547245 [details] [diff] [review] change abi arm name in buildbotcustom committed changeset 1690:b6cf6d4e3e4d
Attachment #547245 - Flags: checked-in+
Comment on attachment 547241 [details] [diff] [review] change abi arm name in tools committed changeset 1661:aa05c56878a3
Attachment #547241 - Flags: checked-in+
builds went green on try, but talos is strait orange: http://tbpl.mozilla.org/?tree=Try&rev=07b2c38470e0 the following two snippets look relevant: 07-20 17:08:52.516 W/System.err( 1419): java.net.ConnectException: /10.250.48.202:20742 - Connection refused 07-20 17:08:52.516 W/System.err( 1419): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254) 07-20 17:08:52.516 W/System.err( 1419): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:219) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.startupSocket(Socket.java:781) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.tryAllAddresses(Socket.java:194) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.<init>(Socket.java:258) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.<init>(Socket.java:222) 07-20 17:08:52.516 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.RegisterTheDevice(DoCommand.java:2519) 07-20 17:08:52.516 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.SUTAgentAndroid$2.run(SUTAgentAndroid.java:631) 07-20 17:08:52.516 W/System.err( 1419): at java.lang.Thread.run(Thread.java:1096) 07-20 17:09:41.117 W/System.err( 1419): java.io.FileNotFoundException: /mnt/sdcard/tests/fennec-8.0a1.en-US.android-arm.apk (No such file or directory) 07-20 17:09:41.117 W/System.err( 1419): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method) 07-20 17:09:41.117 W/System.err( 1419): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152) 07-20 17:09:41.117 W/System.err( 1419): at java.io.FileInputStream.<init>(FileInputStream.java:82) 07-20 17:09:41.117 W/System.err( 1419): at java.io.FileInputStream.<init>(FileInputStream.java:134) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.HashFile(DoCommand.java:1480) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.processCommand(DoCommand.java:507) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.CmdWorkerThread.run(CmdWorkerThread.java:164) 07-20 17:10:31.377 W/RecognitionManagerService( 1017): no available voice recognition services found return code [0] ..... 07-20 17:08:52.516 W/System.err( 1419): java.net.ConnectException: /10.250.48.202:20742 - Connection refused 07-20 17:08:52.516 W/System.err( 1419): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254) 07-20 17:08:52.516 W/System.err( 1419): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:219) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.startupSocket(Socket.java:781) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.tryAllAddresses(Socket.java:194) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.<init>(Socket.java:258) 07-20 17:08:52.516 W/System.err( 1419): at java.net.Socket.<init>(Socket.java:222) 07-20 17:08:52.516 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.RegisterTheDevice(DoCommand.java:2519) 07-20 17:08:52.516 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.SUTAgentAndroid$2.run(SUTAgentAndroid.java:631) 07-20 17:08:52.516 W/System.err( 1419): at java.lang.Thread.run(Thread.java:1096) 07-20 17:09:41.117 W/System.err( 1419): java.io.FileNotFoundException: /mnt/sdcard/tests/fennec-8.0a1.en-US.android-arm.apk (No such file or directory) 07-20 17:09:41.117 W/System.err( 1419): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method) 07-20 17:09:41.117 W/System.err( 1419): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152) 07-20 17:09:41.117 W/System.err( 1419): at java.io.FileInputStream.<init>(FileInputStream.java:82) 07-20 17:09:41.117 W/System.err( 1419): at java.io.FileInputStream.<init>(FileInputStream.java:134) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.HashFile(DoCommand.java:1480) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.DoCommand.processCommand(DoCommand.java:507) 07-20 17:09:41.117 W/System.err( 1419): at com.mozilla.SUTAgentAndroid.service.CmdWorkerThread.run(CmdWorkerThread.java:164) 07-20 17:10:31.377 W/RecognitionManagerService( 1017): no available voice recognition services found return code [0]
Do we need a new SUT/Watcher for ndk5 ?
it sounds like we might need that.
I'll investigate this today.
A couple of observations. 1) I think the RegisterTheDevice call is not the issue, it is run in a thread and so probably is just letting us know that the failure is happening early in the reboot process. 2) It looks like the actual failure is happening when we are trying to install fennec. The path appears sane, so maybe there is a problem with the sdcard? or file permissions. 3) IIRC we call hashfile as part of copying files using the devicemanager.
(In reply to comment #58) > I'll investigate this today. any update on this Clint?
Attached file Clint's Mozconfig (deleted) —
(In reply to comment #60) > (In reply to comment #58) > > I'll investigate this today. > > any update on this Clint? No, I can't get a build to work. I am using the mozconfig that I've attached and I get this: Generating modules list in /home/ateam/projects/m-c/obj-opt-android/modules/freetype2/ftmodule.h... * module: truetype (Windows/Mac font files with extension *.ttf or *.ttc) * module: type1 (Postscript font files with extension *.pfa or *.pfb) * module: cff (OpenType fonts with extension *.otf) * module: cid (Postscript CID-keyed fonts, no known extension) * module: pfr (PFR/TrueDoc font files with extension *.pfr) * module: type42 (Type 42 font files with no known extension) * module: winfnt (Windows bitmap fonts with extension *.fnt or *.fon) * module: pcf (pcf bitmap fonts) * module: bdf (bdf bitmap fonts) * module: sfnt (helper module for TrueType & OpenType formats) * module: autofit (automatic hinting module) * module: pshinter (Postscript hinter module) * module: raster (monochrome bitmap renderer) * module: smooth (anti-aliased bitmap renderer) * module: smooth (anti-aliased bitmap renderer for LCDs) * module: smooth (anti-aliased bitmap renderer for vertical LCDs) * module: psaux (Postscript Type 1 & Type 2 helper module) * module: psnames (Postscript & Unicode Glyph name handling) done. /home/ateam/projects/m-c/modules/freetype2/builds/unix/configure '--disable-debug' '--enable-optimize' '--enable-application=mobile' '--target=arm-androideabi' '--with-endian=little' '--with-android-version=5' '--with-android-ndk=/home/ateam/tools/android-ndk-r5c' '--with-android-sdk=/home/ateam/tools/android-sdk-linux_86/platforms/android-8' '--with-android-tools=/home/ateam/tools/android-sdk-linux_86/tools' '--with-android-toolchain=/home/ateam/tools/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86' '--with-android-platform=/home/ateam/tools/android-ndk-r5c/platforms/android-5/arch-arm' '--with-system-zlib' '--enable-tests' '--host=arm-linux--android' '--disable-shared' '--with-pic=yes' '--cache-file=../.././config.cache' '--srcdir=/home/ateam/projects/m-c/modules/freetype2'/builds/unix configure: WARNING: unrecognized options: --disable-debug, --enable-optimize, --enable-application, --with-endian, --with-android-version, --with-android-ndk, --with-android-sdk, --with-android-tools, --with-android-toolchain, --with-android-platform, --with-system-zlib, --enable-tests configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. configure: loading cache ../.././config.cache checking build system type... i686-pc-linux-gnu checking host system type... Invalid configuration `arm-linux--android': machine `arm-linux-' not recognized configure: error: /bin/bash /home/ateam/projects/m-c/modules/freetype2/builds/unix/config.sub arm-linux--android failed make[3]: *** [setup] Error 1 make[3]: Leaving directory `/home/ateam/projects/m-c/obj-opt-android/modules/freetype2' configure: error: /home/ateam/projects/m-c/modules/freetype2/configure failed for modules/freetype2 *** Fix above errors and then restart with "make -f client.mk build" make[2]: *** [configure] Error 1 make[2]: Leaving directory `/home/ateam/projects/m-c' make[1]: *** [/home/ateam/projects/m-c/obj-opt-android/Makefile] Error 2 make[1]: Leaving directory `/home/ateam/projects/m-c' make: *** [build] Error 2
Went and looked on try and found an issue with my mozconfig: http://hg.mozilla.org/try/rev/07b2c38470e0. Fixed that now getting build error from android builder's debug certificate expiration. Probably just need to update the SDK.
Comment on attachment 548342 [details] Clint's Mozconfig > ># ssltunnel can't build because the ndk doesn't have string, vector, or algorithm headers >ac_add_options --enable-tests >CC="ccache /usr/bin/gcc" >CXX="ccache /usr/bin/g++" > Is this still an issue? NDK should have those headers now. Probably not related to this bug though.
(In reply to comment #63) > Comment on attachment 548342 [details] > Is this still an issue? NDK should have those headers now. Probably not > related to this bug though. shouldn't be an issue any longer.
(In reply to comment #60) > (In reply to comment #58) > > I'll investigate this today. > > any update on this Clint? Yeah, sorry. Had some build issues because the mozconfig on this bug is not the same as the mozconfig in the try build. I should have checked that sooner. for posterity's sake change the --target line to be arm-linux-androideabi. So, I have a ndk5 based fennec build, running it with the existing agent that is running in the tegra automation, and I can run talos and mochitest just fine. I'm thinking our failure here is in the setup code that is run by buildbot in order to pave the way for running Talos. Because in the logs above from try, it doesn't look like Talos ever successfully launches the browser, so that makes me think that we're not setting everything up. My setup here I did by hand, so for my next trick, I'll attempt to use the sut_tools and do their setup machinations they way they do in the log and see if I can find a place where things come off the rails.
The only build/tools/sut_tool library being used is installApp.py, so I tested that, and it works fine. Found a small bug which is unrelated to this issue, filed bug 674309 on that. So, I'm at a loss. Blassey, you mentioned on IRC last night that you were going to re-run the builds on try. Do you have any recent logs from those builds that I could review? Everything I'm doing here locally seems to work without any issue. One difference I can't test locally is that I'm running a "fennec_unofficial" build here (signed with my dev key) whereas the automation is running with the Nightly signing. Other than that, I'm coming up short on explanations for this behavior.
I just retriggered the pervious run, so same link as in comment 55
Thanks blassey, With the builds it's now pretty clear what's going on. The mozconfig used in the try run has the "official branding" links. That will generate a "org.mozilla.firefox" build. However, our testing infrastructure expects to control the mozconfig for nightly builds to not include the branding information and without the branding information a "org.mozilla.fennec" build is produced. So right now we're installing org.mozilla.firefox on the system and the automation is trying to run something called "org.mozilla.fennec" which isn't installed and therefore, the browser fails to start. Removing the official branding bits of the mozconfig (from the mozconfig being used on try in comment 55) should fix this issue.
Thanks Clint. Aki, given that, let's push the mozconfig changes to all branches except mozilla-aurora and mozilla-beta.
Attached patch enable ndk5 for our mozconfigs (deleted) — Splinter Review
Attachment #548598 - Flags: feedback?(aki)
Attachment #548598 - Flags: feedback?(aki) → feedback+
Comment on attachment 548598 [details] [diff] [review] enable ndk5 for our mozconfigs aki=r+ given verbally committed changeset 4498:7283fc18044f
Attachment #548598 - Flags: feedback+
ndk-r5c is now live: [production] moz:buildbot-configs bear$ hg transplant 7283fc18044f applying 7283fc18044f 7283fc18044f transplanted to f784c1034826
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Blocks: 674662
Depends on: 674837
Depends on: 674855
Depends on: 674910
hi, I am trying to compile fennec(fennec-6.0b4.source) for android which I downloaded from https://ftp.mozilla.org/pub/mozilla.org/mobile/releases/latest-alpha/source/ i am using google android ndk6 version and android-sdk-linux_x86, compilation fails and errors shown on the terminal is ../../../config/./nsinstall: cannot make symbolic link /home/akarsh/android-ndk-r5c/samples/mozilla-beta/objdir-droid/dist/include/nspr/md: File exists make[9]: *** [export] Error 1 make[9]: Leaving directory `/home/akarsh/android-ndk-r5c/samples/mozilla-beta/objdir-droid/nsprpub/pr/include/md' make[8]: *** [export] Error 2 make[8]: Leaving directory `/home/akarsh/android-ndk-r5c/samples/mozilla-beta/objdir-droid/nsprpub/pr/include' make[7]: *** [export] Error 2 make[7]: Leaving directory `/home/akarsh/android-ndk-r5c/samples/mozilla-beta/objdir-droid/nsprpub/pr' make[6]: *** [export] Error 2 make[6]: Leaving directory `/home/akarsh/android-ndk-r5c/samples/mozilla-beta/objdir-droid/nsprpub' make[5]: *** [libs] Error 2 This could be the same issue mentioned in the above comments, i have also tried to compile on ndk version r5 and r5c. mozconfig file has following options. ac_add_options --with-android-ndk="/home/akarsh/android-ndk-r5c" ac_add_options --with-android-sdk="/home/akarsh/android-sdk-linux_86/platforms/android-8" ac_add_options --with-android-version=5 ac_add_options --with-android-tools="/home/akarsh/android-sdk-linux_86/tools" ac_add_options --with-android-toolchain="/home/akarsh/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86" ac_add_options --with-android-platform="/home/akarsh/android-ndk-r5c/platforms/android-5/arch-arm" ac_add_options --enable-application=mobile ac_add_options --target=arm-linux-androideabi ac_add_options --with-endian=little ac_add_options --with-ccache ac_add_options --disable-debug mk_add_options MOZ_OBJDIR=./objdir-droid mk_add_options MOZ_MAKE_FLAGS="-j9 -s" Any help in resolving this issue is appreciated akarsh.sidhartha@wipro.com
Please ask your question at the mozilla.dev.builds newsgroup.
Blocks: 679468
Blocks: 689666
Depends on: 712275
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: