2013-03-28, 17:18
Hi all,
I can't seem to locate an librtmp.so v2.4 for Android anywhere (all the links are down) so I decided to compile my own, however it crashes XBMC and I can't figure out why.
Compilation Process:
This gave me my librtmp.so.0 (librtmp.so symlink). I then copied this over to my tablet's XBMC lib folder but when starting XBMC it crashes when loading libCURL. Restoring librtmp.so fixes the issue.
Tail end of xbmc.log:
Any thoughts? Or anyone have a 2.4 binary I can try?
Thanks,
Ben
Hrm, as I read what I've typed, I wonder if libCURL is compiled with OpenSSL statically and when librtmp introduces PolarSSL they conflict. No idea how to do this with OpenSSL though..
I can't seem to locate an librtmp.so v2.4 for Android anywhere (all the links are down) so I decided to compile my own, however it crashes XBMC and I can't figure out why.
Compilation Process:
- Used 64bit Fedora Linux to compile
- Got Android NDK from: http://developer.android.com/tools/sdk/ndk/index.html
- Set up NDK with '/tmp/rtmpdump/android-ndk-r8e/build/tools/make-standalone-toolchain.sh platform=android-14 --install-dir=/tmp/rtmpdump/android-toolchain --system=linux-x86_64'
- Set my path with 'export PATH="tmp/rtmpdump/android-toolchain/bin:$PATH"'
- Got Polar SSL from: https://polarssl.org/download
- Compiled Polar SSL with 'make CC=arm-linux-androideabi-gcc APPS='
- Installed Polar SSL to android-toolchain with 'make install DESTDIR=/tmp/rtmpdump/android-toolchain/sysroot'
- Got S74ck3r's version of rtmpdump from: https://github.com/S74ck3r/rtmpdump.git
- Compiled with 'make SYS=android CROSS_COMPILE=arm-linux-androideabi- INC="-I/tmp/rtmpdump/android-toolchain/sysroot/include" CRYPTO=POLARSSL'
This gave me my librtmp.so.0 (librtmp.so symlink). I then copied this over to my tablet's XBMC lib folder but when starting XBMC it crashes when loading libCURL. Restoring librtmp.so fixes the issue.
Tail end of xbmc.log:
Code:
10:57:00 T:1911142352 DEBUG: ------ Window Init (Home.xml) ------
10:57:00 T:1911142352 INFO: Loading skin file: Home.xml, load type: KEEP_IN_MEMORY
10:57:00 T:1911142352 DEBUG: Load Home.xml: 171.67ms
10:57:00 T:1911142352 DEBUG: Alloc resources: 177.16ms (171.86 ms skin load)
10:57:00 T:2034659936 DEBUG: CRecentlyAddedJob::UpdateMusic() - Running RecentlyAdded home screen update
10:57:00 T:1911142352 DEBUG: - no profile autoexec.py (/storage/emulated/0/Android/data/org.xbmc.xbmc/files/.xbmc/userdata/autoexec.py) found, skipping
10:57:00 T:1911142352 DEBUG: - Starting network services
10:57:00 T:1911142352 NOTICE: ES: Starting event server
10:57:00 T:1911142352 INFO: JSONRPC Server: Successfully initialized
10:57:00 T:1911142352 DEBUG: CLastfmScrobbler: Clearing session.
10:57:00 T:1911142352 DEBUG: CLibrefmScrobbler: Clearing session.
10:57:00 T:2032431648 NOTICE: ES: Starting UDP Event server on 0.0.0.0:9777
10:57:00 T:2032431648 NOTICE: UDP: Listening on port 9777
10:57:00 T:2034659936 DEBUG: GetRecentlyAddedAlbumSongs() query: SELECT songview.* FROM (SELECT idAlbum FROM albumview ORDER BY idAlbum DESC LIMIT 10) AS recentalbums JOIN songview ON songview.idAlbum=recentalbums.idAlbum
10:57:00 T:2034659936 DEBUG: query: select * from albumview where strAlbum != '' order by idAlbum desc limit 10
10:57:00 T:2026938024 DEBUG: SECTION:LoadDLL(libcurl.so)
10:57:00 T:2026938024 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libcurl.so
10:57:00 T:2026938024 ERROR: Unable to load /data/app-lib/org.xbmc.xbmc-1/libcurl.so, reason: (null)
10:57:00 T:2026938024 DEBUG: CurlFile::Open(0x79415d08) http://feeds.xbmc.org/xbmc
10:57:00 T:2026938024 DEBUG: SECTION:LoadDLL(libcurl.so)
10:57:00 T:2026938024 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libcurl.so
10:57:00 T:2026938024 ERROR: Unable to load /data/app-lib/org.xbmc.xbmc-1/libcurl.so, reason: (null)
10:57:00 T:2034659936 DEBUG: CRecentlyAddedJob::UpdateVideos() - Running RecentlyAdded home screen update
Any thoughts? Or anyone have a 2.4 binary I can try?
Thanks,
Ben
Hrm, as I read what I've typed, I wonder if libCURL is compiled with OpenSSL statically and when librtmp introduces PolarSSL they conflict. No idea how to do this with OpenSSL though..