Hello:
I'm starting an Android peripheral project that is going to require some
additions to the OS source. As such, Linaro Android looks like an excellent
solution going forward.
I'm having trouble getting started with the linaro_android_build_cmds.sh build
scrip available at:
https://android-build.linaro.org/builds/~linaro-android/arndale-octa-linaro/
When running the script, I hit an error (below) that I'm assuming has
something to do with the toolchain, specifically:
error: 'replace' is not a member of 'std'
I've been unable to find any mention of this error in Linaro builds
on-line. Can you provide any insight to help me get started?
Thanks in advance for your help,
-Clifton Forlines
art/dalvikvm/dalvikvm.cc: In function 'int art::InvokeMain(JNIEnv*,
char**)':
art/dalvikvm/dalvikvm.cc:72:3: error: 'replace' is not a member of 'std'
host C++: dex2oat <= art/dex2oat/dex2oat.cc
make: ***
[out/host/linux-x86/obj/EXECUTABLES/dalvikvm_intermediates/dalvikvm..o]
Error 1
make: *** Waiting for unfinished jobs....
Hi Folks, I'm starting a new project, based on android and supported by
an Arndale. I’ve been trying to compile android and I’ve haven’t got
very far, unfortunately. I was hoping someone could give me a clue as to
what I’m doing wrong over here. I'm running ubuntu 13.04 and have
successfully compiled stock android (not Linaro) with this environment.
Here's what I'm doing:
###Exports used
export MANIFEST_REPO=git://android.git.linaro.org/platform/manifest.git
export MANIFEST_BRANCH=linaro_android_4.4.2
export TARGET_PRODUCT=full_arndale
export MANIFEST_FILENAME=default.xml
export REPO_GROUPS="common,arndale"
export TARGET_SIMULATOR=false
export TOOLCHAIN_TRIPLET=arm-linux-androideabi
export
TARGET_TOOLS_PREFIX=/home/jotacosta/tactual/linaro_android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8-linaro/bin/arm-linux-androideabi-
###repo is already installed.
> ./repo init -u ${MANIFEST_REPO} -b ${MANIFEST_BRANCH} -m
${MANIFEST_FILENAME} -g ${REPO_GROUPS}
> ./repo sync
> make TARGET_PRODUCT=${TARGET_PRODUCT}
TARGET_TOOLS_PREFIX=${TARGET_TOOLS_PREFIX} boottarball systemtarball
userdatatarball
It compiles until it gives the following error:
"""
make[1]: Leaving directory
`/home/jotacosta/tactual/linaro_android/out/target/product/arndale/obj/ffmpeg'
Export includes file: frameworks/native/opengl/libs/Android.mk --
out/target/product/arndale/obj/SHARED_LIBRARIES/libGLESv2_intermediates/export_includes
Export includes file: external/piglit/tests/util/Android.mk --
out/target/product/arndale/obj/SHARED_LIBRARIES/libpiglitutil_gles2_intermediates/export_includes
Export includes file: external/waffle/Android.mk --
out/target/product/arndale/obj/SHARED_LIBRARIES/libwaffle-1_intermediates/export_includes
Import includes file:
out/target/product/arndale/obj/EXECUTABLES/glslparsertest_gles2_intermediates/import_includes
target thumb C: glslparsertest_gles2 <=
external/piglit/tests/glslparsertest/glslparsertest.c
In file included from
external/piglit/tests/util/piglit-util-gl-common.h:32:0,
from external/piglit/tests/glslparsertest/glslparsertest.c:36:
external/piglit/tests/util/piglit-util.h:32:20: fatal error: config.h:
No such file or directory
#include "config.h"
"""
This feels like a rookie mistake, yes, but I can't pinpoint exactly
where that mistake is. Any hints would be deeply appreciated.
Thank you,
Ricardo Jota
Hi all,
I'm working with a custom OMAP4460 based platform running Android ICS.
Android for this platform is based on TI's 4AI.1.4 Release. Release Notes
available at
http://omappedia.org/wiki/4AI.1.4_OMAP4_Icecream_Sandwich_Release_Notes.
I need to upgrade to Android KitKat on this platform. I have chosen
Linaro's Release 14.04 for Pandaboard to be ported to the custom platform.
We use a Wireless module with TI's WL1271 core. The Wi-Fi driver provided
by the Module vendor was based on NL80211 framework.
WiFi with Linaro's KitKat port uses Wireless Extensions (WEXT) framework.
I understand that WEXT is an older implementation and NL80211 is more
recent. Is there a reason why WiFi on Linaro's KitKat port still uses WEXT
framework?
Is there any Android KitKat source base that uses NL80211 for WiFi
framework? This will help me validate the WiFi functionality on my custom
platform.
Thanks & Regards
Shajin
Hi,
This is Arthur, LAVA team engineer.
I just submitted a patch for manifest.xml
http://review.android.git.linaro.org/#/c/11034/
I added piglit related packages and had them built and tested successfully
with it.
Can someone take a look at it.
Thanks,
Arthur
Hello Amit/Robert/Others,
I was looking into the code for heat_cpu.c in pm-qa. I think there are some
issues with the current implementation. Please find details below -
1. #define NR_THREAD 3
pid_t thr_id[NR_THREAD];
I think the array thr_id should be dynamically allocated as number of
threads depend on number of cpus. However, we can eliminate the need for
this array as mentioned below at no 7.
2. There is no error checking for sysconf (...) call (line 83). If this
call fails num_cpus will be -1 which is a problem.
3. at line 122,
pthread_t *p_thread_ptr = (pthread_t *) malloc( num_cpus *
sizeof(pthread_attr_t));
we are allocating space for pthread_t. So sizeof(ptread_t) should be
used instead of sizeof(pthread_attr_t).
4. at line 144, SCHED_NORMAL is used. On my Ubuntu 13.04, <sched.h> does
not define SCHED_NORMAL. So it gives compile error if ANDROID is defined.
heat_cpu.c:145:44: error: ‘SCHED_NORMAL’ undeclared (first use in this
function)
We can either use SCHED_OTHER (which is equivalent to SCHED_NORMAL) or
include <linux/sched.h>
5. at line 168, error message is misleading. This error is related to
failure from pthread_create, not during setting affinity.
6. at line 76, the call to gettid results in linking error -
heat_cpu.c: In function ‘do_loop’:
heat_cpu.c:77:2: warning: implicit declaration of function ‘gettid’
[-Wimplicit-function-declaration]
/tmp/ccAhcUGE.o: In function `do_loop':
heat_cpu.c:(.text+0x4e): undefined reference to `gettid'
There is no libc wrapper for gettid. So I think it should be called as
below -
#include <sys/syscall.h>
thr_id[thread] = syscall(SYS_gettid);
With this changes the compilation warning and link error goes away and
it works. However, this call can be eliminated as suggested below at no 7.
7. There is a potential race condition between line 171 & 182, despite the
synchronization mechanism (mutex & condition variable) used. There is no
guaranty that do_loop(...) will execute first and thr_id[thread] =
gettid(); will execute before setting affinity as noted from below debug
output -
setting affinity for : 0
setting affinity for : 0
setting affinity for : 0
setting affinity for : 0
The code is setting affinity for tid 0, which it should not, despite the
synchronization code.
However, we can eliminate need for thr_id and the associated
synchronization if we use pthread_setaffinity_np(...) .
Would you care to test the alternative implementation using the patch
below (also attached)?
--------------------------------------------------------------------
diff --git a/utils/heat_cpu.c b/utils/heat_cpu.c
index 90d8a97..236cb1d 100644
--- a/utils/heat_cpu.c
+++ b/utils/heat_cpu.c
@@ -47,23 +47,12 @@
#include <string.h>
#include <math.h>
-#define NR_THREAD 3
-
int cont = 1;
-int cpu_index;
long long a = 1, c = 1;
float f = M_PI;
-pid_t thr_id[NR_THREAD];
int moderate_inst;
-
-#ifdef ANDROID
-int conditionMet;
-pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
-pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-#endif
-
void *do_loop(void *data)
{
const long long b = 3;
@@ -71,14 +60,6 @@ void *do_loop(void *data)
a = 1;
c = 1;
-#ifdef ANDROID
- long int thread = (long int) data;
- thr_id[thread] = gettid();
- pthread_mutex_lock(&mutex);
- while (!conditionMet)
- pthread_cond_wait(&cond, &mutex);
- pthread_mutex_unlock(&mutex);
-#endif
while (cont) {
if (!moderate_inst) {
@@ -96,9 +77,15 @@ void *do_loop(void *data)
int main(int arg_count, char *argv[])
{
int ret, i;
- int num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+ int num_cpus;
cpu_set_t cpuset;
+ num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+ if (num_cpus < 0) {
+ printf("ERROR: sysconf error\n");
+ return -1;
+ }
+
printf("Num CPUs: %d\n", num_cpus);
if (arg_count > 1) {
if (!strcmp("moderate", argv[1])) {
@@ -120,7 +107,7 @@ int main(int arg_count, char *argv[])
}
pthread_t *p_thread_ptr = (pthread_t *) malloc(
- num_cpus * sizeof(pthread_attr_t));
+ num_cpus * sizeof(pthread_t));
if (!p_thread_ptr) {
printf("ERROR: out of memory\n");
@@ -141,7 +128,7 @@ int main(int arg_count, char *argv[])
#endif
#else
- ret = pthread_attr_setschedpolicy(&p[i], SCHED_NORMAL);
+ ret = pthread_attr_setschedpolicy(&p[i], SCHED_OTHER);
#endif
/* for each new object */
CPU_SET(i, &cpuset);
@@ -156,7 +143,7 @@ int main(int arg_count, char *argv[])
return ret;
}
#endif
- CPU_CLR(i, &cpuset);
+ CPU_CLR(i, &cpuset);
}
@@ -165,29 +152,23 @@ int main(int arg_count, char *argv[])
ret = pthread_create(&p_thread_ptr[i], &p[i],
do_loop, (void *)i);
if (ret < 0)
- printf("Error setting affinity for cpu%d\n", i);
+ printf("Error creating thread for cpu%d\n", i);
#ifdef ANDROID
CPU_ZERO(&cpuset);
CPU_SET(i, &cpuset);
- ret = sched_setaffinity(thr_id[i], sizeof(cpuset), &cpuset);
+ ret = pthread_setaffinity_np(p_thread_ptr[i],
sizeof(cpuset), &cpuset);
if (ret) {
- printf("Error setting affinity on pthread th_id\n");
+ printf("Error setting affinity on pthread\n");
printf("Error: %s\n", strerror(ret));
return ret;
}
#endif
}
-#ifdef ANDROID
- pthread_mutex_lock(&mutex);
- conditionMet = 1;
- pthread_cond_broadcast(&cond);
- pthread_mutex_unlock(&mutex);
-#endif
-
while (1)
sleep(1);
+
return 0;
}
--
Thanks,
-Meraj
Hi All,
Does Trinity fuzzer is available on Linaro kernel? Can anyone please let me
know if it is part of some other git project or where i can get it for
Android.
--
Thanks & Regards,
M.Srikanth Kumar.
Hello Sanjay,
You are welcome.
Earlier I submitted some patches in powedebug and powertop tools. Please
feel free to merge if you find any useful.
http://lists.linaro.org/pipermail/linaro-dev/2014-April/017117.htmlhttp://lists.linaro.org/pipermail/linaro-dev/2014-May/017141.htmlhttp://lists.linaro.org/pipermail/linaro-dev/2014-May/017144.htmlhttp://lists.linaro.org/pipermail/linaro-dev/2014-May/017146.html
--
Thanks,
-Meraj
Mohammad Merajul Islam Molla (Meraj)
Mobile Lab 1, Mobile Development Team
Samsung R&D Institute Bangladesh (SRBD)
Phone: +880-1754380207
Skype: mmm2177
On Mon, May 12, 2014 at 4:27 PM, Sanjay Singh Rawat <sanjay.rawat(a)linaro.org
> wrote:
> On Wednesday 07 May 2014 03:34 PM, Mohammad Merajul Islam Molla wrote:
>
>> Hello Sanjay,
>>
>> One suggestion - its probably better to precede the output lines with
>> cpu no. As currently output from child processes are intermixed as below
>> and difficult to co-relate.
>>
>> jiffies are : 10000 usecs
>> found 4 cpu(s)
>> duration: 120 secs, #sleep: 1200, delay: 100000 us
>> duration: 120 secs, #sleep: 1200, delay: 100000 us
>> duration: 120 secs, #sleep: 1200, delay: 100000 us
>> duration: 120 secs, #sleep: 1200, delay: 100000 us
>> counter value 4072718528
>> test duration: 120.057526 secs
>> deviation 0.000479
>> counter value 3914063589
>> test duration: 120.057335 secs
>> counter value 4015937716
>> test duration: 120.057430 secs
>> deviation 0.000479
>> deviation 0.000478
>> counter value 411037603
>> test duration: 120.062716 secs
>> deviation 0.000523
>>
>
> thanks Meraj, done
>
>>
>>
>>
>> --
>> Thanks,
>> -Meraj
>>
>>
>> On Fri, May 2, 2014 at 11:23 PM, Sanjay Singh Rawat
>> <sanjay.rawat(a)linaro.org <mailto:sanjay.rawat@linaro.org>> wrote:
>>
>> On Wednesday 30 April 2014 02:04 PM, Mohammad Merajul Islam Molla
>> wrote:
>>
>> Hello Sanjay,
>> As far I know, if option argument is 0, the parent will wait for
>>
>>
>> Looks like waiting is done if childs exit. I checked for the
>> offlined CPU case, if there are no child processes, waitpid returns
>> -1. Setting errno as "no child processes"
>>
>> specified child pid to terminate, its not for immediate return as
>> in
>> case of WNOHANG. This is probably the intended use of the code
>> (author
>> will be able to confirm). Changing 0 to WNOHANG macro will
>> change the
>> meaning of the code.
>> Also, from header file -
>> #define WNOHANG 0x00000001
>>
>>
>> sorry i referred wrong document
>>
>> WNOHANG is defined as 1, not zero.
>> Which makes me think of two cases below -
>> 1. If the real intended purpose is to not to wait infinitely,
>> replacing
>>
>> [...]
>>
>>
>>
>>
>>
>>
>
> --
> sanjay
>
Hi Vishal,
A question about USB mass storage feature on Linaro Android images. I would
say there are 2 different ways:
1. Using Android device as a host: In this way, by plugging in a USB mass
storage device, a USB stick for example, there should be a pop-up window
shows up on screen to say a USB mass storage device has been plugged in,
similar as you do it on your PC. The current status is after plugged in the
USB stick, some manual procedures need to be done to access the device, as
indicated in test case USB Host (
https://wiki.linaro.org/Platform/QA/TestCases/Android#USB_Host), and no any
UI notification shows.
My question here is that is this an expected behaviour?
2. Using Android device as a client: In this way, by plugging it to a host
PC, there should be a notification shows on screen to let user to choose
among different options, USB mass storage is one of them. I remember we now
only has the ADB debug notification (If USB debugging is enabled in
developer options), USB mass storage option never shows. We already have a
bug there: https://bugs.launchpad.net/linaro-android/+bug/897549
My question here is do we support this feature?
Thanks.
Best Regards
Botao Sun
Now the "repo sync" is ok. I think the reason is that my Internet
connection is not stable.
thanks
On 05/09/2014 08:00 AM, linaro-android-request(a)lists.linaro.org wrote:
> Send linaro-android mailing list submissions to
> linaro-android(a)lists.linaro.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.linaro.org/mailman/listinfo/linaro-android
> or, via email, send a message with subject or body 'help' to
> linaro-android-request(a)lists.linaro.org
>
> You can reach the person managing the list at
> linaro-android-owner(a)lists.linaro.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of linaro-android digest..."
>
>
> Today's Topics:
>
> 1. Linaro Android on cubieboard? (Vyacheslav Evgrafov)
> 2. repo sync stops at the 99% (410/414) (gmail)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 8 May 2014 22:58:54 -0700
> From: Vyacheslav Evgrafov <slava.evgrafov(a)gmail.com>
> To: linaro-android(a)lists.linaro.org
> Subject: Linaro Android on cubieboard?
> Message-ID:
> <CAAncmEcnWjLqJdvrQZk8CTDKY04Hkk0T2w1fMRsunbbPR7fxvw(a)mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Congrads on partership with Allwinner.
>
> Are you guys planning Android release for Cubieboard anytime soon?
>