OpenSL|ES in Android 2.3 can not be built with Linaro GCC 4.5

Bug #732564 reported by Jim Huang
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro Android
Fix Released
Medium
Luse Cheng

Bug Description

While trying the combination of Android 2.3.2 + linaro-gcc 4.5-2011.03-0, OpenSL|ES can not get built as following messages:

arget thumb C++: BufferQueue_test <=
system/media/opensles/tests/automated/BufferQueue_test.cpp
system/media/opensles/tests/automated/BufferQueue_test.cpp: In member
function 'void TestBufferQueue::InvalidBuffer()':
system/media/opensles/tests/automated/BufferQueue_test.cpp:179:13:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
system/media/opensles/tests/automated/BufferQueue_test.cpp:179:13:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
system/media/opensles/tests/automated/BufferQueue_test.cpp: In member
function 'virtual void TestBufferQueue_testMuteSolo_Test::TestBody()':
system/media/opensles/tests/automated/BufferQueue_test.cpp:324:5:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
system/media/opensles/tests/automated/BufferQueue_test.cpp:324:5:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
system/media/opensles/tests/automated/BufferQueue_test.cpp: In member
function 'virtual void TestBufferQueue_testSeek_Test::TestBody()':
system/media/opensles/tests/automated/BufferQueue_test.cpp:334:5:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
system/media/opensles/tests/automated/BufferQueue_test.cpp:334:5:
warning: passing NULL to non-pointer argument 3 of 'static
testing::AssertionResult
testing::internal::EqHelper<true>::Compare(const char*, const char*,
const T1&, T2*) [with T1 = int, T2 = const SLObjectItf_* const]'
target Executable: BufferQueue_test
(out/target/product/beagleboard/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test)
out/target/product/beagleboard/obj/lib/libOpenSLES.so: undefined
reference to `typeinfo for android::SortedVectorImpl'
out/target/product/beagleboard/obj/lib/libOpenSLES.so: undefined
reference to `vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [out/target/product/beagleboard/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test]

Jim Huang (jserv)
Changed in linaro-android:
assignee: nobody → Luse Cheng (luse)
Revision history for this message
Luse Cheng (luse) wrote :

In libopenSLES, IAndroidEffect.c use c++ releative features but with .c extension.
Compiler driver leak some c++ parts for this case druing linking.

It can simple fix it with renaming IAndroidEffect.c to IAndroidEffect.cpp and modifying Android.mk

Changed in linaro-android:
status: New → Opinion
Revision history for this message
Jim Huang (jserv) wrote :
Changed in linaro-android:
status: Opinion → Fix Committed
Revision history for this message
Alexander Sack (asac) wrote :

if linaro toolchain would be our default i this would be importance critical as it blocks everything. But since its something lower. I think getting all android tree building without changing -Werror is milestone 11.05 and since its not next milestone importance medium feels appropriate.

Changed in linaro-android:
importance: Undecided → Medium
milestone: none → linaro-11.05-final
Alexander Sack (asac)
Changed in linaro-android:
status: Fix Committed → Fix Released
Revision history for this message
Zach Pfeffer (pfefferz) wrote :

I saw this using the default toolchain that came with AOSP:

make TARGET_PRODUCT=pandaboard TARGET_TOOLS_PREFIX=prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-

Sounds like the tip isn't picking this up anymore.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.