Linux HOWTOs

About | Home | Search


HOWTO: libstk
Description: Graphical widget set for set-top boxes and the like
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# LibSTK
# ======
# LibSTK source is provided via a tarball snapshot or Subversion.  I
# include instructions for both below.

## Both versions failed to build for me using gcc 3.4.5, with or without
## --enable-tests, (which I mention because it failed in the 'test'
## subdirectory) with errors like these:
# test_app.cpp:44: error: `log_level' does not name a type
# test_app.cpp:44: error: extra ;'
# test_app.cpp: In function `int parse_args(int, char**)':
# test_app.cpp:269: error: `main_log_level' was not declared in this scope
# test_app.cpp:269: error: `LL_None' is not a member of `stk'
# test_app.cpp:269: warning: unused variable 'main_log_level'
# test_app.cpp:270: error: `main_log_level' was not declared in this scope
# test_app.cpp:270: error: `LL_Error' is not a member of `stk'
# test_app.cpp:270: warning: unused variable 'main_log_level'
# test_app.cpp:271: error: `main_log_level' was not declared in this scope
# test_app.cpp:271: error: `LL_Warning' is not a member of `stk'
# test_app.cpp:271: warning: unused variable 'main_log_level'
# test_app.cpp:272: error: `main_log_level' was not declared in this scope
# test_app.cpp:272: error: `LL_Info' is not a member of `stk'
# test_app.cpp:272: warning: unused variable 'main_log_level'
# ../libstk/list_template.h: At global scope:
# ../libstk/list_template.h:45: warning: unused parameter 'item'
# ../libstk/list_template.h:44: warning: unused parameter 'item'
# test_app.cpp:55: warning: unused parameter 'text'
# make[1]: *** [test_app.o] Error 1
# make[1]: Leaving directory /home/jason/src/libstk-20051213/test'
# make: *** [all-recursive] Error 1
## I'm unable to check it out further, but if you have a fix, let me know
## and I'll update it here.


# libstk-20051213
# ===============
# Prerequisites:
# autoconf
# automake
# libtool
# Boost
# pkg-config
# freetype2
# libpng
# libjpeg
# DirectFB (optional; pass --enable-directfb to configure)
# SDL (optional; pass --enable-sdl to configure)
# xine (optional; pass --enable-xine to configure)

cd
test -f installed/libstk-20051213.tar.gz &&
 mv installed/libstk-20051213.tar.gz .
test ! -f libstk-20051213.tar.gz &&
 wget http://www.libstk.net/sites/www.libstk.net/files/\
libstk-20051213.tar.gz
mkdir -p -m 0700 src
cd src
test -d ./libstk && rm -r ./libstk
find -maxdepth 1 -type d -name "libstk-*" -exec rm -r {} \;
tar xzvf ~/libstk-20051213.tar.gz
cd libstk-20051213
test $UID = 0 && chown -R root:root .

# If you don't have SDL installed, leave off --enable-sdl below
# If you don't have xine installed, leave off --enable-xine below

# FYI, I was not able to build it with --enable-tests

# If you don't have automake 1.7 installed, run 'autoreconf -f -i'
# instead of ./autogen.sh below

./autogen.sh
CPPFLAGS=-I/usr/local/include/boost ./configure --enable-sdl \
 --enable-xine
make

# Become root to install it
su

rm -f /usr/local/lib/libstk.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .

# Become yourself again
exit

cd
rm -f installed/libstk.README installed/libstk-*.tar.*
mv libstk-20051213.tar.gz installed/


# Subversion
# ==========
# Prerequisites:
# subversion
# autoconf
# automake
# libtool
# Boost
# pkg-config
# freetype2
# libpng
# libjpeg
# SDL (optional; pass --enable-sdl to configure)
# DirectFB (optional; pass --enable-directfb to configure)
# xine (optional; pass --enable-xine to configure)

cd
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libstk-*" -exec rm -r {} \;
test -d ./libstk && ( cd libstk ; svn up )
test ! -d ./libstk &&
 svn co http://www.libstk.net/svn/pub/libstk/trunk/ libstk
cd libstk
test $UID = 0 && chown -R root:root .

# If you still use automake 1.7, run "./autogen.sh", otherwise (I use 1.9.x)
# run this:
autoreconf -f -i

# If you don't have SDL installed, leave off --enable-sdl below
# If you don't have xine installed, leave off --enable-xine below

CPPFLAGS=-I/usr/local/include/boost \
./configure --enable-sdl --enable-xine --enable-tests
make

# Become root to install it
su

rm -f /usr/local/lib/libstk.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .

# Become yourself again
exit

cd
rm -f installed/libstk-*.tar.*
echo 'libstk was installed from Subversion' > installed/libstk.README
echo 'The source is in ~/src/libstk' >> installed/libstk.README
chmod 600 installed/libstk.README

Back to the list


Last updated: Wed, 29 Apr 2020 22:04:50 -0400
Jason Englander <jason at englanders dot us>