Showing posts with label supertux. Show all posts
Showing posts with label supertux. Show all posts

2020-05-07

Supertux -- supertux-armv7hl



Supertux


Supertux 0.6.1 (December 2019).

Requires keyboard or controller - no touchscreen support.

Requires QXCompositor for rotation (landscape) support.

Built and packaged on F(x)tec Pro¹ running Sailfish 3.2.

Includes my config file which I like for QWERTY Pro¹, but other devices/keyboards will most likely want to change resolution/zoom and keyboard map from the built-in setting menu.

SuperTux is a free and open-source two-dimensional platform video game published under the GNU General Public License (GPL). The game was inspired by Nintendo's Super Mario Bros. series; instead of Mario, the hero in the game is Tux, the official mascot of the Linux kernel. Gameplay in SuperTux is similar to Super Mario Bros. Tux can jump under bonus blocks marked with question marks to gain coins or retrieve power-ups such as the egg, which makes Tux bigger. Other objects such as trampolines and invincibility granting stars can also be obtained from these blocks. Tux can defeat some bad guys by jumping on them, and most can be defeated or frozen by shooting flower power-ups, which let Tux shoot the flower's respective element. Currently, only the fire flower power-up is implemented in story mode but there are also ice flowers, which shoots bullets that can freeze bad guys and kill fire, earth flowers give out a light which can be used for lanterns and can give invincibility for a few seconds, and air flowers allow Tux to jump further and more quickly. The objective of each level is to get to the end, usually marked by checker-patterned poles. At the end of each world is a boss, such as the Yeti boss on Icy Island.

Screenshots:


AttachmentSizeDate
File supertux-0.6.1-2.armv7hl.rpm147.68 MB26/01/2020 - 04:22


 


2020-05-05

slitaz-cooking VS. ubuntu 18.04.4 LTS



slitaz-cooking VS. ubuntu 18.04.4 LTS
slitaz-cooking:
gcc-4.6.3 glibc-2.14.1 xorg-server-1.12.4 and mesa-9.2.5
# tazpkg -l | egrep 'gcc|^glib|gtk|server|mesa'
gcc-lib-base                       4.6.3             development
glib                               2.43.3            x-window
glibc-base                         2.14.1            base-system
glibmm                             2.40.0            x-window
glib-networking                    2.43.1            x-window
gtk+                               2.24.24           x-window
gtk-clearlooks                     2.20.2            x-window
gtkmm                              2.24.5            x-window
libfm-gtk                          1.2.5             system-tools
libglu-mesa                        9.0.0             x-window
mesa                               9.2.5             x-window
mesa-demos                         8.0.1             development
mesa-dri                           9.2.5             x-window
mesa-dri-intel                     9.2.5             x-window
xorg-server                        1.12.4            x-window
and linux-3.16.55

VS.

> and exact same output from supertux under ubuntu 18 on same machine

> I see glxinfo reports Mesa 9.2.5 under Slitaz, whereas under ubuntu
> its telling me 19.2.8.

Your OS: Ubuntu 18.04.4 LTS
Release February 12, 2020


$ egrep 'gcc|^libc6|^glib|header|mesa|xorg-core' lubuntu-18.04.4-desktop-i386.manifest
gcc-7-base:i386                 7.4.0-1ubuntu1~18.04.1
gcc-8-base:i386                 8.3.0-6ubuntu1~18.04.1
glib-networking:i386            2.56.0-1
glib-networking-common          2.56.0-1
glib-networking-services        2.56.0-1
libc6:i386                      2.27-3ubuntu1
libc6-dev:i386                  2.27-3ubuntu1
libegl-mesa0:i386               19.2.8-0ubuntu0~18.04.1
libegl1-mesa:i386               19.2.8-0ubuntu0~18.04.1
libgcc1:i386                    1:8.3.0-6ubuntu1~18.04.1
libgl1-mesa-dri:i386            19.2.8-0ubuntu0~18.04.1
libgl1-mesa-glx:i386            19.2.8-0ubuntu0~18.04.1
libglapi-mesa:i386              19.2.8-0ubuntu0~18.04.1
libglx-mesa0:i386               19.2.8-0ubuntu0~18.04.1
libwayland-egl1-mesa:i386       19.2.8-0ubuntu0~18.04.1
linux-headers-5.3.0-28          5.3.0-28.30~18.04.1
linux-headers-5.3.0-28-generic  5.3.0-28.30~18.04.1
linux-headers-generic-hwe-18.04 5.3.0.28.96
xserver-xorg-core-hwe-18.04     2:1.20.5+git20191008-0ubuntu1~18.04.1

 
 

