These are simple instructions to get a basic ProDiKi presentation running. Here we cover how to use the sample storyboard to test your system. This is not intended as a comprehensive manual, but as a "quick guide" with basic common procedures and ideas.
Please read INSTALL file present at distribution
(package or
CVS) for complete instructions. This is a (probably successful)
quick guide:
tar zxvf prodiki-dev-0.4-beta.tgz
(use real package file name). If your tar version can't pipe through gzip, first
gunzip prodiki-dev-0.4-beta.tgz
then
tar xvf prodiki-dev-0.4-beta.tar
cd prodiki-dev
from where you CVS'd (for the first time) or tar'ed.
By default, compiler options are for a 32bit Pentium4 compatible CPU and to generate
a debugging version; to change
these settings and succesfully compile code, you may have to change that values.
The right place to do that is into do_config script file (located on the source
root, i.e. src/do_config). This is true since September 27th, 2006, so if
you got your sources from an older package, you may have to edit
makefiles/makefile.base instead (look for -march= then).
Into do_config script, you can choose your CPU type (see proposed examples, or
gcc help for -mtune parameter) and also (if available) if you want a
64bit executable, or just plain 32bit. There's no big optimizations at this stage, yet.
To compile with optimizations instead of debugging (somewhat twice faster) set
dm="0"
Go to src
cd src
directory. Here type
make
and wait. For the first time, several links and some files are created, then
compilation starts.
If all goes right, make will end with no errors.
This is how it looks like:
david@Spock:~/prodiki/prodiki-dev/src$ make
Generating config.h...
--Making all in prodikilib--
[Compiling] dalmem.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] dalnum.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] daltool.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] dallog.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] dalsig.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] dalxml.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] daltxtb.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] dalhttp.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] pdkcfg.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] img_fx.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] img_tr.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] pdk_sb.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
[Compiling] pdk_wi.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
Note: This was a pseudo-static build (NO valid libprodiki.so.1.1.1 created)
--Making all in prodiki--
[Compiling] prodiki.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
--Making all in prodikiwi--
[Compiling] prodikiwi.c with -ggdb -g3 -O0 -Wall -march=pentium4 -m32 -DHAVE_CONFIG_H -D_NOMODS_
--Making all in examples--
groupadd prodiki
and then
useradd -g prodiki prodiki
(default configuration file uses that values for user and group). For development,
usually user and group are set to your user and group, so you don't have to
sudo to root or to prodiki user every time you install or run it (in that case,
just remember to set User and Group in prodiki.cfg to the desired values).
As root, do:
make installdirs
to get them created, then change their ownership if you decided to install as a
dedicated user - with the previous example, this could be
chown -R prodiki:prodiki /usr/local/prodiki
Or, maybe easier, as root:
mkdir /usr/local/prodiki; chown prodiki:prodiki /usr/local/prodiki
and then, as prodiki user:
make installdirs
make install
Applications may be compiled and eventually installed specifically from their own
directories (see below), if you need them. If not compiling statically, they need
main prodiki library to be installed first (as we did a few lines ago), but this
is not the case with current development packages nor CVS.
This is how it looks when you install from base directory (src/):
--Making install in prodikilib--
--Making install in prodiki--
[Linking] prodiki (Product Display Kiosk)
Building a pseudo-static version (for debugging ONLY)
[Install] prodiki to /usr/local/prodiki/bin/prodiki
--Making install in prodikiwi--
[Linking] prodikiwi (Product Display Kiosk Web Interface)
Building a pseudo-static version (for debugging ONLY)
[Install] prodikiwi to /usr/local/prodiki/bin/prodikiwi
--Making install in examples--
[Install] pdk.cfg-sample to /usr/local/prodiki/conf/pdk.cfg-sample
[Install] pdk_storyboard.dtd to /usr/local/prodiki/conf/pdk_storyboard.dtd
[Install] transp.gif to /usr/local/prodiki/data/htdocs/img/transp.gif
[Install] pdk.css to /usr/local/prodiki/data/htdocs/css/pdk.css
[Install] story.xml to /usr/local/prodiki/data/story.xml
--Making install in po--
[Install] es_ES.po to /usr/local/prodiki/po/es_ES.po
[Install] ca_ES.po to /usr/local/prodiki/po/ca_ES.po
Once you have a storyboard file installed (like story.xml that comes with examples),
and the referenced images and fonts (try downloading and installing the demo
package available
with any beta version), you can play a presentation. A command line like this:
/usr/local/prodiki/bin/prodiki -sw 800 -sh 600 -d -b story.xml
will play story.xml file (by default, located at /usr/local/prodiki/data), into a
800x600 window (unless full screen mode is used), and without detatching (not becoming
a daemon). For exact parameters and their meanings, refer to prodiki
options. On the other hand, a command like:
/usr/local/prodiki/bin/prodikiwi -b story.xml
would run the Web Interface to browse/edit storyboard story.xml in daemon mode (so
just after that, you can connect to the ip:port you specified onto the configuration file
with any browser). For more options see prodikiwi options,
and to specify global/default options, see also config file
options.
If you found some trouble trying to compile ProDiKi, please refer first to the README file
that comes with your distribution or better, from CVS. If anything fails, please
provide me some information as what you did and some piece of the result on your
console, or at least, the message you get, posting at project's
bugtrack
(thank you).
You may also try some of the scripts I use to clean the source tree, instead of reinstalling:
These are the implemented make options for this project:
make
This simply checks and builds dependancies, and object files ("compiles")
make link
Links object files to build an executable or library (where applicable)
make install
Installs linked executables or libraries. First links them if no object files are available.
Also installs examples, from the examples directory.
make clean
Deletes all the compilation results (dependancies, object files, and executables/libraries)
make installdirs
Creates the installation dirs (if not already created and have enough privileges).
It is recommended to create topmost directory manually (/usr/local/prodiki) as
root, change its ownership, and then perform this option to create the rest of the
tree below there without trouble (related to ownership mismatches).