libretro / Lakka-LibreELEC

Lakka is a lightweight Linux distribution that transforms a small computer into a full blown game console.
https://www.lakka.tv
1.76k stars 289 forks source link

Compiling Lakka for Cubox fails @ Building Retroarch #113

Closed thefoofighter closed 7 years ago

thefoofighter commented 7 years ago

Hi,

I tried posting on the forums and either I am too thick to find the create thread button or there is some kind of time limit preventing new users from creating threads. Irregardless it might make more sense here anyway.

Background: I own a cubox-i 4 pro which I recently loaded LibreELEC on after switching from OpenELEC. The latest builds using kernel 4.4 cause a black screen on boot for some Cubox-i owners. Vpeter over at LibreELEC has kindly built the latest sources for the community using the 3.14 Kernel which thankfully works on my device.

in this Lakka repo for LibreELEC he has also added the kernel sr-3.14 for solidrun devices that have this issue.

I attempted to build the sources using a clean Linux Mint installation for it to fail it seems at the retroarch build.

If this is not the right place to post this feel free to close it but please point me in the right direction :)

Here is the log. I ran this as a regular user.

thefoofighter@LinuxMint ~/Dev/Lakka-LibreELEC $ DISTRO=Lakka PROJECT=imx6 SYSTEM=cuboxi ARCH=arm LINUX_VERSION=sr-3.14 make image
./scripts/image mkimage
 =================================================================================
 Configuration for Lakka (community)
 =================================================================================

 Buildoptions:
 ======================================================
 - CPU (ARCH):               cortex-a9 (arm)
 - FLOAT:                hard
 - FPU:                  neon
 - SIMD support:             yes
 - LTO (Link Time Optimization) support: yes
 - GOLD (Google Linker) Support:     yes
 - LLVM support:             

 Graphic configuration:
 ======================================================
 - OpenGL (GLX) support (provider):  no (no)
 - OpenGLES support (provider):      yes (imx-gpu-viv)
 - uvesafb support:          no

 Hardware decoder configuration:
 ======================================================
 - Kodi Player driver:           libfslvpuwrap
 - VAAPI Support:            
 - VDPAU Support:            

 Input device configuration:
 ======================================================
 - Remote support:           no
 - ATV Remote support:           no
 - CEC Adapter support:          yes
 - Kodi Joystick support:        yes

 Misc. hardware configuration:
 ======================================================
 - ALSA support:             yes
 - Pulseaudio support:           no
 - Bluetooth support:            yes
 - Include driver:           RTL8192CU
 - Include driver:           RTL8192DU
 - Include driver:           RTL8192EU
 - Include driver:           RTL8188EU
 - Include driver:           RTL8812AU
 - Include driver:           RTL8192EU
 - Include firmware:             misc-firmware
 - Include firmware:             wlan-firmware
 - Include firmware:             iwlwifi-firmware
 - Include firmware:             dvb-firmware
 - Include firmware:             brcmfmac_sdio-firmware-imx

 Network service configuration:
 ======================================================
 - Avahi (Zeroconf) support:         yes
 - NFS mounting support:         yes
 - SAMBA mounting support:       yes
 - SAMBA server support:         yes
 - SFTP server support:          yes
 - OpenVPN support:          yes

 OS configuration:
 ======================================================
 - OEM Support:              yes
 - Default ROOT Password:        root
 - Bootloader:               u-boot
   - U-Boot configuration:       mx6_cubox-i_config                   matrix
   - U-Boot config file:         
 - UDevil support:           yes
 - Installer support:            no

 Misc. Filesystems:
 ======================================================
 - Swap Support:             no
 - exFAT Support (via Fuse):         yes
 - NTFS Support (via Fuse):      yes
 - Install HFS Tools:            yes

 Kodi configuration:
 ======================================================
 - Kodi version:             no
 - Kodi nonfree support:         yes
 - Kodi Blu-Ray support:         yes
   - Bluray BD+ support:         yes
   - Bluray AACS support:        yes
 - Kodi DVDCSS support:          yes
 - Kodi Airplay support:         yes
 - Kodi Airtunes support:        yes
 - Kodi NFS support:             yes
 - Kodi MySQL support:           yes
 - Kodi Optical Drive support:       yes
 - Kodi SAMBA client support:        yes
 - Kodi SSH client support:      yes
 - Kodi UPNP support:            yes
 - Kodi Webserver support:       yes
 - Include Skin:             Confluence
 - Default Skin:             Confluence
 - Include extra fonts:          yes

 =================================================================================
 End Configuration for Lakka
 =================================================================================

  INSTALL    libc (target)
      INSTALL    toolchain (target)
          INSTALL    configtools (host)
          INSTALL    make (host)
          INSTALL    xz (host)
          INSTALL    sed (host)
          INSTALL    pkg-config (host)
          INSTALL    autoconf (host)
          INSTALL    automake (host)
          INSTALL    libtool (host)
          INSTALL    intltool (host)
          INSTALL    autoconf-archive (host)
          INSTALL    gcc (host)
          INSTALL    bison (host)
          INSTALL    flex (host)
          INSTALL    cmake (host)
          INSTALL    yasm (host)
      INSTALL    glibc (target)
          INSTALL    ccache (host)
          INSTALL    autotools (host)
          INSTALL    linux (host)
          INSTALL    gcc (bootstrap)
      INSTALL    tz (target)
  INSTALL    gcc (target)
  INSTALL    linux (target)
      INSTALL    cpio (host)
      INSTALL    kmod (host)
      INSTALL    wireless-regdb (target)
      INSTALL    keyutils (target)
      INSTALL    imx6-status-led (target)
      INSTALL    imx6-soc-fan (target)
  INSTALL    linux-drivers (target)
      INSTALL    RTL8192CU (target)
      INSTALL    RTL8192DU (target)
      INSTALL    RTL8192EU (target)
      INSTALL    RTL8188EU (target)
      INSTALL    RTL8812AU (target)
  INSTALL    linux-firmware (target)
      INSTALL    misc-firmware (target)
      INSTALL    wlan-firmware (target)
      INSTALL    iwlwifi-firmware (target)
      INSTALL    dvb-firmware (target)
      INSTALL    brcmfmac_sdio-firmware-imx (target)
  INSTALL    u-boot (target)
      INSTALL    u-boot-v2 (target)
  INSTALL    busybox (target)
      INSTALL    busybox (host)
      INSTALL    hdparm (target)
      INSTALL    dosfstools (target)
      INSTALL    e2fsprogs (target)
          INSTALL    diskdev_cmds (target)
              INSTALL    libressl (target)
      INSTALL    zip (target)
          INSTALL    bzip2 (target)
      INSTALL    unzip (target)
      INSTALL    usbutils (target)
          INSTALL    libusb (target)
              INSTALL    systemd (target)
                  INSTALL    libcap (target)
                  INSTALL    kmod (target)
                  INSTALL    util-linux (target)
      INSTALL    parted (target)
          INSTALL    parted (host)
      INSTALL    procps-ng (target)
          INSTALL    netbsd-curses (target)
      INSTALL    gptfdisk (target)
          INSTALL    popt (target)
      INSTALL    nano (target)
      INSTALL    rpcbind (target)
          INSTALL    libtirpc (target)
  INSTALL    corefonts (target)
      INSTALL    liberation-fonts-ttf (target)
          INSTALL    util-macros (target)
  INSTALL    network (target)
      INSTALL    connman (target)
          INSTALL    glib (target)
              INSTALL    zlib (target)
              INSTALL    libffi (target)
              INSTALL    Python (host)
          INSTALL    readline (target)
          INSTALL    dbus (target)
              INSTALL    expat (target)
          INSTALL    iptables (target)
              INSTALL    libmnl (target)
              INSTALL    libnftnl (target)
          INSTALL    wpa_supplicant (target)
              INSTALL    libnl (target)
      INSTALL    iana-etc (target)
      INSTALL    ethtool (target)
      INSTALL    openssh (target)
      INSTALL    bluez (target)
      INSTALL    samba (target)
          INSTALL    avahi (target)
              INSTALL    libdaemon (target)
      INSTALL    openvpn (target)
          INSTALL    lzo (target)
  INSTALL    alsa (target)
      INSTALL    alsa-lib (target)
      INSTALL    alsa-utils (target)
  INSTALL    udevil (target)
  INSTALL    fuse-exfat (target)
      INSTALL    fuse (target)
  INSTALL    ntfs-3g_ntfsprogs (target)
  INSTALL    debug (target)
      INSTALL    gdb (target)
  BUILD    retroarch (target)