2020-04-29

supertux -- CXXABI - ABI Policy and Guidelines



ABI Policy and Guidelines
https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
3. Release versioning on the libstdc++.so binary,
It is versioned as follows:
GCC 4.6.0: libstdc++.so.6.0.15
GCC 4.6.1: libstdc++.so.6.0.16
GCC 4.7.0: libstdc++.so.6.0.17
GCC 4.8.0: libstdc++.so.6.0.18
GCC 4.8.3: libstdc++.so.6.0.19
GCC 4.9.0: libstdc++.so.6.0.20
GCC 5.1.0: libstdc++.so.6.0.21
GCC 6.1.0: libstdc++.so.6.0.22
GCC 7.1.0: libstdc++.so.6.0.23
GCC 7.2.0: libstdc++.so.6.0.24
GCC 8.0.0: libstdc++.so.6.0.25
GCC 9.1.0: libstdc++.so.6.0.26
GCC 9.2.0: libstdc++.so.6.0.27
GCC 9.3.0: libstdc++.so.6.0.28

4. Symbol versioning on the libstdc++.so binary.

GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5
GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5
GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6
GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7
GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7
GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8
GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9
GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10
GCC 7.1.0: GLIBCXX_3.4.23, CXXABI_1.3.11
GCC 7.2.0: GLIBCXX_3.4.24, CXXABI_1.3.11
GCC 8.0.0: GLIBCXX_3.4.25, CXXABI_1.3.11
GCC 9.0.0: GLIBCXX_3.4.26, CXXABI_1.3.11

slitaz-cooking
$ strings libstdc\+\+.so.6.0.16 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBC_2.0
GLIBC_2.3
GLIBC_2.1.3
GLIBC_2.2
GLIBC_2.1
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

$ strings libboost_locale.so.1.69.0 | grep GLIBCXX
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.7
GLIBCXX_3.4

VS.


slitaz-next

$ strings libboost_locale.so.1.68.0 | grep GLIBCXX | head
GLIBCXX_3.4.20
GLIBCXX_3.4.9
GLIBCXX_3.4.11
GLIBCXX_3.4.7
GLIBCXX_3.4
GLIBCXX_3.4.21
_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4.21
_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
_ZTINSt7__cxx117collateIwEE@@GLIBCXX_3.4.21

$ strings /usr/lib/libstdc\+\+.so.6.0.24 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.18
GLIBC_2.16
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

2020-04-20

supertux - CXX14



And then all that stuff at the end about language dialect "CXX14".
Target "supertux2_lib" requires the language dialect "CXX14"
Target "sexp" requires the language dialect "CXX14"
-- The C compiler identification is GNU 4.6.3
-- The CXX compiler identification is GNU 4.6.3

Ref:

C++14 Support in GCC

C++14 Language Features
https://gcc.gnu.org/projects/cxx-status.html#cxx14

 

supertux - openal - libatomic


openal - libatomic
 
warning: libatomic.so.1, needed by libopenal.so.1.20.1, not found

libatomic.so.1 => not found



Package: openal

Cook log 2020-03-26 10:50

