tools_r20 revision?

269 views
Skip to first unread message

Manfred Moser

unread,
Jul 3, 2012, 3:35:45 PM7/3/12
to adt...@googlegroups.com
Hi!

I would like to push r20 of the tools into the Central repo.. in order
to do so I will build from source and create the necessary bundles
just like I did last time.

However I noticed that the tools_r20 branch still got commits
yesterday so I am wondering if it is ready at this stage or if there
are more changes coming even though it is release in the update
center.

https://android-review.googlesource.com/#/q/status:merged+project:platform/sdk+branch:tools_r20,n,z

In any case... what git revision or branch should I check out in order
to get the same artifacts as available from the update center (since I
am doing a binary diff before uploading..) ?

Thanks

manfred

Tor Norbye

unread,
Jul 3, 2012, 3:39:01 PM7/3/12
to adt...@googlegroups.com
We're about to put out a 20.0.1 with some key bug fixes.

Manfred Moser

unread,
Jul 3, 2012, 3:41:43 PM7/3/12
to adt...@googlegroups.com
Okay.. I will wait for that. Is it ok to use version 20.0.1 or should
I use r20.0.1 ..

hahah.. you should really adapt http://semver.org/

manfred

Xavier Ducrohet

unread,
Jul 3, 2012, 5:16:06 PM7/3/12
to adt...@googlegroups.com
It's never been "r9". It's always been a single integer. We do use r9
in the doc as simply "9" seemed less clear that it was a revision
number.

We extended it in 20 to support full version number (20.0.1 for
instance). We'll probably drop the r in the docs in favor of 20.0
(which was already used for ADT)
--
Xavier Ducrohet
Android SDK Tech Lead
Google Inc.
http://developer.android.com | http://tools.android.com

Please do not send me questions directly. Thanks!

Manfred Moser

unread,
Jul 3, 2012, 5:21:46 PM7/3/12
to adt...@googlegroups.com
Okay, great. I will use 20.0.1 then.. looking forward to get the
commit id and start my build ;-)

manfred

TomÔŔ ProchÔzka

unread,
Jul 19, 2012, 9:36:28 AM7/19/12
to adt...@googlegroups.com
So. It looks that 20.0.1 was release so now is possible make your build ;-)

Dne Ćŗterý, 3. července 2012 23:21:46 UTC+2 Manfred Moser napsal(a):

Manfred Moser

unread,
Jul 23, 2012, 7:34:45 PM7/23/12
to adt...@googlegroups.com
Is there an official announcement or something in the works. Maybe
with details about the revision even ;-) or do I have to go through
the git log.

manfred

Tor Norbye

unread,
Jul 23, 2012, 7:41:27 PM7/23/12
to adt...@googlegroups.com
It was announced as a minor bullet in this blog post:

We're going to release 20.0.2 asap.

For revisions, you can see the CLs getting cherrypicked into ADT 20.x here:

-- Tor

Manfred Moser

unread,
Jul 23, 2012, 7:44:35 PM7/23/12
to adt...@googlegroups.com
Cool.. could you add the revision number to
http://developer.android.com/tools/sdk/tools-notes.html in the future
maybe..

manfred

Manfred Moser

unread,
Jul 23, 2012, 7:45:37 PM7/23/12
to adt...@googlegroups.com
And maybe also add new releases and revisions of the SDK on the actual
tools site like

http://tools.android.com/

;-)

manfred

Manfred Moser

unread,
Aug 23, 2012, 1:34:04 AM8/23/12
to adt...@googlegroups.com
Hi!

I am trying to build v20.0.2 of the sdk now so I can push the
artifacts into central.

I have done the usual

repo sync

Since Tor wrote
I then check out that revision with
cd sdk
git checkout 3a68d628c94fad013e31db3daf42fc5172d9ab56

and end up in detached head mode for that branch (which should be fine)

Then running
cd ..
. build/envsetup.sh
lunch sdk-eng
make sdk

unfortunately fails with

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.2
TARGET_PRODUCT=sdk
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=darwin
HOST_BUILD_TYPE=release
BUILD_ID=ICS_MR0
============================================
build/core/base_rules.mk:166: ***
sdk/emulator/opengl/host/tools/emugen: MODULE.HOST.EXECUTABLES.emugen
already defined by
development/tools/emulator/opengl/host/tools/emugen. Stop.

