Tic80 build fails for target RK3328

Hi,

I’m trying to compile Lakka for RK3328 and getting an error when it reaches the Tic80 core.

Building for target : Linux
PROJECT_VERSION: 0.80.1281-dev
CMake Error at CMakeLists.txt:530 (add_subdirectory):
  The source directory

    /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-8bfb0de/vendor/curl

  does not contain a CMakeLists.txt file.


CMake Error at CMakeLists.txt:573 (add_subdirectory):
  The source directory

    /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-8bfb0de/vendor/zip

  does not contain a CMakeLists.txt file.


-- Configuring incomplete, errors occurred!
See also "/opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-8bfb0de/.armv8a-libreelec-linux-gnueabi/CMakeFiles/CMakeOutput.log".
FAILURE: scripts/install tic80 has failed!
[307/327] [FAIL] install tic80

Can I skip this core? Or is there an obvious fix?

Update the core version in the package.mk file to the latest git. The version that Lakka uses does not compile anymore because some of the submodules that the core needs have been deleted.

You should also submit a bug ticket on Lakka’s github page, this affects everyone who tries to compile Lakka.

This was a recent git clone, so it seems like it should be up-to-date. How do I update the core version, as you describe?

The version you are using is 8bfb0de which dates from May 2020. To update, go to your lakka source folder, then packages/libretro/tic80/package.mk, and there, update PKG_VERSION to a newer version. c6025d9 would be the latest, though i haven’t tested that particular one. If it doesn’t work, go to Commits · nesbox/TIC-80 (github.com) and try an older version.

I’ll try that. Thanks!

Hmm, it looks like it updated but still didn’t work. It seems like it’s trying to reference source from the older version.

HEAD is now at c6025d9 Merge pull request #1361 from RobLoach/memory
    GIT SUBMODULE      tic80
Submodule 'vendor/argparse' (https://github.com/cofyc/argparse.git) registered for path 'vendor/argparse'
Submodule 'vendor/circle-stdlib' (https://github.com/smuehlst/circle-stdlib.git) registered for path 'vendor/circle-stdlib'
Submodule 'vendor/http-parser' (https://github.com/nodejs/http-parser.git) registered for path 'vendor/http-parser'
Submodule 'vendor/libuv' (https://github.com/libuv/libuv.git) registered for path 'vendor/libuv'
Submodule 'vendor/moonscript' (https://github.com/nesbox/moonscript.git) registered for path 'vendor/moonscript'
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/argparse'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/circle-stdlib'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/http-parser'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/giflib'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/lpeg'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/libuv'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/moonscript'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/lua'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/sokol'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/sdl-gpu'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/squirrel'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/sdl2'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/zip'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/wren'...
Cloning into '/opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-c6025d9/vendor/zlib'...
From https://github.com/cofyc/argparse
 * branch            0d5f5d0745df14a3f373f7eed85bf524714f4524 -> FETCH_HEAD
Submodule path 'vendor/argparse': checked out '0d5f5d0745df14a3f373f7eed85bf524714f4524'
fatal: not a git repository: /opt/lakka/Lakka-LibreELEC/sources/tic80/tic80-8bfb0de/.git/modules/vendor/blip-buf
Unable to find current revision in submodule path 'vendor/blip-buf'
FAILURE: scripts/install tic80 has failed!

I ran it again:

BUILD      tic80 (target)
    TOOLCHAIN      cmake
Executing (target): cmake -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE=/opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/toolchain/etc/cmake-armv8a-libreelec-linux-gnueabi.conf -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_PLAYER=OFF -DBUILD_SDL=OFF -DBUILD_SOKOL=OFF -DBUILD_DEMO_CARTS=OFF -DBUILD_LIBRETRO=ON /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-c6025d9
-- Found Git: /usr/bin/git (found version "2.20.1")
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc
-- Check for working C compiler: /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-g++
-- Check for working CXX compiler: /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Building for target : Linux
PROJECT_VERSION: 0.90.0-dev
BUILD_SDLGPU: OFF
BUILD_TOUCH_INPUT: OFF
CMake Error at CMakeLists.txt:505 (add_subdirectory):
  The source directory

    /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-c6025d9/vendor/zip

  does not contain a CMakeLists.txt file.


CMake Error at CMakeLists.txt:593 (add_subdirectory):
  The source directory

    /opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-c6025d9/vendor/curl

  does not contain a CMakeLists.txt file.


-- Configuring incomplete, errors occurred!
See also "/opt/lakka/Lakka-LibreELEC/build.Lakka-RK3328.arm-3.0-devel/tic80-c6025d9/.armv8a-libreelec-linux-gnueabi/CMakeFiles/CMakeOutput.log".
FAILURE: scripts/install tic80 has failed!
[307/327] [FAIL] install tic80

Try the following:

Manually delete everything in /opt/lakka/Lakka-LibreELEC/sources/tic80/

And clean the build directory if you haven’t already: DISTRO=Lakka PROJECT=xxx DEVICE=xxx ARCH=xxx scripts/clean tic80

Then rebuild with DISTRO=Lakka PROJECT=xxx DEVICE=xxx ARCH=xxx scripts/build tic80

If you’re still getting references to the old version (8bfb0de) in your build messages, something is wrong.

1 Like

That worked! I back-tracked a little on the version (b475491) but I doubt that had any impact. I think that cleaning out the sources/build was the key.

Thank you! I did post a bug on GitHub. Hopefully, that’s helpful.

1 Like