• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 7
Android Compile for Android fails at configure
#1
Apparently the --with-toolchain option appears to be broken in configure. (Unless I'm doing something wrong, which is probably the case)

Here is my input.

kmobs@ubuntu:~/xbmc-android/tools/android/depends$ ./configure --with-toolchain /home/kmobs/android-toolchain/android-14/bin/arm-linux-androideabi
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /home/kmobs/android-toolchain/android-14/bin/arm-linux-androideabi
checking for /home/kmobs/android-toolchain/android-14/bin/arm-linux-androideabi-gcc... no
configure: WARNING: host was not specified. guessing.
checking for gcc... no

however,
kmobs@ubuntu:~/xbmc-android/tools/android/depends$ ls /home/kmobs/android-toolchain/android-14/bin/arm-linux-androideabi-gcc
/home/kmobs/android-toolchain/android-14/bin/arm-linux-androideabi-gcc

The file is there, but for some reason it will not build with the toolchain.

Any idea why?

Thanks.
Reply
#2
Use:
Code:
./configure --with-toolchain=/home/kmobs/android-toolchain/android-14

I.e. don't add the "/bin/arm-linux-androideabi" and use a '=' between the path and "--with-toolchain".
Reply
#3
Just curious if you have been able to compile XBMC successfully. During compilation I get the following error:

Code:
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
checking boost/shared_ptr.hpp usability... no
checking boost/shared_ptr.hpp presence... no
checking for boost/shared_ptr.hpp... no
configure: error: Could not find a required library. Please see the README for your platform.
make: *** [../../../..//libxbmc.so] Error 1

In the config.log, I see the following:

Code:
conftest.cpp:88:32: fatal error: boost/shared_ptr.hpp: No such file or directory
compilation terminated.
configure:18024: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "xbmc"
| #define PACKAGE_TARNAME "xbmc"
| #define PACKAGE_VERSION "11.9.4"
| #define PACKAGE_STRING "xbmc 11.9.4"
| #define PACKAGE_BUGREPORT "http://trac.xbmc.org"
| #define PACKAGE_URL ""
| #define PACKAGE "xbmc"
| #define VERSION "11.9.4"
| #define LIRC_DEVICE "/dev/lircd"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAS_EGLGLES 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DIRENT_H 1
| #define CLOSEDIR_VOID 1
| #define HAVE_FSEEKO 1
| #define HAVE_LSTAT_EMPTY_STRING_BUG 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_ALARM 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define SELECT_TYPE_ARG1 int
| #define SELECT_TYPE_ARG234 (fd_set *)
| #define SELECT_TYPE_ARG5 (struct timeval *)
| #define RETSIGTYPE void
| #define HAVE_STAT_EMPTY_STRING_BUG 1
| #define HAVE_STRFTIME 1
| #define HAVE_UTIME_NULL 1
| #define HAVE_VPRINTF 1
| #define HAVE_ATEXIT 1
| #define HAVE_DUP2 1
| #define HAVE_FTIME 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_GETCWD 1
| #define HAVE_GETHOSTBYADDR 1
| #define HAVE_GETHOSTBYNAME 1
| #define HAVE_GETHOSTNAME 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_INET_NTOA 1
| #define HAVE_LCHOWN 1
| #define HAVE_LOCALECONV 1
| #define HAVE_MEMCHR 1
| #define HAVE_MEMMOVE 1
| #define HAVE_MEMSET 1
| #define HAVE_MKDIR 1
| #define HAVE_MUNMAP 1
| #define HAVE_RMDIR 1
| #define HAVE_SELECT 1
| #define HAVE_SETENV 1
| #define HAVE_SETLOCALE 1
| #define HAVE_SOCKET 1
| #define HAVE_STRCASECMP 1
| #define HAVE_STRCHR 1
| #define HAVE_STRCSPN 1
| #define HAVE_STRDUP 1
| #define HAVE_STRERROR 1
| #define HAVE_STRNCASECMP 1
| #define HAVE_STRPBRK 1
| #define HAVE_STRRCHR 1
| #define HAVE_STRSPN 1
| #define HAVE_STRSTR 1
| #define HAVE_STRTOL 1
| #define HAVE_STRTOUL 1
| #define HAVE_TZSET 1
| #define HAVE_UTIME 1
| #define SIZEOF_INT 4
| #define SIZEOF_SIZE_T 4
| #define HAVE_INOTIFY 1
| /* end confdefs.h.  */
| #include <boost/shared_ptr.hpp>
configure:18024: result: no
configure:18024: checking for boost/shared_ptr.hpp
configure:18024: result: no
configure:18028: error: Could not find a required library. Please see the README for your platform.
Reply
#4
Run make for depends without '-j N', to see if there was some error there. On parallel builds you may sometimes not see the error.
Reply
#5
@Anssi

I am experiencing a lot compiling/configuration errors. I had them all squashed thanks to google. Did all the developers compile them under OSX or older SDK/NDK?
Reply
#6
Support for building on OSX was added only a few weeks ago. The rest of the development was all done on Linux. It would be helpful to know what NDK you are using how you built the standalone toolchain etc.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#7
Installed the latest SDK and NDK:
NDK android-9
SDK platform 10

OS: Ubuntu 12.04 64bit

Toolchain used the prebuilt that comes with NDK.

Here is my patch

http://db.tt/2ECJY3b4

(2012-07-14, 16:50)Montellese Wrote: Support for building on OSX was added only a few weeks ago. The rest of the development was all done on Linux. It would be helpful to know what NDK you are using how you built the standalone toolchain etc.

Reply
#8
Did you read docs/README.android?
docs/README.android Wrote:Because the Android NDK is lacking support for wide characters (wchar_t)
which XBMC relies on for Unicode implementation, a third-party NDK
from Crystax is being used.

Sounds to me like you used the regular NDK.
Reply
#9
I just finished successfully compiling this with zero experience on compiling Android software before. Here are some notes based on using Linux as the compile environment

The following command saved quite a bit of dependency problems that I had before running it
sudo apt-get build-dep xbmc

I also had to install curl to get the tarballs which the compile output cut off the name so I had a hard time figuring out

Also since I never compiled before and never used eclipse to auto generate it I had the create my own keystore using this command
keytool -genkey -v -keystore ~/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"



PS for when it was done and working it took a little to figure how to get the full menu on a source to do stuff like edit it. In the end it was long press the folder then slide my finger off it to leave it selected but not opened, then hit the menu button.


Finally I just want to thank the devs for this great software.
Reply
#10
For the record, I've never needed to do any keytool stuff manually, and I don't use eclipse. That step shouldn't be necessary.
Reply
#11
(2012-07-14, 18:58)Anssi Wrote: For the record, I've never needed to do any keytool stuff manually, and I don't use eclipse. That step shouldn't be necessary.

According to the place I got that command it is generated by either Eclipse or ant debug, maybe you did the latter.

Either way I needed to run it since I got a error that the debug.keystore didn't exist and it stopped the "make apk" step, so some people may need it and that is good enough reason to add it.
Reply
#12
(2012-07-14, 15:08)Anssi Wrote: Run make for depends without '-j N', to see if there was some error there. On parallel builds you may sometimes not see the error.

Thank you, that was my issue.

(2012-07-14, 18:56)shadow Wrote: I just finished successfully compiling this with zero experience on compiling Android software before. Here are some notes based on using Linux as the compile environment

The following command saved quite a bit of dependency problems that I had before running it
sudo apt-get build-dep xbmc

I also had to install curl to get the tarballs which the compile output cut off the name so I had a hard time figuring out

Also since I never compiled before and never used eclipse to auto generate it I had the create my own keystore using this command
keytool -genkey -v -keystore ~/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"



PS for when it was done and working it took a little to figure how to get the full menu on a source to do stuff like edit it. In the end it was long press the folder then slide my finger off it to leave it selected but not opened, then hit the menu button.


Finally I just want to thank the devs for this great software.

This is very helpful.

I was able to get compiled on API level 14. Installed on a GSM Galaxy Nexus. Looks and runs great so far. Thanks to everyone who contributed to this project (and everyone who will in the future).
Reply
#13
Thanks for all your help everyone. I have it compiling as we speak Smile
Reply
#14
I managed to get a clean compile but it crashes when it tries to start. I'm on a T989 Galaxy S2 (hercules) running cm9. Here is my logcat output (might include some noise from other apps, the filter on xbmc restricts too much of the logs):

http://pastebin.com/nRJVvv1Q
Reply
#15
Anssi it was needed on osx too. We have it in the readme too iirc.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 7

Logout Mark Read Team Forum Stats Members Help
Compile for Android fails at configure1