AOSP eclair-based master tree works on ADP

90 views
Skip to first unread message

Jean-Baptiste Queru

unread,
Nov 15, 2009, 8:56:08 PM11/15/09
to android-...@googlegroups.com
I took care of a pair of low-hanging fruits, such that post-merge
master seems to build and start on dream.

Very quick testing suggests that audio, telephony, cell data and wifi
data work. Clearly camera isn't working, since I had to use the stub
camera library (the 1.6 camera library doesn't work at all on
eclair-based systems).

I've made the same changes on the sapphire side as on the dream side,
but I haven't tested them.

I'll be refining this during my copious spare time. but this should be
enough for people to start playing with eclair features on actual
hardware.

Enjoy!
JBQ

--
Jean-Baptiste M. "JBQ" Queru
Software Engineer, Android Open-Source Project, Google.

Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.

Jey Michael

unread,
Nov 16, 2009, 2:48:45 AM11/16/09
to android-...@googlegroups.com
Anything changed on bison-dependency/webkit ?
sapphire build seems to have bison issues with building libwebcore.so


Jeys-MacBook-Pro:mydroid $ which bison
/opt/local/bin/bison
Jeys-MacBook-Pro:mydroid $ bison -Version
bison (GNU Bison) 2.4.1

The failing build log (lunch aosp_sapphire_us-eng)