Cook: openal 1.20.1
[ 95%] Building C object CMakeFiles/alrecord.dir/examples/alrecord.c.o
[ 97%] Linking C executable openal-info
/usr/bin/ld: warning: libatomic.so.1, needed by libopenal.so.1.20.1, not found (try using -rpath or -rpath-link)
make[2]: Leaving directory '${src}'
[ 97%] Built target openal-info
[ 98%] Linking C executable altonegen
http://cook.slitaz.org/index.cgi?pkg=openal


tux@slitaz:~$ tazpkg info openal
TazPkg information
====================================================================================
Package : openal
State : installed package
Version : 1.20.1
Category : multimedia
Short desc : cross-platform 3D audio API.
Maintainer : pascal.bellard@slitaz.org
License : LGPL2
Depends : gcc83-lib-base
Build deps : cmake gcc83

Web site : https://www.openal-soft.org/
Size : 608K/1.3M
Tags : multimedia audio sound 3D
====================================================================================

tux@slitaz:~$ ldd /usr/lib/libopenal.so.1.20.1
/usr/lib/libopenal.so.1.20.1:
libpthread.so.0 => /lib/libpthread.so.0 (0xf7595000)
libdl.so.2 => /lib/libdl.so.2 (0xf7590000)
libatomic.so.1 => not found
libm.so.6 => /lib/libm.so.6 (0xf7563000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf7428000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf740d000)
libc.so.6 => /lib/libc.so.6 (0xf7297000)
/lib/ld-2.14.1.so (0xf76e6000)
tux@slitaz:~$

supertux - libboost-1.69.0 VS. boost-1.68.0



receipt - libboost-1.69.0 VS. boost-1.68.0

LFS=" http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html "

slitaz-cooking
 

Receipt for: libboost-dev
http://cook.slitaz.org/index.cgi?receipt=libboost-dev

# SliTaz package receipt.
# Boost is a set of two types of libraries. Most of them are just
# headers with inline functions, these are included in this package
# named libboost-dev. Some few set of libraries require build and
# installation steps. These will be relocated and have their own two
# packages : libboost-name and libboost-name-dev.

PACKAGE="libboost-dev"
VERSION="1.69.0"
CATEGORY="development"
SHORT_DESC="Free peer-reviewed portable C++ source libraries."
MAINTAINER="chadi.elahmad@gmail.com"
LICENSE="MIT"
WEB_SITE="https://www.boost.org/"
# We have to do it this way because of the underscores
# to get a package with the slitaz version numbering
SOURCE="boost"
WGET_SOURCE="boost_1_69_0"
TARBALL="$WGET_SOURCE.tar.bz2"
#EXTRA_SOURCE_FILES="boost_changeset_75540.u"
WGET_URL="$SF_MIRROR/$SOURCE/$TARBALL"
DEPENDS="gcc-lib-base libboost-chrono-dev libboost-date-time-dev \
libboost-math-dev"
BUILD_DEPENDS="bzip2-dev expat expat-dev python python-dev zlib-dev"

RELOCATE_LIBS="{ date_time filesystem graph iostreams \
math program_options python regex serialization \
signal system test thread tr1 wave }"

# Rules to configure and make the package.
# Uses boost:build building tool for the compilation:
# Doesn't use DESTDIR.
# Doesn't recognize the $CONFIGURE_ARGS, gives an error back
# Have to add some params to get static libs compiled too

compile_rules()
{
# Determine if TOOLPREFIX has been defined in tazwok.conf as it should
if [ -z "$TOOLPREFIX" ] ; then
# Provide a default TOOLPREFIX value
TOOLPREFIX=$ARCH-pc-linux-gnu-
fi
# [ -s $SOURCES_REPOSITORY/boost_changeset_75540.u ] ||
# wget -O $SOURCES_REPOSITORY/boost_changeset_75540.u --no-check-certificate \
# 'https://svn.boost.org/trac/boost/changeset/75540?format=diff&new=75540'
# patch -p2 < $SOURCES_REPOSITORY/boost_changeset_75540.u || return 1
./bootstrap.sh \
--prefix=$DESTDIR/usr \
--exec-prefix=$DESTDIR/usr \
--libdir=$DESTDIR/usr/lib \
--includedir=$DESTDIR/usr/include \
--without-icu &&
EXPAT_INCLUDE=/usr/include \
EXPAT_LIBPATH=/usr/lib \
./bjam \
--prefix=$DESTDIR/usr \
--exec-prefix=$DESTDIR/usr \
--libdir=$DESTDIR/usr/lib \
--includedir=$DESTDIR/usr/include \
--build-type=minimal \
install
# create the missing links to the shared libs
cd $DESTDIR/usr/lib
#for i in ls *-mt.so; do
# boost_tmp=echo $i | sed s/-gcc.*-mt//g
# boost_tmp_mt=echo $i | sed s/-gcc.*-mt/-mt/g
# ln -s $i $boost_tmp
# ln -s $i $boost_tmp_mt
#done
#for i in ls *-mt.a; do
# boost_tmp=echo $i | sed s/-gcc.*-mt//g
# boost_tmp_mt=echo $i | sed s/-gcc.*-mt/-mt/g
# ln -s $i $boost_tmp
# ln -s $i $boost_tmp_mt
#done
}



VS.


slitaz-next
 

# SliTaz package receipt v2.
http://cook.slitaz.org/next/boost/receipt

PACKAGE="boost"
VERSION="1.68.0"
CATEGORY="meta"
SHORT_DESC="Boost C++ libraries"
MAINTAINER="devel@slitaz.org"
LICENSE="MIT"
WEB_SITE="https://www.boost.org/"
LFS="http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html"
TARBALL="$PACKAGE-$VERSION.tar.bz2"
WGET_URL="https://dl.bintray.com/boostorg/release/$VERSION/source/${PACKAGE}_${VERSION//./_}.tar.bz2"
# https://www.boost.org/users/download/
TARBALL_SHA256="7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7"
BUILD_DEPENDS="icu-dev zlib-dev bzip2-dev python-dev"

[..]
# About splitting: there's complex relationships between header files.
# Previously, for example, the /usr/include/boost/chrono/* files were packed
# into libboost-chrono-dev package. And so on for many /usr/include/boost/*/
#
# But, for example:
# 1. /usr/include/boost/chrono/config.hpp (former boost-chrono-dev package)
# includes <boost/config.hpp> (boost-dev package)
# 2. /usr/include/boost/compute/detail/duration.hpp (former boost-dev package)
# includes <boost/chrono/duration.hpp> (boost-chrono package)
#
# And many other circular dependencies between boost-dev and boost-*-dev
# packages.
#
# Solution: make single solid big boost-dev package with all development
# files.
#
# How to change dependencies of packages that depends on boost?
# Substitute boost-?-dev by the pair: boost-? and boost-dev.

compile_rules() {
./bootstrap.sh --prefix=$install/usr &&
./b2 stage threading=multi link=shared &&
./b2 install threading=multi link=shared || return 1
cook_pick_docs doc/html/*
find $install -name '*.hpp' -exec chmod 644 '{}' \;
}

supertux - undefined reference



undefined reference to 'boost::locale:

 

undefined reference to 'boost::locale::generator::generate(std::__cx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'

The problem seems to be boost-related:

add the line:

-DCMAKE_EXE_LINKER_FLAGS:STRING="-lboost_locale" \

into the cmake configuration options.


 

libboost_locale.so: undefined reference to 'boost::system::detail::generic_category_instance'


> locale is part of libboost-dev. I didnt need 1.68 boost-locale from next.

No.

You need boost-*-1.68.0 from next.

1. edit a list of packages - boost-dep.lst
tux@slitaz:~$ cat boost-dep.lst
libicu-60.2-i486.tazpkg
icu-60.2-i486.tazpkg
libicu-full-60.2-i486.tazpkg
icu-full-60.2-i486.tazpkg
boost-system-1.68.0-i486.tazpkg
boost-date-time-1.68.0-i486.tazpkg
boost-iostreams-1.68.0-i486.tazpkg
boost-regex-1.68.0-i486.tazpkg
boost-serialization-1.68.0-i486.tazpkg
boost-thread-1.68.0-i486.tazpkg
boost-1.68.0-any.tazpkg
boost-chrono-1.68.0-i486.tazpkg
boost-filesystem-1.68.0-i486.tazpkg
boost-locale-1.68.0-i486.tazpkg
boost-math-1.68.0-i486.tazpkg
boost-dev-1.68.0-i486.tazpkg

2. download the packages
http://cook.slitaz.org/next/icu/download
http://cook.slitaz.org/next/boost/download

3.
install-list    Install all packages from a list of packages

# tazpkg install-list bootst-dep.lst

4. recompile supertux

supertux - libboost - boost


libboost - boost

> -- Found Boost: /usr/include (found version "1.69.0") found components:
> filesystem system date_time locale

slitaz-next64

tux@slitaz:~$ tazpkg -s boost
Search result for "boost"
================================================================================
Installed packages
--------------------------------------------------------------------------------
================================================================================
0 installed packages found for "boost"
Available packages
--------------------------------------------------------------------------------
boost 1.68.0 meta
boost-atomic 1.68.0 libdevel
boost-chrono 1.68.0 libdevel
boost-container 1.68.0 libdevel
boost-context 1.68.0 libdevel
boost-contract 1.68.0 libdevel
boost-coroutine 1.68.0 libdevel
boost-date-time 1.68.0 libdevel
boost-dev 1.68.0 development
boost-fiber 1.68.0 libdevel
boost-filesystem 1.68.0 libdevel
boost-graph 1.68.0 libdevel
boost-iostreams 1.68.0 libdevel
boost-locale 1.68.0 libdevel
boost-log 1.68.0 libdevel
boost-math 1.68.0 libdevel
boost-math-tr1 1.68.0 libdevel
boost-prg-exec-monitor 1.68.0 libdevel
boost-program-options 1.68.0 libdevel
boost-python 1.68.0 libdevel
boost-random 1.68.0 libdevel
boost-regex 1.68.0 libdevel
boost-serialization 1.68.0 libdevel
boost-signals 1.68.0 libdevel
boost-stacktrace 1.68.0 libdevel
boost-system 1.68.0 libdevel
boost-thread 1.68.0 libdevel
boost-timer 1.68.0 libdevel
boost-type-erasure 1.68.0 libdevel
boost-unit-test-framework1.68.0 libdevel
boost-wave 1.68.0 libdevel
boost-wserialization 1.68.0 libdevel
================================================================================
32 available packages found for "boost"
tux@slitaz:~$


slitaz-next i386

boost

Boost C++ libraries (meta-package to install base modules)

Summary for: boost 1.68.0

http://cook.slitaz.org/next/boost/download
 

2020-04-17

slitaz-next64 - supertux



slitaz-next64 - supertux-0.6.1 

 

official build
SuperTux_2-v0.6.1.glibc2.14-x86_64.AppImage 162 MB

https://github.com/SuperTux/supertux/releases/download/v0.6.1/SuperTux_2-v0.6.1.glibc2.14-x86_64.AppImage


SuperTux Nightly Downloads
https://download.supertux.org/

2020-04-19 13:44
https://supertux-ci-downloads.s3-us-west-2.amazonaws.com/901c8f80678ed342abd49a72beef4c54fc977160/travis/linux/320920409/SuperTux_2-.glibc2.27-x86_64.AppImage

To run an AppImage, simply:
https://appimage.org/ 

Make it executable

$ chmod a+x SuperTux*.AppImage

and run!