I am trying to compile attract-mode for the amlogic s905, but its driving me crazy, I successfully compiled SFML which is required for Attract, but attract is failing with
flags: -Wl,--export-dynamic -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/freetype2 -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -DDATA_PATH=\"/usr/local/share/attract/\" -O2 -DNDEBUG -Iextlibs/miniz -Iextlibs/audio/include -D__STDC_CONSTANT_MACROS -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/freetype2 -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/freetype2 -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/AL -I/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include -Iextlibs/squirrel/include -Iextlibs/sqrat/include -Iextlibs/gameswf -DUSE_GLES -DUSE_XLIB -DUSE_FONTCONFIG -DUSE_SWRESAMPLE
mkdir -p obj
mkdir -p obj/squirrel
mkdir -p obj/sqstdlib
mkdir -p obj/gsbaselib
mkdir -p obj/gameswflib
mkdir -p obj/gameswflib/gameswf_as_classes
mkdir -p obj/audiolib
Compiling obj/fe_util.o...
Compiling obj/fe_cmdline.o...
Compiling obj/fe_util_sq.o...
Compiling obj/fe_base.o...
In file included from /home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/features.h:392:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/string:38,
from src/fe_base.hpp:26,
from src/fe_base.cpp:23:
/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
In file included from /home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/features.h:392:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/string:38,
from src/fe_util_sq.hpp:27,
from src/fe_util_sq.cpp:23:
/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
In file included from /home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/features.h:392:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/bits/stl_algobase.h:59,
from /usr/include/c++/5/vector:60,
from src/fe_util.hpp:26,
from src/fe_util.cpp:23:
/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
In file included from /home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/features.h:392:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/string:38,
from src/fe_base.hpp:26,
from src/fe_settings.hpp:26,
from src/fe_cmdline.cpp:23:
/home/libreelec/build.libreelec-S905.arm-1.8.3/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
make: *** [Makefile:424: obj/fe_base.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:424: obj/fe_util_sq.o] Error 1
make: *** [Makefile:424: obj/fe_util.o] Error 1
make: *** [Makefile:424: obj/fe_cmdline.o] Error 1
Display More
Searching around I found that you need to include -mfloat-abi-hard to the compiler flags, but its just not working, this is my package:
PKG_NAME="attract"
PKG_VERSION="035cca8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL-3.0"
PKG_SITE="https://github.com/mickelson/attract"
PKG_URL="https://github.com/mickelson/attract/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="attract-$PKG_VERSION*"
PKG_DEPENDS_TARGET="toolchain SFML openal-soft fontconfig freetype ffmpeg"
PKG_SECTION="tools"
PKG_SHORTDESC="Attract mode"
PKG_LONGDESC="A graphical front-end for command line emulators that hides the underlying operating system and is intended to be controlled with a joystick or gamepad. "
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_make_target() {
export CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=hard"
}
make_target() {
make USE_GLES=1
}
makeinstall_target() {
mkdir -p $INSTALL/usr/bin
cp `find . -name "attract" | xargs echo` $INSTALL/usr/bin
}
Display More
Is there something I am missing ?
Thanks!