Build OpenCORE outside of Android

by rednoah » Sat, 15 Nov 2008 16:54:51 GMT

Sponsored Links

I extracted /platform/external/opencore dir. from Android source code
and compile it with attached makefile.

But I got some errors while I did "make".

Does there have a standard rule to build "External Project" outside of
Android ?


ps. I worked with Fedora 7 , GNU gcc/g++ 4.1.2

Build OpenCORE outside of Android

by [EMAIL PROTECTED] » Sat, 15 Nov 2008 18:10:23 GMT

 We never build it outside of Android, so I can't say if it works.
Maybe someone from PV will have an answer.


Sponsored Links

Build OpenCORE outside of Android

by Android PT » Sun, 16 Nov 2008 04:00:10 GMT

 I think you can build it outside the Android also.
PV has provided an independent test frame work (command line).
So I guess you can build it.
Dependency  : OSCL and underlying kernel.


Build OpenCORE outside of Android

by Girish » Tue, 25 Nov 2008 08:51:02 GMT

 Hi ,

Is it possible to run the multimedia test cases which are provided in /
external/opencore/engines/player ?

are u able to test any of them ?



Build OpenCORE outside of Android

by rktb » Thu, 27 Nov 2008 21:40:36 GMT

 (i) Building the libraries

cd <dir>/external/opencore/tools_v2/build/package/nj_rel
. ./setup.ksh <dir>/external/opencore
make -f <dir>/external/opencore/engines/player/build/makefile.conf

(ii) Building the player engine test executable
cd <dir>/external/opencore/engines/player/test/build/linux_nj

(iii) Building the author engine test executable
cd <dir>/external/opencore/engines/author/test/build/linux_nj

A couple of notes:
- Building outside of Android, the method to build is via a recursive
make system, which is, as expected, very slow. In the next update to
opencore project, we will provide the facility to build using a non-
recursive build system to make things much faster.
- The codebase has not been completely compiled and tested on the
later versions of gcc, and hence newer warnings crop up. That fails
the compilation of few libraries that treat warnings as errors. To get
around this, you may make the following change to get your build
In <dir>/external/opencore/tools_v2/build/make/linux_g++_library.mak,
comment out the line "FLAG_COMPILE_WARNINGS_AS_ERRORS = -Werror".


Build OpenCORE outside of Android

by jason » Fri, 05 Dec 2008 04:10:37 GMT


The binary built are x86, but the player engine test can not executed.
There is always a segmentation fault is reported. Does anyone run the
test on emulator successfully?

Best Regards


Build OpenCORE outside of Android

by rktb » Fri, 05 Dec 2008 05:40:24 GMT

 Hi Jason,

Where are you running the x86 executable?
Do you have a stack trace of the seg. fault?
Yes. We have run the tests on emulator successfully.



Build OpenCORE outside of Android

by jason » Fri, 05 Dec 2008 07:22:48 GMT

 i rktb,

Thank you for response quickly.

Answer 1:

I am trying to run the binary built on my host x86 computer, because I
find the following information by typing 'file pvplayer_engine_test' :

pvplayer_engine_test: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), not stripped

It is an executable binary on x86, isn't it?

Answer 2 :

The stack trace as follows:

(gdb) bt
#0 0xb7ce17c6 in __do_global_dtors_aux ()

By the way, I modify the makefile to fix an error as linking
pvplayer_engine_test. The path of makefile as below:


I uncomment out the line 53 of this makefile, change it as 'XLDFLAGS
+= -shared'. If you do not change it, there is an error will be
reported as like:

