Android [Android] AEConvert.cpp throws compile error for Cortex-A9

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
barney_1 Offline
Junior Member
Posts: 37
Joined: Mar 2008
Reputation: 2
Post: #1
Hi All,

I'm trying to compile XBMC-Android for an Aura Slate which has a Cortex-A9 processor. I built the dependencies successfully but compiling XBMC throws this error:
Code:
Utils/AEConvert.cpp: In static member function 'static unsigned int CAEConvert::S16LE_Float(uint8_t*, unsigned int, float*)':
Utils/AEConvert.cpp:179:28: error: inconsistent operand constraints in an 'asm'

I posted in the general discussion thread (oops) and it was suggested I post here with the output of "V=1 make". It is included below. Any advice is greatly appreciated.

The configure string I used:
Code:
./configure --with-toolchain=/Lenny/scripts/android-ndk-r7-crystax-5.beta2/android-9/ --prefix=/Lenny/scripts/apk-xbmc/local --with-sdk=/home/mike/compile/android-sdk-linux/ --with-ndk=/Lenny/scripts/android-ndk-r7-crystax-5.beta2 --with-staging=/Lenny/scripts/apk-xbmc/staging --with-tarballs=/Lenny/scripts/apk-xbmc/tarballs --with-cpu=cortex-a9

Results of "V=1 make":
Code:
make[1]: Entering directory `/Lenny/scripts/xbmc-android/xbmc/cores/AudioEngine'
/usr/bin/ccache /Lenny/scripts/android-ndk-r7-crystax-5.beta2/android-9//bin/arm-linux-androideabi-g++ -MF Utils/AEConvert.d -MD -c -D__STDC_LIMIT_MACROS -DANDROID -Os -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include/android-10 -fexceptions -frtti -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-psabi -g -D_DEBUG -Wall -mno-apcs-stack-check -mfpu=neon -mvectorize-with-neon-quad -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID -D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/Lenny/scripts/apk-xbmc/staging/cortex-a9/lib/xbmc\"" -DINSTALL_PATH="\"/Lenny/scripts/apk-xbmc/staging/cortex-a9/share/xbmc\"" -D'GIT_REV="20120714-5a0b2c4"' -DHAVE_CONFIG_H  -I. -I/Lenny/scripts/xbmc-android/xbmc -I/Lenny/scripts/xbmc-android/xbmc/linux -I/Lenny/scripts/xbmc-android/xbmc/utils -I/Lenny/scripts/xbmc-android/xbmc/guilib -I/Lenny/scripts/xbmc-android/xbmc/cores -I/Lenny/scripts/xbmc-android/xbmc/cores/dvdplayer -I/Lenny/scripts/xbmc-android/xbmc/cores/dvdplayer/Codecs/ffmpeg -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include/freetype2 -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include/fribidi -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include/libpng12 -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/include/mysql -I/Lenny/scripts/apk-xbmc/staging/cortex-a9/lib/libzip/include -I/Lenny/scripts/xbmc-android -I/Lenny/scripts/xbmc-android/lib -I/Lenny/scripts/xbmc-android/xbmc -I/Lenny/scripts/xbmc-android/lib/ffmpeg -I/Lenny/scripts/xbmc-android/xbmc/linux -I/Lenny/scripts/xbmc-android/xbmc/cores/dvdplayer Utils/AEConvert.cpp -o Utils/AEConvert.o \
    && cp Utils/AEConvert.d Utils/AEConvert.P && sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < Utils/AEConvert.d >> Utils/AEConvert.P && rm -f Utils/AEConvert.d || ( rm -f Utils/AEConvert.P Utils/AEConvert.o && exit 1 )
Utils/AEConvert.cpp: In static member function 'static unsigned int CAEConvert::S16LE_Float(uint8_t*, unsigned int, float*)':
Utils/AEConvert.cpp:179:28: error: inconsistent operand constraints in an 'asm'
make[1]: *** [Utils/AEConvert.o] Error 1
make[1]: Leaving directory `/Lenny/scripts/xbmc-android/xbmc/cores/AudioEngine'
make: *** [xbmc/cores/AudioEngine/audioengine.a] Error 2
(This post was last modified: 2012-07-16 13:38 by Martijn.)
find quote
davilla Offline
Team-XBMC Developer
Posts: 10,399
Joined: Feb 2008
Reputation: 58
Post: #2
best I can think of is --with-cpu=cortex-a9 is wrong. it should be armeabi-v7a as seen from looking in configure.in. I never specify that as it will autodetect it from the toolchain.

oh and drop those trailing '/' in configure. they are not required and leads to seeing " /Lenny/scripts/android-ndk-r7-crystax-5.beta2/android-9//bin/arm-linux-androideabi-g++", see the double //


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
(This post was last modified: 2012-07-15 04:43 by davilla.)
find quote
theuni Offline
Team-XBMC Communication Manager
Posts: 1,089
Joined: Oct 2007
Reputation: 2
Location: Atlanta, Ga, USA
Post: #3
(un-necesserily rude post edited)

Leave the --with-cpu out.