Executing (target): /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/retroarch-0b05fdf/configure --disable-vg --disable-sdl --enable-neon --enable-fbo --enable-zlib --enable-freetype
Checking operating system ... Linux (Linux Mint 18.1 Serena 18.1)
Checking for suitable working C compiler ... /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/armv7a-libreelec-linux-gnueabi-gcc works
Checking for suitable working C++ compiler ... /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/armv7a-libreelec-linux-gnueabi-g++ works
Checking for pkg-config ... /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/pkg-config
Checking for availability of switch -std=gnu99 in /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/armv7a-libreelec-linux-gnueabi-gcc ... yes
Checking for availability of switch -Wno-unused-result in /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/armv7a-libreelec-linux-gnueabi-gcc ... yes
Checking for availability of switch -Wno-unused-variable in /home/thefoofighter/Dev/Lakka-LibreELEC/build.Lakka-imx6.arm-8.0-devel/toolchain/bin/armv7a-libreelec-linux-gnueabi-gcc ... yes
Checking function bcm_host_init in -lbcm_host ... no
Checking function sd_get_machine_names in -lsystemd ... yes
Checking presence of package egl ... no
Checking existence of -lEGL ... yes
Checking function ass_library_init in -lass ... yes
Checking function pthread_create in -lpthread ... yes
Checking function pthread_key_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking existence of -lminiupnpc ... no
Checking function fcntl in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking presence of package alsa ... 1.1.2
Checking presence of header file sys/soundcard.h ... yes
Checking presence of header file soundcard.h ... no
Checking existence of -lossaudio ... no
Checking function alcOpenDevice in -lopenal ... no
Checking presence of package rsound >= 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package jack >= 0.120.1 ... no
Checking presence of package libpulse ... no
Checking presence of package sdl2 >= 2.0.0 ... no
Checking presence of package libusb-1.0 >= 1.0.16 ... 1.0.20
Checking presence of header file GL/gl.h ... no
Notice: Ignoring Cg. Desktop OpenGL is not enabled.
Checking presence of package zlib ... 1.2.8
Checking presence of package libavcodec >= 54 ... 57.48.101
Checking presence of package libavformat >= 54 ... 57.41.100
Checking presence of package libavdevice ... 57.0.101
Checking presence of package libswresample ... 2.1.100
Checking presence of package libavresample ... no
Checking presence of package libavutil >= 51 ... 55.28.100
Checking presence of package libswscale >= 2.1 ... 4.1.100
Checking presence of header file libavutil/channel_layout.h ... yes
Checking function dlopen in -ldl ... yes
Checking presence of package gbm >= 9.0 ... no
Checking presence of package libdrm ... no
Checking presence of package libxml-2.0 ... 2.9.4
Checking presence of package libv4l2 ... no
Checking function glFramebufferTexture2D in -lGL ... no
Forced to build with library -lGL, but cannot locate. Exiting ...
Makefile:12: recipe for target 'image' failed
make: *** [image] Error 1
thefoofighter@LinuxMint ~/Dev/Lakka-LibreELEC $ 

What seems suspicious to me is:

Checking presence of package egl ... no
.....
Checking function glFramebufferTexture2D in -lGL ... no
Forced to build with library -lGL, but cannot locate. Exiting ...

When i did a ./configure directly within the retroarch folder it found EGL

I also attempted this build on Ubuntu 16.04.02 LTS with the same results. Am I missing some dependencies? I followed the Linux Compile guide at retroarch for adding dependencies, but perhaps I am missing something?

I would appreciate any help or nudges in the right direction even :)

Would love to ultimately dual boot Lakka with LibreELEC using BerryBoot.

Thanks

thefoofighter commented 7 years ago

Thanks for pulling the fix :)