build/core/copy_headers.mk:15: warning: overriding commands for target
`out/target/product/sapphire-open/obj/include/libpv/getactualaacconfig.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for
target `out/target/product/sapphire-open/obj/include/libpv/getactualaacconfig.h'
/bin/bash: line 0: cd: development/tools/layoutopt/app/src/resources:
No such file or directory
No private recovery resources for TARGET_DEVICE sapphire-open
target SharedLib: libwebcore
(out/target/product/sapphire-open/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-g++
-nostdlib -Wl,-soname,libwebcore.so -Wl,-T,build/core/armelf.xsc
-Wl,--gc-sections -Wl,-shared,-Bsymbolic
-Lout/target/product/sapphire-open/obj/lib
out/target/product/sapphire-open/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebKit/android/jni/WebCoreJniOnLoad.o
-Wl,--whole-archive -Wl,--no-whole-archive
out/target/product/sapphire-open/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a
out/target/product/sapphire-open/obj/STATIC_LIBRARIES/libjs_intermediates/libjs.a
out/target/product/sapphire-open/obj/STATIC_LIBRARIES/libxml2_intermediates/libxml2.a
-landroid_runtime -lnativehelper -lsqlite -lskia -lutils -lui -llog
-lcutils -licuuc -licudata -licui18n -lmedia -ldl -lc -lstdc++ -lm -o
out/target/product/sapphire-open/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so
-fvisibility=hidden -Wl,--no-undefined
/Volumes/enc/mydroid/prebuilt/darwin-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/interwork/libgcc.a
out/target/product/sapphire-open/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(CSSParser.o):
In function `WebCore::CSSParser::lex(void*)':
/Volumes/enc/mydroid/external/webkit/WebCore/css/CSSParser.cpp:4533:
undefined reference to `WebCore::CSSParser::lex()'
collect2: ld returned 1 exit status
make: *** [out/target/product/sapphire-open/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so]
Error 1

This is on master.
-Jey
> --
>
> You received this message because you are subscribed to the Google Groups "android-platform" group.
> To post to this group, send email to android-...@googlegroups.com.
> To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/android-platform?hl=.
>
>
>

Abdul Mateen

unread,
Nov 16, 2009, 4:31:55 AM11/16/09
to android-...@googlegroups.com

Why camera module used in 1.6 can not be used in 2.0? Kernel differences ?

Joshua D

unread,
Nov 16, 2009, 7:31:04 AM11/16/09
to android-platform
The errors I'm getting when building on Eclair seem very similar to
yours. (thus, google (search) turns up this thread as the only result)
Full log:

jd@OzLap01:~/mydroid-eclair$ make
============================================
PLATFORM_VERSION_CODENAME=Eclair
PLATFORM_VERSION=Eclair
TARGET_PRODUCT=aosp_sapphire_us
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
build/core/copy_headers.mk:15: warning: overriding commands for target
`out/target/product/sapphire-open/obj/include/libpv/
getactualaacconfig.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for
target `out/target/product/sapphire-open/obj/include/libpv/
getactualaacconfig.h'
/bin/bash: line 0: cd: development/tools/layoutopt/app/src/resources:
No such file or directory
No private recovery resources for TARGET_DEVICE sapphire-open
Install: out/target/product/sapphire-open/system/app/Mms.apk
target Executable: mediaserver (out/target/product/sapphire-open/obj/
EXECUTABLES/mediaserver_intermediates/LINKED/mediaserver)
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Mutex::Mutex()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Mutex::~Mutex()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Condition::~Condition()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Mutex::unlock()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Condition::wait(android::Mutex&)'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Condition::signal()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Mutex::lock()'
out/target/product/sapphire-open/obj/lib/libcamera.so: undefined
reference to `android::Condition::Condition()'
collect2: ld returned 1 exit status
make: *** [out/target/product/sapphire-open/obj/EXECUTABLES/
mediaserver_intermediates/LINKED/mediaserver] Error 1

Jean-Baptiste Queru

unread,
Nov 16, 2009, 7:59:53 AM11/16/09
to android-...@googlegroups.com
The Android user-space is very independent of the actual kernel (at
least up to the point where you start fine-tuning), and in fact we're
currently using the 1.6 kernel in the master build.

There is a build-time dependency on some 1.6 threading platform
classes that were re-written in 2.0 in a way that is source-compatible
but not binary-compatible. I had spent some time with another
engineering looking for a solution for those, but it turns out that
the 1.6 version also depends on the 1.6 graphics architecture, and
that area has changed significantly in 2.0, and when I asked the
manager of the media team if there was a chance of writing a
1.6-compatible shim on top of 2.0 I could see a bottomless pit of
despair in his eyes.

For now, we'll do without the camera. My best guess is that the
hardware-dependent features that people are most likely to contribute
to are wifi and bluetooth (can someone test whether bluetooth works? I
didn't try it myself).

JBQ

Jean-Baptiste Queru

unread,
Nov 16, 2009, 8:12:08 AM11/16/09
to android-...@googlegroups.com
Yes, that's the build-time issue when trying to use the 1.6
libcamera.so binary in eclair.

I've included a workaround for that in the master tree, and since it
affects aosp-specific parts of the tree I'll replicate them over to
eclair.

JBQ

Joshua D

unread,
Nov 16, 2009, 8:35:09 AM11/16/09
to android-platform
Thanks Jean, it's much appreciated.
Is there an ETA?
> > For more options, visit this group athttp://groups.google.com/group/android-platform?hl=.

Jean-Baptiste Queru

unread,
Nov 16, 2009, 8:43:50 AM11/16/09
to android-...@googlegroups.com
Give me a few hours - or you can locally cherry-pick the the changes
yourself from htc/dream-open, htc/sapphire-open and
qcom/proprietary-open.

(something like "repo forall vendor/htc/dream-open
vendor/htc/sapphire-open vendor/qcom/proprietary-open -c git
cherry-pick korg/master" might do the trick).

JBQ
> For more options, visit this group at http://groups.google.com/group/android-platform?hl=.

Joshua D

unread,
Nov 16, 2009, 8:57:36 AM11/16/09
to android-platform
Thanks (again) Jean, you're bloody awesome!
I still can't move around GIT well, so thanks for the hint :-)

All is working now (time to continue waiting for the make to happen!)

Abdul Mateen

unread,
Nov 16, 2009, 9:36:41 AM11/16/09
to android-...@googlegroups.com
Hi,
somehow , can not we without the media team produce the libcamera.so for 2.0 ? by somehow reverse engineering?

Jean-Baptiste Queru

unread,
Nov 16, 2009, 10:21:40 AM11/16/09
to android-...@googlegroups.com
This'd really be a question for Qualcomm. From where I sit, this
sounds like a giant waste of time and I'd rather have people
contribute to areas that are open-source.

JBQ

Abdul Mateen

unread,
Nov 16, 2009, 10:31:38 AM11/16/09
to android-...@googlegroups.com
Only some device driver programmer can contribute in this area, I think the driver needs to be re-written for 2.0. Here another questions arises, why there was a need to change the things working in 1.6 ( graphics architecture, threading etc) in 2.0?

Abdul Mateen

unread,
Nov 16, 2009, 10:33:38 AM11/16/09
to android-...@googlegroups.com
and mostly importantly why things are made source-compatible and why not binary compatible.

Jean-Baptiste Queru

unread,
Nov 16, 2009, 10:35:21 AM11/16/09
to android-...@googlegroups.com
Those were changed for better performance and to support new hardware
features on the current crop of devices.

Maintaining compatibility in the area of graphics was simply impractical.

JBQ

Disconnect

unread,
Nov 16, 2009, 10:37:08 AM11/16/09
to android-...@googlegroups.com
Because the developers working on those parts of the system aren't doing so with any thought towards open source. (Similar reasons are behind the lack of commit messages - when you say "fix the bug verizon found in multitouch zooming"  instead of "close vendor bug #182 - multitouch zoom goes wild" it becomes impossible to publish the commit information w/o manual scrubbing.)

Jean-Baptiste Queru

unread,
Nov 16, 2009, 10:42:10 AM11/16/09
to android-...@googlegroups.com
Actually, the real issue is that the code relies on some IP that
prevents from open-sourcing the code in question. This is an issue of
lawyers, the engineers who actually write the code have nothing to do
with such decisions.

JBQ

Disconnect

unread,
Nov 16, 2009, 10:48:17 AM11/16/09
to android-...@googlegroups.com
Fair enough. (Its somewhat a black box, for obvious reasons, and I figured the reasoning was the same as it was with the previous releases.)

Its funny that Android has such frequent problems with taking ip-restricted code into what is nominally supposed to be an open source project.

Christopher Tate

unread,
Nov 16, 2009, 10:52:44 AM11/16/09
to android-...@googlegroups.com
It's a " where the rubber-meets-the-road" problem. All of this
problematic binary code that we're talking about isn't really in
Android per se; it's the linkage between Android and vendor-specific
hardware. If the vendors don't publish source code for controlling
the hardware -- i.e. the nearly-universal case -- it makes the whole
open-source process a lot more complicated.

As you've of course already noticed. :)

-- chris tate

Jey Michael

unread,
Nov 16, 2009, 12:51:20 PM11/16/09
to android-...@googlegroups.com
Mine is different. It is on the parser code.

-Jey

Chad Fawcett

unread,
Nov 16, 2009, 1:17:19 PM11/16/09
to android-...@googlegroups.com
Try a "touch external/webkit/WebCore/css/tokenizer.flex" and make again to ensure that flex processes the file.

 -Chad

Jey Michael

unread,
Nov 16, 2009, 3:28:53 PM11/16/09
to android-...@googlegroups.com
Nope. Same error.

-Jey

Armando Ceniceros

unread,
Nov 17, 2009, 10:56:21 AM11/17/09
to android-...@googlegroups.com

I have two issues right now that I hope somebody can help me resolve; akmd, though included, is not working (it worked fine on the emulator port I made before), and camera, I know it doesn't work, but I changed the manifest to display the gallery activity in launcher instead (hiding away camera and camcorder, i wanted to have at least gallery functionality), but the activity force-closes, again, in the emulator port although cameras didnt work gallery did. I tested using the gallery and camera.so from 1.6 and it worked, but i want to use the one from 2.0 by default

Jey Michael

unread,
Nov 18, 2009, 12:21:11 AM11/18/09
to android-...@googlegroups.com
Is it just me, or has anyone successfully built AOSP master for sapphire?

thanks,
-Jey

Jey Michael

unread,
Nov 18, 2009, 1:39:45 AM11/18/09
to android-...@googlegroups.com
Solution: (AOSP-with-eclair on sapphire)
Moved up from "flex 2.5.33" to "flex 2.5.35"

cd prebuilt/darwin-x86/flex/
mv flex-2.5.4a flex-2.5.4a-DIS
ln -s /opt/local/bin/flex flex-2.5.4a
[Ref: http://code.google.com/p/android/issues/detail?id=4485]

Build & flashing succeeds.
Radio is up.
Call works fine.
Data connection works fine.
WiFi works okay.

-Jey

Chad Fawcett

unread,
Nov 18, 2009, 7:46:45 AM11/18/09
to android-...@googlegroups.com
Weird, I submitted a patch that updated that binary to an i386 version to be compatible with 10.6 (it was ppc before, requiring rosetta). The new one was tested on 10.5.x as well, but it definitely seems the cause because that issue was filed a couple days after it was merged in.  I'll see if I can find what's breaking it on 10.5 when I have a chance.

I wonder, does the darwin build even really need a prebuilt old version of flex anymore?

 -Chad



--

You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=.


Chad Fawcett

unread,
Nov 18, 2009, 10:04:41 AM11/18/09
to android-...@googlegroups.com
It looks like -mmacosx-version-min=10.4  was missing from the final compile/link flags for the latest prebuilt, causing the binary incompatibilities. I'll submit a new patch.

dwegmull

unread,
Nov 18, 2009, 6:17:17 PM11/18/09
to android-platform
Hi,
I'm trying to build targeting ADP1.
The build fails with the following message(s):

============================================
PLATFORM_VERSION_CODENAME=Eclair
PLATFORM_VERSION=Eclair
TARGET_PRODUCT=aosp_dream_us
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=darwin
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
build/core/copy_headers.mk:15: warning: overriding commands for target
`out/target/product/dream-open/obj/include/libpv/getactualaacconfig.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for
target `out/target/product/dream-open/obj/include/libpv/
getactualaacconfig.h'
/bin/bash: line 0: cd: development/tools/layoutopt/app/src/resources:
No such file or directory
No private recovery resources for TARGET_DEVICE dream-open
target Java: framework (out/target/common/obj/JAVA_LIBRARIES/
framework_intermediates/classes)
target SharedLib: libwebcore (out/target/product/dream-open/obj/
SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
classes-full-debug.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
classes.jar
target Dex: framework
/Volumes/Disk_Image/prebuilt/darwin-x86/toolchain/arm-eabi-4.4.0/
bin/../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/bin/ld: final link
failed: No space left on device
collect2: ld returned 1 exit status
make: *** [out/target/product/dream-open/obj/SHARED_LIBRARIES/
libwebcore_intermediates/LINKED/libwebcore.so] Error 1
make: *** Waiting for unfinished jobs....

To me, it looks like the resulting image is bigger than the available
memory in the ADP...
I'm quite new at this so I would appreciate any help. Thanks!

Greetings,
David Wegmuller

Jey Michael

unread,
Nov 20, 2009, 1:26:35 PM11/20/09
to android-...@googlegroups.com
In your shell, Do a "df /Volumes/Disk_Image" and check the result.

-Jey

Dario Laverde

unread,
Nov 20, 2009, 3:52:11 PM11/20/09
to android-...@googlegroups.com
I just want to add that the recommended 6G for the build volume is probably not enough anymore, I use 16G (mainly to build/compare master and latest release) and managed to fit both builds in that space with only 4G remaining.

-Dario

Travis B

unread,
Nov 20, 2009, 2:10:43 PM11/20/09
to android-...@googlegroups.com

This error usually means that you are running out of space on the computer you're compiling on.  As the other poster said, you are best to run a 'df' on your system and see how much free space is left.

David, Jr Roth

unread,
Nov 20, 2009, 10:51:50 AM11/20/09
to android-...@googlegroups.com

Looks like you ran out of space on your hard drive. I could be wrong though. Just a thought.

Reply all
Reply to author
Forward
0 new messages