spleen1981 / retroarch-kodi-addon-CoreELEC

RetroArch KODI add-on for CoreELEC
53 stars 6 forks source link

cant cross build on ubuntu 22.04 (x86_64) #13

Closed VergilGao closed 1 year ago

VergilGao commented 1 year ago

just want to test my translation text

$ cat retroarch-kodi_20230427_094924.log | grep "\.\.\. no$"
checking whether we are cross compiling... no
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether _XOPEN_SOURCE should be defined... no
checking for Minix Amsterdam compiler... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _set_invalid_parameter_handler... no
checking for fpurge... no
checking for __freadahead... no
checking for getprogname... no
checking for getexecname... no
checking for vasnprintf... no
checking for xlocale.h... no
checking for working C stack overflow detection... no
checking whether // is distinct from /... no
checking whether system header files limit the line length... no
checking whether long double and double are the same... no
checking whether fflush works on input streams... no
checking whether stat file-mode macros are broken... no
checking whether byte ordering is bigendian... no
checking whether <limits.h> defines MIN and MAX... no
checking whether C symbols are prefixed with underscore at the linker level... no
checking whether wint_t is too small... no
checking whether stdint.h predates C++11... no
checking whether sys_siglist is declared... no
checking whether _snprintf is declared... no
checking whether printf supports the 'n' directive... no
checking whether to use C++... no

i use ubuntu 22.04, and already install the build-essential package.

$ sudo apt install build-essential
[sudo] password for builder:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.
In file included from /usr/include/signal.h:328,
                 from ./signal.h:52,
                 from /home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/lib/c-stack.c:49:
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/lib/c-stack.c:55:26: error: missing binary operator before token "("
   55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
      |                          ^~~~~~~~
  CC       asnprintf.o
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/lib/c-stack.c:107:1: warning: 'die' defined but not used [-Wunused-function]
  107 | die (int signo)
      | ^~~