For 99% of builds, you just need to specify the bare minimum, it will figure out the rest. The optional stuff is for the buildbot, or for testing exotic configs.
(This post was last modified: 2012-07-15 05:46 by theuni.)
find quote
theuni Offline
Team-XBMC Communication Manager
Posts: 1,089
Joined: Oct 2007
Reputation: 2
Location: Atlanta, Ga, USA
Post: #4
Also, it looks like you used --enable-tegra, which will do quite the opposite of what you want for Android. Tegra2 is not on the radar at the moment, all signs point to it being unsupported in the final stable release.
find quote
barney_1 Offline
Junior Member
Posts: 37
Joined: Mar 2008
Reputation: 2
Post: #5
Thanks. You were right, removing the --with-cpu flag allowed me to compile successfully.

(2012-07-15 05:04)theuni Wrote:  Also, it looks like you used --enable-tegra, which will do quite the opposite of what you want for Android. Tegra2 is not on the radar at the moment, all signs point to it being unsupported in the final stable release.

I didn't enable this flag in my configure line. What did you see that makes you think it's an issue?

The apk was named differently and in a different place than I expected from what the README.android says. In the packaging/images folder there is only the xbmcapp-debug-skeleton.apk. But in the root folder there is a xbmcapp-armeabi-v7a-debug.apk that I was able to load on the device.

XBMC-Android launches but I cannot click on anything. The RSS ticker works, and I can affect the skin (scroll menu back and forth and words are highlighted when I click on the menu tabs) but no menu windows will open. Here's what I get from logcat when tapping VIDEOS:
Code:
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch down (387.298492, 358.182709, 0)
V/XBMC    (  474): XBMC_Touch(4, 0, 387, 358)
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (387.298492, 358.182709)
V/XBMC    (  474):  => touch of size 0.000000 has not moved far enough => abort touch move
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch move (385.344391, 359.062042)
V/XBMC    (  474):  => a pan gesture starts
V/XBMC    (  474): XBMC_TouchGesture(222, 387.298492, 358.182709, 0.000000, 0.000000)
V/XBMC    (  474):  => a pan gesture
V/XBMC    (  474): XBMC_TouchGesture(225, 385.344391, 359.062042, -1.954102, 0.879333)
V/XBMC    (  474): virtual bool CXBMCApp::onTouchEvent(AInputEvent*): 2
V/XBMC    (  474):  => touch up (385.344391, 359.062042, 0)
V/XBMC    (  474):  => a pan gesture ending
V/XBMC    (  474): XBMC_TouchGesture(226, -12.855931, 5.785089, 385.344391, 359.062042)
V/XBMC    (  474): XBMC_Touch(4, 0, 65535, 65535)

I'm going to see if I can figure out how to enable http remote control and test it that way. Should I be posting bugs somewhere as I come across this sort of thing?
find quote
spiff Offline
Grumpy Bastard Developer
Posts: 12,181
Joined: Nov 2003
Reputation: 82
Post: #6
post patches.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
auadix Offline
Junior Member
Posts: 1
Joined: Jul 2012
Reputation: 0
Post: #7
(2012-07-15 18:38)barney_1 Wrote:  I'm going to see if I can figure out how to enable http remote control and test it that way. Should I be posting bugs somewhere as I come across this sort of thing?

Edit /sdcard/Android/Data/org.xmbc/xbmc/files/.xbmc/userdata/guisettings.xml and change in the input node the key remoteaskeyboard from false to true. After that you can use the remote control app.
find quote
theuni Offline
Team-XBMC Communication Manager
Posts: 1,089
Joined: Oct 2007
Reputation: 2
Location: Atlanta, Ga, USA
Post: #8
The keymapping is not finished yet. We did not release an apk because we only want developers building right now. As spiff said, please post patches.
find quote
Piers Offline
Senior Member
Posts: 230
Joined: Jan 2011
Reputation: 4
Location: Surrey, UK
Post: #9
Sorry if this is a stupid question, but will the new Rockchip SOC be supported? I'm more talking about the RK3066 (Cortex A9, MALI-400).

HTPC A: Lenovo Q180 | Atom D2550 | 512MB AMD 6450 | 4GB DDR3 | 500GB SATA | Frodo
- Sony STRDH520 | Pioneer S-HS100 | 42" 1080p 100Hz Hitachi
HTPC B: Intel i5 2500K | 1GB AMD 6770 | 8GB DDR3 | 1TBGB SATA | Frodo
- Creative Crap 5.1 | 32" 1080p Cheap
HTPC C: Intel i5 3570K | 2GB AMD 6970 | 16GB DDR3 | 14TB SATA/USB3 | Frodo
- Logitech Z-5500 5.1 | 3 x 24" 1080p AOC Eyefinity

find quote
davilla Offline
Team-XBMC Developer
Posts: 10,399
Joined: Feb 2008
Reputation: 58
Post: #10
(2012-07-17 10:04)Piers Wrote:  Sorry if this is a stupid question, but will the new Rockchip SOC be supported? I'm more talking about the RK3066 (Cortex A9, MALI-400).

Off topic for this thread "RE: [Android] AEConvert.cpp throws compile error for Cortex-A9"


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote