2014-07-05, 22:19
Hello,
I'm here again, searching for help. I've purchased a banana-pi board based on AllWinner A20 chip.
I'm trying to compile XBMC following these instructions (http://linux-sunxi.org/XBMC) on a BananaPI device (http://www.lemaker.org/) with Lubuntu provided by the constructor:
http://www.lemaker.org/index.php?m=conte...id=9&id=38
I've asked on linux-sunxi and on BananaPI for help, but for now nothing new.
Here some informations about the device
Following these instructions on linux-sunxi I'm on a blocked point. This is what I've done until here:
- due some dependencies issues during xmbc compile I've manually installed the 'UMP (Unified Memory Provider) userspace library' from http://linux-sunxi.org/Mali_binary_driver
- then, due samba-4.0 path issues I've applied this patch and added 'export CXXFLAGS="-I/usr/include/samba-4.0";' before start compiling.
These steps allowed me to compile succesfully XBMC, but it's not starting.
The first error I've encured was:
Looking for called shared libraries on the binary:
So, searching for this file, I've seen the sunxi-mali had it. Maybe during the dependencies compile, this was skipped due some error. Moved to 'sunxi-mali' folder, I've tried to recompile it manually, but gives me these errors:
mali module is not installed and not possible to load it, maybe due incompatible HW?
So i tried to provide by myself the configure options. ABI based on architecture: armhf and version choosen the last.
So, now the libraries are located (but maybe wrong??)
And now, executing xbmc I obtain:
The xbmc log ens with:
I don't know if the instructions on http://linux-sunxi.org/XBMC are compatible for A20 and for the device.
I know, compiling issues o doubts on linux-sunxi should be asked there, but what I'm not understanding is the XBMC error on the cli (undefined symbol: eglGetDisplay) and into the logs.
Maybe, going deeper on these errors I can understood better where to look.
And all this is directly compiled on the device, which it takes a looot of time, (also not Cross Compiled), but so I'm 100% sure there are no issues due external OS used, anyway...
Any idea?
Thanks a lot!!!
Simon
I'm here again, searching for help. I've purchased a banana-pi board based on AllWinner A20 chip.
I'm trying to compile XBMC following these instructions (http://linux-sunxi.org/XBMC) on a BananaPI device (http://www.lemaker.org/) with Lubuntu provided by the constructor:
http://www.lemaker.org/index.php?m=conte...id=9&id=38
I've asked on linux-sunxi and on BananaPI for help, but for now nothing new.
Here some informations about the device
Code:
root@lemaker:~# cat /etc/debian_version
jessie/sid
root@lemaker:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
root@lemaker:~# lshw
lemaker
description: Computer
width: 32 bits
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 873MiB
*-cpu
physical id: 1
bus info: cpu@0
size: 912MHz
capacity: 912MHz
capabilities: cpufreq
*-network
description: Ethernet interface
physical id: 1
logical name: eth0
serial: 02:89:06:03:25:36
size: 100Mbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp aui bnc mii fibre 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=sunxi_gmac driverversion=SUNXI GMAC driver V0.1 duplex=full ip=172.18.0.180 link=yes multicast=yes port=MII speed=100Mbit/s
root@lemaker:~# uname -a
Linux lemaker 3.4.90 #1 SMP PREEMPT Wed Jun 25 19:54:01 CST 2014 armv7l armv7l armv7l GNU/Linux
Following these instructions on linux-sunxi I'm on a blocked point. This is what I've done until here:
- due some dependencies issues during xmbc compile I've manually installed the 'UMP (Unified Memory Provider) userspace library' from http://linux-sunxi.org/Mali_binary_driver
- then, due samba-4.0 path issues I've applied this patch and added 'export CXXFLAGS="-I/usr/include/samba-4.0";' before start compiling.
These steps allowed me to compile succesfully XBMC, but it's not starting.
The first error I've encured was:
Code:
root@lemaker:/allwinner/xbmc-pvr-binhf/bin# ./xbmc
/allwinner/xbmc-pvr-binhf/lib/xbmc/xbmc.bin: error while loading shared libraries: libGLESv2.so: cannot open shared object file: No such file or directory
Looking for called shared libraries on the binary:
Code:
root@lemaker:/allwinner/xbmc-pvr-binhf/bin# ldd /data/apps/allwinner/xbmc-pvr-binhf/lib/xbmc/xbmc.bin | grep "not found"
libGLESv2.so => not found
So, searching for this file, I've seen the sunxi-mali had it. Maybe during the dependencies compile, this was skipped due some error. Moved to 'sunxi-mali' folder, I've tried to recompile it manually, but gives me these errors:
Code:
root@lemaker:/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali# make install
make -f Makefile.config
ABI="armhf" (Detected)
Error: Failed to open /dev/mali: No such file or directory
VERSION="" (Detected)
Error: Failed to open /dev/mali: No such file or directory
Error: Failed to open /dev/mali: No such file or directory
Error: Failed to open /dev/mali: No such file or directory
Error: Failed to open /dev/mali: No such file or directory
Error: Failed to open /dev/mali: No such file or directory
make[1]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
Makefile.config:57: Unknown/unhandled Mali Version ""
Makefile.config:58: Use VERSION=(r2p4,r3p0,r3p1,r3p2-01rel1) instead
Error: Failed to open /dev/mali: No such file or directory
Makefile.config:59: *** Unknown/unhandled Mali Version "". Stop.
make[1]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
make: *** [config.mk] Error 2
mali module is not installed and not possible to load it, maybe due incompatible HW?
Code:
# lsmod
Module Size Used by
rfcomm 58154 0
bnep 14285 2
bluetooth 263337 10 bnep,rfcomm
dm_crypt 16196 0
8192cu 453451 0
mali_drm 2616 0
drm 208898 1 mali_drm
ump 52441 0
lcd 3802 0
# modprobe mali
modprobe: FATAL: Module mali not found.
So i tried to provide by myself the configure options. ABI based on architecture: armhf and version choosen the last.
Code:
# make config VERSION=r3p2-01rel1 ABI=armhf
rm -f config.mk
make config.mk
make[1]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
make -f Makefile.config
ABI="armhf" (Provided)
VERSION="r3p2-01rel1" (Provided)
EGL_TYPE="framebuffer" (Detected)
make[2]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
echo "MALI_VERSION ?= r3p2-01rel1" > config.mk
echo "MALI_LIBS_ABI ?= armhf" >> config.mk
echo "MALI_EGL_TYPE ?= framebuffer" >> config.mk
make[2]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
make[1]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali'
root@lemaker:/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali# make install
make -C lib install
make[1]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib'
make -C mali install
make[2]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib/mali'
make -C r3p2-01rel1/armhf/framebuffer/
make[3]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib/mali/r3p2-01rel1/armhf/framebuffer'
install -m 644 libMali.so libEGL.so.1.4 libGLESv1_CM.so.1.1 libGLESv2.so.2.0 //allwinner/xbmc-pvr-binhf/lib/
rm -f //allwinner/xbmc-pvr-binhf/lib/libEGL.so.1 //allwinner/xbmc-pvr-binhf/lib/libEGL.so
ln -sf libEGL.so.1.4 //allwinner/xbmc-pvr-binhf/lib/libEGL.so.1
ln -sf libEGL.so.1 //allwinner/xbmc-pvr-binhf/lib/libEGL.so
rm -f //allwinner/xbmc-pvr-binhf/lib/libGLESv1_CM.so.1 //allwinner/xbmc-pvr-binhf/lib/libGLESv1_CM.so
ln -sf libGLESv1_CM.so.1.1 //allwinner/xbmc-pvr-binhf/lib/libGLESv1_CM.so.1
ln -sf libGLESv1_CM.so.1 //allwinner/xbmc-pvr-binhf/lib/libGLESv1_CM.so
rm -f //allwinner/xbmc-pvr-binhf/lib/libGLESv2.so.2 //allwinner/xbmc-pvr-binhf/lib/libGLESv2.so
ln -sf libGLESv2.so.2.0 //allwinner/xbmc-pvr-binhf/lib/libGLESv2.so.2
ln -sf libGLESv2.so.2 //allwinner/xbmc-pvr-binhf/lib/libGLESv2.so
make[3]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib/mali/r3p2-01rel1/armhf/framebuffer'
make[2]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib/mali'
make[1]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/lib'
make -C include install
make[1]: Entering directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/include'
mkdir -p //allwinner/xbmc-pvr-binhf//include/EGL
install -m 644 EGL/egl.h EGL/eglext.h //allwinner/xbmc-pvr-binhf//include/EGL
mkdir -p //allwinner/xbmc-pvr-binhf//include/EGL
install -m 644 EGL/eglplatform_fb.h //allwinner/xbmc-pvr-binhf//include/EGL/eglplatform.h
mkdir -p //allwinner/xbmc-pvr-binhf//include/GLES
install -m 644 GLES/gl.h GLES/glext.h GLES/glplatform.h //allwinner/xbmc-pvr-binhf//include/GLES
mkdir -p //allwinner/xbmc-pvr-binhf//include/GLES2
install -m 644 GLES2/gl2.h GLES2/gl2ext.h GLES2/gl2platform.h //allwinner/xbmc-pvr-binhf//include/GLES2
mkdir -p //allwinner/xbmc-pvr-binhf//include/KHR
install -m 644 KHR/khrplatform.h //allwinner/xbmc-pvr-binhf//include/KHR
make[1]: Leaving directory `/data/software/xbmc-install/xbmca10/tools/a10/depends/opengles/sunxi-mali/include'
So, now the libraries are located (but maybe wrong??)
Code:
# updatedb
# locate libGLESv2.so
/data/apps/allwinner/xbmc-pvr-binhf/lib/libGLESv2.so
/data/apps/allwinner/xbmc-pvr-binhf/lib/libGLESv2.so.2
/data/apps/allwinner/xbmc-pvr-binhf/lib/libGLESv2.so.2.0
And now, executing xbmc I obtain:
Code:
root@lemaker:/allwinner/xbmc-pvr-binhf/bin# ./xbmc
/allwinner/xbmc-pvr-binhf/lib/xbmc/xbmc.bin: symbol lookup error: /allwinner/xbmc-pvr-binhf/lib/xbmc/xbmc.bin: undefined symbol: eglGetDisplay
The xbmc log ens with:
Code:
17:17:32 T:3043540992 DEBUG: CPeripheralBusUSB - initialised udev monitor
17:17:32 T:3031430176 NOTICE: Thread XBMC Peripherals start, auto delete: false
17:17:32 T:3043540992 INFO: LIRC Initialize: using: /dev/lircd
17:17:32 T:3043540992 INFO: LIRC Initialize: connect failed: No such file or directory
17:17:32 T:3043540992 DEBUG: Failed to connect to LIRC. Retry in 10s.
17:17:32 T:3043540992 DEBUG: UDisks: org.freedesktop.DBus.Error.ServiceUnknown - The name org.freedesktop.UDisks was not provided by any .service files
17:17:32 T:3043540992 DEBUG: DeviceKit.Disks: org.freedesktop.DBus.Error.ServiceUnknown - The name org.freedesktop.DeviceKit.Disks was not provided by any .service files
17:17:32 T:3043540992 DEBUG: Selected Posix mount as storage provider
17:17:32 T:3043540992 ERROR: A10: display mode 255 is unknown. Assume refreh rate 60Hz
17:17:33 T:3043540992 NOTICE: InitWindowSystem: Using EGL Implementation: A10
I don't know if the instructions on http://linux-sunxi.org/XBMC are compatible for A20 and for the device.
I know, compiling issues o doubts on linux-sunxi should be asked there, but what I'm not understanding is the XBMC error on the cli (undefined symbol: eglGetDisplay) and into the logs.
Maybe, going deeper on these errors I can understood better where to look.
And all this is directly compiled on the device, which it takes a looot of time, (also not Cross Compiled), but so I'm 100% sure there are no issues due external OS used, anyway...
Any idea?
Thanks a lot!!!
Simon