make[3]: *** [Makefile:1910: c-stack.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/.x86_64-linux-gnu/lib'
make[2]: *** [Makefile:1674: all] Error 2
make[2]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/.x86_64-linux-gnu/lib'
make[1]: *** [Makefile:1572: all-recursive] Error 1
make[1]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/m4-1.4.18/.x86_64-linux-gnu'
make: *** [Makefile:1528: all] Error 2
FAILURE: scripts/build m4:host during make_host (default)
*********** FAILED COMMAND ***********
make ${PKG_MAKE_OPTS_HOST}
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC
spleen1981 commented 1 year ago

can you check if c2407e1d160fcfc4f9cf4da37c4050d1d4575639 fixes the build?

VergilGao commented 1 year ago

it still running, i will wait for it finished.

VergilGao commented 1 year ago

retroarch-kodi_20230427_165336.log

its failed, here is the log file.

spleen1981 commented 1 year ago

it looks like this XML::Parser perl module is missing on your system

VergilGao commented 1 year ago

retroarch-kodi_20230427_203633.log

i install the XML::Parser in perl, and it throw another error

make[3]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
Updating /home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/doc/version.texi
  CC       libltdl/libltdl_libltdl_la-slist.lo
  CCLD     libltdl/dlopen.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libltdl/libltdl.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
make[1]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
make  install-recursive
make[1]: Entering directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
Making install in .
make[2]: Entering directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
  MAKEINFO /home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/doc/libtool.info
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/build-aux/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <http://www.gnu.org/software/texinfo/>
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <http://www.gnu.org/software/make/>
make[2]: *** [Makefile:1352: /home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/doc/libtool.info] Error 127
make[2]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
make[1]: *** [Makefile:1558: install-recursive] Error 1
make[1]: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/.x86_64-linux-gnu'
make: *** [Makefile:1860: install] Error 2
FAILURE: scripts/build libtool:host during makeinstall_host (default)
*********** FAILED COMMAND ***********
make install ${PKG_MAKEINSTALL_OPTS_HOST}
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${p}" "${PARENT_PKG}"
**************************************
/home/builder/retroarch-kodi-addon-CoreELEC/scripts/../patches/common/92-bump_m4.patch:30: trailing whitespace.

/home/builder/retroarch-kodi-addon-CoreELEC/scripts/../patches/common/92-bump_m4.patch:31: trailing whitespace.

/home/builder/retroarch-kodi-addon-CoreELEC/scripts/../patches/common/92-bump_m4.patch:34: trailing whitespace.

/home/builder/retroarch-kodi-addon-CoreELEC/scripts/../patches/common/92-bump_m4.patch:38: trailing whitespace.

/home/builder/retroarch-kodi-addon-CoreELEC/scripts/../patches/common/92-bump_m4.patch:40: trailing whitespace.

warning: squelched 11 whitespace errors
warning: 16 lines add whitespace errors.
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC

i use cat retroarch-kodi_20230427_203633.log | grep '[E|e]rror' and it shows this the last few lines

...
-- Looking for perror
-- Looking for perror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror
-- Looking for strerror - found
[  7%] Building C object Utilities/cmzstd/CMakeFiles/cmzstd.dir/lib/common/error_private.c.o
[ 37%] Building C object Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/strerror.c.o
checking for dlerror... yes
checking for error_t... yes
  CC       libltdl/libltdl_libltdl_la-lt_error.lo
make[2]: *** [Makefile:1352: /home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/libtool-2.4.6/doc/libtool.info] Error 127
make[1]: *** [Makefile:1558: install-recursive] Error 1
make: *** [Makefile:1860: install] Error 2
warning: squelched 11 whitespace errors
warning: 16 lines add whitespace errors.
spleen1981 commented 1 year ago

WARNING: 'makeinfo' is missing on your system.

VergilGao commented 1 year ago

i see, and i install texinfo then rebuild now.

VergilGao commented 1 year ago

i install JSON module in perl then retry. i think they should provide a dependence list, im boring in failed -> install another package -> retry loop. another missing package: Parse::Yapp::Driver in perl

VergilGao commented 1 year ago
FAILED: glib/libglib-2.0.a.p/gspawn.c.o
/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/toolchain/bin/host-gcc -Iglib/libglib-2.0.a.p -Iglib -I../glib -I. -I.. -I/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/toolchain/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -D_GNU_SOURCE -fno-strict-aliasing -Wduplicated-branches -Wimplicit-fallthrough -Wmisleading-indentation -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -march=native -O2 -Wall -Wno-format-security -fPIC -pthread '-DG_LOG_DOMAIN="GLib"' -DGLIB_COMPILATION -MD -MQ glib/libglib-2.0.a.p/gspawn.c.o -MF glib/libglib-2.0.a.p/gspawn.c.o.d -o glib/libglib-2.0.a.p/gspawn.c.o -c ../glib/gspawn.c
../glib/gspawn.c: In function 'safe_closefrom':
../glib/gspawn.c:1342:7: error: too few arguments to function 'close_range'
 1342 |   if (close_range (lowfd, G_MAXUINT) != 0 && errno == ENOSYS)
      |       ^~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/sigstksz.h:24,
                 from /usr/include/signal.h:328,
                 from /usr/include/x86_64-linux-gnu/sys/wait.h:36,
                 from ../glib/gspawn.c:25:
/usr/include/unistd.h:1208:12: note: declared here
 1208 | extern int close_range (unsigned int __fd, unsigned int __max_fd,
      |            ^~~~~~~~~~~
[119/473] Compiling C object gthread/libgthread-2.0.a.p/gthread-impl.c.o
[120/473] Compiling C object glib/libglib-2.0.a.p/giounix.c.o
[121/473] Compiling C object glib/libglib-2.0.a.p/gvariant-parser.c.o
[122/473] Compiling C object glib/libglib-2.0.a.p/gthread-posix.c.o
[123/473] Compiling C object glib/libglib-2.0.a.p/gvariant.c.o
[124/473] Compiling C object glib/gtester.p/gtester.c.o
[125/473] Generating glib_enumtypes_h with a custom command (wrapped by meson to capture output)
ninja: build stopped: subcommand failed.
FAILURE: scripts/build glib:host during make_host (default)

my glibc version is 2.35

$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
spleen1981 commented 1 year ago

you can check c2ce67539131105ab28f76468cfbf58a1b26ab14

VergilGao commented 1 year ago
../meson.build:1:0: ERROR: Meson version is 0.56.0 but project requires >= 0.60.0 

i didnt install meson so i think it tells meson version in toolchain is too low.

spleen1981 commented 1 year ago

74e81d8e512b2d9516e2f124eb455b1900efbe37

VergilGao commented 1 year ago

ok, the retroarch build is done. but that is another error

HEAD is now at c23be77 Enable inlined memory functions in cpu core
    GIT SUBMODULE      dosbox_svn
Submodule 'libretro/deps/common' (https://github.com/libretro/libretro-common.git) registered for path 'libretro/deps/common'
Submodule 'libretro/deps/embedded_sdl' (https://github.com/fr500/sdl1.2.git) registered for path 'libretro/deps/embedded_sdl'
Submodule 'libretro/deps/sdl' (https://github.com/SDL-mirror/SDL.git) registered for path 'libretro/deps/sdl'
Submodule 'libretro/deps/sdl_net' (https://github.com/SDL-mirror/SDL_net.git) registered for path 'libretro/deps/sdl_net'
Cloning into '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/common'...
Cloning into '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/embedded_sdl'...
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/fr500/sdl1.2.git/'
fatal: clone of 'https://github.com/fr500/sdl1.2.git' into submodule path '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/embedded_sdl' failed
Failed to clone 'libretro/deps/embedded_sdl'. Retry scheduled
Cloning into '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/sdl'...
Cloning into '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/sdl_net'...
Cloning into '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/embedded_sdl'...
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/fr500/sdl1.2.git/'
fatal: clone of 'https://github.com/fr500/sdl1.2.git' into submodule path '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/sources/dosbox_svn/dosbox_svn-c23be7769518d753378307996de35e204d188c63/libretro/deps/embedded_sdl' failed
Failed to clone 'libretro/deps/embedded_sdl' a second time, aborting
*********** FAILED COMMAND ***********

my github password is too long to type in console. and i dont think it normal to login to get code from github.

the https://github.com/fr500/sdl1.2 is 404

VergilGao commented 1 year ago

its moved : https://github.com/libretro/dosbox-svn/commit/53ca2f6303a652d129321cfc521f000cd7ec5531

spleen1981 commented 1 year ago

2943bfd745d28555474d831892330a1af82bf9d2

VergilGao commented 1 year ago
make: *** [/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro/Makefile.common:195: scummvm.zip] Error 127
make: *** Waiting for unfinished jobs....
make: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro'
FAILURE: ./scripts/build scummvm during make_target (package.mk)

here https://github.com/libretro/scummvm/blob/5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro/Makefile.common#L195

it seems to use the lastest commit to build the emulation, but their is something wrong there.

i know, the commit is disappeared : https://github.com/libretro/scummvm/tree/2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3 so the build script use the latest commit insteed.

spleen1981 commented 1 year ago

weird, I cannot reproduce this. scummvm makefiles are working correctly locally in my case and buildbot side. can you provide the output of

make datafiles -C Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro

from within the retroarch-kodi-addon folder

VergilGao commented 1 year ago
$ make datafiles -C Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro
make: Entering directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro'
Platform is unix 64bit
Preparing scummvm.zip
make: *** [/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.arm/build/scummvm-5873ee968885676902df2c6765f0f520680ba80e/backends/platform/libretro/Makefile.common:195: scummvm.zip] Error 127
make: Leaving directory '/home/builder/retroarch-kodi-addon-CoreELEC/Lakka-LibreELEC/build.Lakka-AMLGX.a

my gcc version :

$ gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
spleen1981 commented 1 year ago

do you have zip installed?

VergilGao commented 1 year ago

no :( i setup a clean ubuntu vm to build my openwrt system and this addon

VergilGao commented 1 year ago

I'm a C# programmer, I'm very new to C++ compilation tools, I only know how to install missing packages according to the obvious hints in the documentation and compilation errors I'm sorry for bothering you with this low-level error

spleen1981 commented 1 year ago

ok, then sudo apt-get install zip

I only know how to install missing packages according to the obvious hints in the documentation and compilation errors

Actually that was a good catch, I'll add a test in the makefile for zip availability...

VergilGao commented 1 year ago

i also installed lzop bc doxygen gperf yesterday. the error output tell me the missing package one by one...\ and JSON Parse::Yapp::Driver module in perl.

spleen1981 commented 1 year ago

I mean I will add (already done actually) a test in the scummvm core makefile (I'm also maintainer there) to provide clear indication zip is missing. The other missing bins above where already correctly indicated in the logs here, that's how we found out.

VergilGao commented 1 year ago

got it.

VergilGao commented 1 year ago

ok, i finished the build~