g++ -o linux/pvplayer_engine_test -L/home/android/external/opencore/
tools_v2/build/package/nj_rel/installed_lib/linux -L/home/android/
external/opencore/oscl/SDK/lib/linux -L/usr/lib -L/usr/local/lib linux/
test_pv_player_engine.o linux/test_pv_player_engine_testset_mio_file.o
linux/test_pv_player_engine_testset1.o linux/
test_pv_player_engine_testset5.o linux/
test_pv_player_engine_testset6.o linux/
test_pv_player_engine_testset7.o linux/
test_pv_player_engine_testset8.o linux/
test_pv_player_engine_testset9.o linux/
test_pv_player_engine_testset10.o linux/
test_pv_player_engine_testset11.o linux/
test_pv_player_engine_testset12.o linux/
test_pv_player_engine_testset13.o linux/
test_pv_player_engine_testset_cpmdlapassthru.o -lunit_test_mod_debug -
lpvcommon_debug -lpvplayer_debug -lpthread -ldl
/usr/bin/ld: linux/pvplayer_engine_test: hidden symbol
`__stack_chk_fail_local' in /usr/lib/libc_nonshared.a
(stack_chk_fail_local.oS) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status


Answer 3 :

I can not see any logs on emulator according to the below topic:

I do not know whether or not the pvplayer_engine_test is run
successfully. Would you like to tell me the more details?

Best Regards

On Dec 5, 1:40pm, rktb <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by Girish » Fri, 05 Dec 2008 13:11:06 GMT


I am not very sure about the test cases that are supplied along with
the pv test frame work but i have successfully executed the test
cases. As per my understanding they are trying to execute test cases
which we come accross regularly.


1.playing the file normally
2.Playing , Pausing , Stopping
3.Playing for 5 seconds , pausing and stopping
and many .....

I guess test frame work tries to test the multimedia frame work
robustly ..

Once you are compiled with push pvplayer_engine_test to /data

Also push test file to /data (I think this is also hardcoded as

go to adb shell

cd /data

There try ./pvplayer_engine_test

This will run all the test cases and out puts the yuvs and pcms on
the /data folder..

Most of them will fail to produce YUV and PCMs.

May be Ravi from packet video can put more light on this on what the
test framework exactly tries to do.


On Dec 4, 11:10pm, jason <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by rktb » Fri, 05 Dec 2008 15:26:41 GMT

 i Jason,

The way to resolve the linking error is incorrect. I submitted a patch
for this. Please check


On Dec 5, 1:22am, jason <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by jason » Mon, 08 Dec 2008 09:02:20 GMT

 i rktb,

I have tried your patch. It is ok.
Thanks :-)

Best Regards

On Dec 5, 11:26pm, rktb <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by getandroid » Mon, 08 Dec 2008 09:28:03 GMT


I was trying to run "pvplayer_engine_test" on the emulator but it
doesnot have execute permissions there. I tried chmod 0777 <file> but
its not working. how do i change the permissions of this file?

secondly, I want to try it on real h/w but i couldnot find any option
for cross compiling it for ARM. can anyone tell me how do i cross
compile opencore for ARM architecture??

On Dec 5, 8:26pm, rktb <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by getandroid » Mon, 08 Dec 2008 11:06:18 GMT


finally, it get execute permissions, but i get following error when
trying to run it.(May be it needs to be cross compiled for ARM)

./pvplayer_engine_test: 1: Syntax error: "(" unexpected

On Dec 8, 2:27pm, getandroid <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by rktb » Tue, 09 Dec 2008 09:01:08 GMT

 he thread is about building OpenCORE "outside" of Android.

For building for and/or inside Android, please see

On Dec 8, 4:06pm, getandroid <[EMAIL PROTECTED]> wrote:

Build OpenCORE outside of Android

by » Thu, 29 Jan 2009 00:09:37 GMT


I'm new here and I saw this thread on how to build opencore outside of
android.  Has anyone been successful in doing so?  Ultimately I'd like
to be able to build and run the pvplayer_engine_test executable and
run it if possible, but I am having build issues.

I followed rktb's original step but the build failed on me after step
(1).  Compile errors shown below

In file included from ../../src/oscl_assert.h:66,
                 from ../../src/oscl_time.cpp:20:
../../src/oscl_assert.inl:23:23: error: utils/Log.h: No such file or
In file included from ../../src/oscl_assert.h:66,
                 from ../../src/oscl_time.cpp:20:
../../src/oscl_assert.inl: In function void _OSCL_Abort():
../../src/oscl_assert.inl:28: error: LOGV was not declared in this
make[3]: *** [linux/module_dbg/oscl_time.o] Error 1
make[3]: Leaving directory `/home/rcp2278/work/android/external/
make[2]: *** [module-install] Error 2
make[2]: Leaving directory `/home/rcp2278/work/android/external/
make[2]: Entering directory `/home/rcp2278/work/android/external/
bin/cc_mkdir /home/rcp2278/work/android/external/opencore/tools_v2/
rm -f linux/module_dbg/
g++ -Wl-soname,linux/module_dbg/  -Wl,--allow-
multiple-definition -shared -Wl,-Bsymbolic --no-undefined -Wl,--whole-
archive -o linux/module_dbg/  -
losclbase_mod_debug  -losclerror_mod_debug  -losclmemory_mod_debug  -
losclutil_mod_debug  -lpvlogger_mod_debug  -losclproc_mod_debug  -
losclio_mod_debug  -losclregcli_mod_debug  -losclregserv_mod_debug  -
loscllib_mod_debug  -lpvmf_mod_debug  -lpvmimeutils_mod_debug  -
lthreadsafe_callback_ao_mod_debug  -lpvfileoutputnode_mod_debug  -
lpvmediadatastruct_mod_debug  -lcolorconvert_mod_debug  -
lpv_amr_nb_common_lib_mod_debug  -lpv_avc_common_lib_mod_debug  -L/
nj_rel/installed_lib/linux -L/home/rcp2278/work/android/external/
opencore/oscl/SDK/lib/linux  -L/usr/lib -L/usr/local/lib -Wl,--no-
/usr/bin/ld: cannot find -losclbase_mod_debug
collect2: ld returned 1 exit status
make[2]: *** [linux/module_dbg/] Error 1
make[2]: Leaving directory `/home/rcp2278/work/android/external/
make[1]: *** [so-install] Error 2
make[1]: Leaving directory `/home/rcp2278/work/android/external/
bin/recursive_make "make" install

Can anyone help?



Other Threads

1. Finding dependencies of shared library

Is there any tool available to find out dependencies of an android
share library (.so)?

I'm trying to find out why dlopen is failing (dlopen just says library
couldn't be found) and I suspect that the problem may be with
dependencies, as I'm able to load other .so's in the same directory.



2. Telephony locator

Im trying to get the rssi for Android 1.6. I can get easily the rssi
(eceived signal strength indicator ) for all the neightbour through
android.telephony.NeighboringCellInfo. But with the main cell I just
cannot get it. Ive seen android.telephony.SignalStrength but its
available just for Android 2.1. Im using
android.telephony.gsm.GsmCellLocation for the cellid and other
information about the current cell Im connected to but it doesnt
give any information about the signal strength. If anyone knew any
other way to get this.


3. Unable to resolve activity for: Intent

4. Code for sending SMS Alerts based on the Current System Time

5. Need guidance for my first Android application

6. Assets

7. RfComm channel using listenUsingRfcommWithServiceRecord