Any idea what I am missing? Do I need to do some sort of

repo forall -c git checkout tools_r20

or so and build the whole thing?

I really only want to build the sdk though and dont even care about
the emulator for that matter.

Any hints?

manfred

Raphaƫl Moll

unread,
Aug 23, 2012, 2:24:48 AM8/23/12
to adt...@googlegroups.com
The error you got means you have two Android.mk both defining the same module name. In other words your sdk.git isn't in sync with the other repos.

The proper way to set repo to a certain build is to download a repo manifest.xml file (which is basically all the sha1s of all the repo modules) and then let repo do the sync for you. I don't know where to find these manifests externally for AOSP.

R/

Manfred Moser

unread,
Aug 23, 2012, 2:38:29 AM8/23/12
to adt...@googlegroups.com
Me neither... btw. I noticed that there is 20.0.3 available as well so
the git rev for that would be good too.

Manfred Moser

unread,
Aug 23, 2012, 2:42:31 AM8/23/12
to adt...@googlegroups.com
Hm .. I just want to build the 20.0.3 version of the sdk and at this
stage I broke by whole repo setup so I am back to

repo init -u https://android.googlesource.com/platform/manifest
repo sync

and wonder what next

manfred

Michael Wright

unread,
Aug 23, 2012, 11:09:32 AM8/23/12
to adt...@googlegroups.com
Since tools doesn't create manifest branches every time they cut a release, you'll have to do a bit of git fiddling in order to get the other branches in the state you want.

Now they you have it synced, run from the root of the android checkout:

repo forall -c "git checkout $(git rev-list --before=\"Wed Jul 18 15:43:59 2012 -0700\" --max-count=1 --abbrev-commit HEAD)" && cd sdk && git checkoutĀ 3a68d628c94fad013e31db3daf42fc5172d9ab56

You should be able to build tools from there.

Hope this helps,

Michael

Xavier Ducrohet

unread,
Aug 23, 2012, 1:19:13 PM8/23/12
to adt...@googlegroups.com
thanks Michael!

Manfred, the error you were getting was because we moved something
from development.git to sdk.git. Since you only changed sdk.git to a
certain point in time you found yourself in a situation were that
module was in both git project. As raphael said, the makefiles don't
like that.

Manfred Moser

unread,
Aug 23, 2012, 3:28:42 PM8/23/12
to adt...@googlegroups.com
I was able to build the sdk off a straight repo sync but when I try running

repo forall -c "git checkout $(git rev-list --before=\"Wed Jul 18
15:43:59 2012 -0700\" --max-count=1 --abbrev-commit HEAD)"

I first get

fatal: Not a git repository (or any parent up to mount parent /Volumes)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

and if I set that property I still get the same failure.

What now?

I tried just leaving master in place for all repos and checking out
the rev in sdk but that fails as a build.

manfred

Michael Wright

unread,
Aug 23, 2012, 3:41:30 PM8/23/12
to adt...@googlegroups.com
Apologies, I won't have a checkout handy to test this against until later tonight. I believe the issue is that I missed an escape on the substitution, so it's running while still in the root of the checkout rather than in each git repo. Try:

repo forall -c "git checkout \$(git rev-list --before=\"Wed Jul 18 15:43:59 2012 -0700\" --max-count=1 --abbrev-commit HEAD)" && cd sdk && git checkoutĀ 3a68d628c94fad013e31db3daf42fc5172d9ab56

Michael

Manfred Moser

unread,
Aug 23, 2012, 4:24:43 PM8/23/12
to adt...@googlegroups.com
Awesome Michael. That worked in terms of the checkout. Build the sdk with

source build/ensetup.sh
lunch sdk-eng
make sdk

now throws this


make sdk
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.0.9.99.999.9999.99999
TARGET_PRODUCT=sdk
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-11.4.0-x86_64-i386-64bit
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
OUT_DIR=out
============================================
Checking build tools versions...
build/core/main.mk:165: ****************************************
build/core/main.mk:166: * gcc is linked to llvm-gcc which will *
build/core/main.mk:167: * not create a useable emulator. *
build/core/main.mk:168: ****************************************
build/core/base_rules.mk:79: *** Module name: bsdiff
build/core/base_rules.mk:80: *** Makefile location: external/bsdiff
build/core/base_rules.mk:81: *
build/core/base_rules.mk:82: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:83: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:84: *
build/core/base_rules.mk:85: * optional, debug, eng, tests, samples
build/core/base_rules.mk:86: *
build/core/base_rules.mk:87: * If the module is expected to be in all builds
build/core/base_rules.mk:88: * of a product, then it should use the
build/core/base_rules.mk:89: * "optional" tag:
build/core/base_rules.mk:90: *
build/core/base_rules.mk:91: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:92: * Android.mk for the affected module, and add
build/core/base_rules.mk:93: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:94: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:95: * makefile(s) where it's necessary, if
build/core/base_rules.mk:96: * appropriate.
build/core/base_rules.mk:97: *
build/core/base_rules.mk:98: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:99: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:100: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:101: * build/target/product/core.mk
build/core/base_rules.mk:102: *
build/core/base_rules.mk:103: *** user tag detected on new module -
user tags are only supported on legacy modules. Stop.

Once I follow these steps I get the same for bspatch ... which does
not go away..

Any hints how to get this all to build.. all I want is to build the
sdk artifacts like lint, annotations, ddmlib and so on..

manfred

Xavier Ducrohet

unread,
Aug 23, 2012, 9:35:25 PM8/23/12
to adt...@googlegroups.com
I was looking at your earlier email and you said you did:
you should do -b tools_b20.

In your current tree just do
repo init -b tools_r20
repo sync

then build. This is basically what we released from (at least from the
projects that you care about)

Manfred Moser

unread,
Aug 24, 2012, 6:39:47 PM8/24/12
to adt...@googlegroups.com
Argh... seems like upgrading Xcode was a mistake..

I get
build/core/combo/HOST_darwin-x86.mk:51: ****************************************
build/core/combo/HOST_darwin-x86.mk:52: * gcc is linked to llvm-gcc which will *
build/core/combo/HOST_darwin-x86.mk:53: * not create a useable emulator. *
build/core/combo/HOST_darwin-x86.mk:54: ****************************************

and then later

Header: out/target/product/generic/obj/include/libwpa_client/wpa_ctrl.h
host C++: FileCheck <= external/llvm/utils/FileCheck/FileCheck.cpp
<command-line>: warning: "__STDC_LIMIT_MACROS" redefined
<command-line>: warning: this is the location of the previous definition
<command-line>: warning: "__STDC_CONSTANT_MACROS" redefined
<command-line>: warning: this is the location of the previous definition
In file included from external/llvm/include/llvm/ADT/OwningPtr.h:18,
from external/llvm/utils/FileCheck/FileCheck.cpp:19:
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/cstddef:50:28:
error: bits/c++config.h: No such file or directory
In file included from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_algobase.h:70,
from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/algorithm:65,
from external/llvm/include/llvm/ADT/SmallVector.h:18,
from external/llvm/include/llvm/Support/CommandLine.h:25,
from external/llvm/utils/FileCheck/FileCheck.cpp:20:
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/iosfwd:45:29:
error: bits/c++locale.h: No such file or directory
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/iosfwd:46:25:
error: bits/c++io.h: No such file or directory
In file included from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/memory:54,
from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_tempbuf.h:65,
from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_algo.h:66,
from
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/algorithm:68,
from external/llvm/include/llvm/ADT/SmallVector.h:18,
from external/llvm/include/llvm/Support/CommandLine.h:25,

and lots more.

I have installed /Developer/SDKs/MacOSX10.6.sdk from an old 3.2 xcode
installer as described on stackoverflow but this fails out of the box.

Manfred

Al Sutton

unread,
Aug 25, 2012, 6:37:43 AM8/25/12
to adt...@googlegroups.com
Welcome to Xcode 4.

There have been some checkins to improve compatibility, but Xcode 4 has some fundamental problems which mean the creation of an emulator isn't possible using it.

The AOSP master branch has some compatibility fixes for it, but if you're looking to build a complete toolset with emulator using Xcode 3.2 is currently the only way you can do it.

Al.
--
Al Sutton - Funky Android Ltd.
(www.funkyandroid.com)

T: @alsutton
G+: http://goo.gl/ymi9b

The views expressed in this email are those of the author and not necessarily those of Funky Android Limited, it's associates, or it's subsidiaries.
Reply all
Reply to author
Forward
0 new messages