• The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-1 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-2 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-3 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-4 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-5 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-6 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-7 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-8 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-9 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-10 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-11 has been created.
  • The directory /opt/www/bruyninckxh2/web/tmp/drutex-f4940fcfadff6af75aacb2a668f7444b-12 has been created.

create own MakeFile for example linear kalman, problem with compile

Hello,
I created my own MakeFile for example linear kalman which is accessible under BFL project. Because the MakeFile which is generated and accessible under BFL I can not using for my another project.

My MakeFile is
================================================
BFL_LIB_DIR = /usr/src/ltilib/install/lib
CC = gcc
CFLAGS = -D_REENTRANT -lm -L $(BFL_LIB_DIR) -Wall -O2
CFLAGS_I = -c -I /usr/src/ltilib/install/include/bfl

all: main
main: main.o
$(CC) main.o -o main $(CFLAGS)
main.o: main.cpp
$(CC) $(CFLAGS_I) main.cpp
.PHONY: clean
clean:
rm -rf *o main
==================================================
But if I apply this makefile to example of linear kalman(i renamed to main) I get many error

....
In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_wrapper.h:277,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:26,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
...

Please help me where is problem.
Pavel.

create own MakeFile for example linear kalman, problem with comp

On 26 Jun 2007 20:09:40 -0000, pavel. pirkl

<pavel [dot] pirkl [..] ...> wrote:
> ....
> In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_wrapper.h:277,
> from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:26,
> from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
> from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
> ...

What you show us here is only a _part_ of the actual error message, so
we cannot conclude anything from the above...

@tinne: (In a hurry) I noticed the debian package orocos-bfl-examples
only includes the executable code from the examples, and not the
source code itself. E.g. the orocos-bfl-example package does not
include the directory BFL/tutorial/progs/src/linear_kalman/ as
mentioned on

Is that intentional or did I overlook something (probably the last one)?

Klaas
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

>What you show us here is only a _part_ of the actual error message, so
>we cannot conclude anything from the above...

There is full message:

gcc -c -I /usr/src/ltilib/install/include/bfl main.cpp
In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_wrapper.h:277,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:26,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
from /usr/src/ltilib/install/include/bfl/pdf/conditionalpdf.h:33,
from /usr/src/ltilib/install/include/bfl/model/systemmodel.h:34,
from /usr/src/ltilib/install/include/bfl/filter/filter.h:35,
from /usr/src/ltilib/install/include/bfl/filter/kalmanfilter.h:23,
from /usr/src/ltilib/install/include/bfl/filter/extendedkalmanfilter.h:23,
from main.cpp:23:
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:28:31: ltilib/ltiMatrix.h: No such file or directory
In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_wrapper.h:277,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:26,
from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
from /usr/src/ltilib/install/include/bfl/pdf/conditionalpdf.h:33,
from /usr/src/ltilib/install/include/bfl/model/systemmodel.h:34,
from /usr/src/ltilib/install/include/bfl/filter/filter.h:35,
from /usr/src/ltilib/install/include/bfl/filter/kalmanfilter.h:23,
from /usr/src/ltilib/install/include/bfl/filter/extendedkalmanfilter.h:23,
from main.cpp:23:
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:40: error: `
lti' is not a class or namespace
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:40: error: no
class template named `matrix' in `lti'
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:40: error: invalid
base-class specification
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:59: error: syntax
error before `::' token
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:102: error: `
lti' is not a class or namespace
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:102: error: no
class template named `matrix' in `lti'
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:102: error: invalid
base-class specification
/usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:111: error: syntax
error before `::' token
In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
from /usr/src/ltilib/install/include/bfl/pdf/conditionalpdf.h:33,
from /usr/src/ltilib/install/include/bfl/model/systemmodel.h:34,
from /usr/src/ltilib/install/include/bfl/filter/filter.h:35,
from /usr/src/ltilib/install/include/bfl/filter/kalmanfilter.h:23,
from /usr/src/ltilib/install/include/bfl/filter/extendedkalmanfilter.h:23,
from main.cpp:23:
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:29:33: ltilib/ltiIoHandler.h: No such file or directory
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:30:30: ltilib/ltiVector.h: No such file or directory
In file included from /usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_wrapper.h:224,
from /usr/src/ltilib/install/include/bfl/pdf/pdf.h:35,
from /usr/src/ltilib/install/include/bfl/pdf/conditionalpdf.h:33,
from /usr/src/ltilib/install/include/bfl/model/systemmodel.h:34,
from /usr/src/ltilib/install/include/bfl/filter/filter.h:35,
from /usr/src/ltilib/install/include/bfl/filter/kalmanfilter.h:23,
from /usr/src/ltilib/install/include/bfl/filter/extendedkalmanfilter.h:23,
from main.cpp:23:
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:39: error: `
lti' is not a class or namespace
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:39: error: no
class template named `vector' in `lti'
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:39: error: invalid
base-class specification
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:47: error: syntax
error before `::' token
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:88: error: `
lti' is not a class or namespace
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:88: error: no
class template named `vector' in `lti'
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:88: error: invalid
base-class specification
/usr/src/ltilib/install/include/bfl/wrappers/matrix/vector_LTI.h:98: error: syntax
error before `::' token
main.cpp:28:29: ../mobile_robot.h: No such file or directory
main.cpp: In function `int main(int, char**)':
main.cpp:165: error: `MobileRobot' undeclared (first use this function)
main.cpp:165: error: (Each undeclared identifier is reported only once for each
function it appears in.)
main.cpp:165: error: syntax error before `;' token
main.cpp:181: error: `mobile_robot' undeclared (first use this function)
main.cpp:194: error: no match for 'operator<<' in '(+std::operator<< [with
_Traits = std::char_traits]((&std::cout), " Posterior Mean =
"))->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char,
_Traits = std::char_traits](std::endl [with _CharT = char, _Traits =
std::char_traits]) <<
*(posterior->BFL::Pdf::_vptr.Pdf + 24)()'
/usr/include/c++/3.3.6/bits/ostream.tcc:63: error: candidates are:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_ostream<_CharT,
_Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char,
_Traits = std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:74: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_ios<_CharT,
_Traits>&(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits
= std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:86: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::ios_base&(*)(std::ios_base&)) [with _CharT = char,
_Traits = std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:122: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:156: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:98: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(bool) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/ostream:178: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(short int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/ostream:189: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/ostream:193: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/ostream:204: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(unsigned int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:181: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long long int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:216: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:241: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(double) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/ostream:219: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(float) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:265: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long double) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:289: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(const void*) [with _CharT = char, _Traits =
std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:313: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT =
char, _Traits = std::char_traits]
/usr/include/c++/3.3.6/ostream:436: error:
std::basic_ostream<_CharT, _Traits>&
std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) [with _CharT =
char, _Traits = std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:512: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, char) [with _Traits = std::char_traits]
/usr/include/c++/3.3.6/ostream:447: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, signed char) [with _Traits = std::char_traits]
/usr/include/c++/3.3.6/ostream:452: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, unsigned char) [with _Traits = std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:572: error:
std::basic_ostream<_CharT, _Traits>&
std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) [with
_CharT = char, _Traits = std::char_traits]
/usr/include/c++/3.3.6/bits/ostream.tcc:616: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, const char*) [with _Traits = std::char_traits]
/usr/include/c++/3.3.6/ostream:486: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, const signed char*) [with _Traits = std::char_traits]
/usr/include/c++/3.3.6/ostream:491: error:
std::basic_ostream& std::operator<<(std::basic_ostream _Traits>&, const unsigned char*) [with _Traits = std::char_traits]
/usr/src/ltilib/install/include/bfl/pdf/gaussian.h:54: error:
std::ostream& BFL::operator<<(std::ostream&, const BFL::Gaussian&)

>@tinne: (In a hurry) I noticed the debian package orocos-bfl-examples
>only includes the executable code from the examples, and not the
>source code itself. E.g. the orocos-bfl-example package does not
>include the directory BFL/tutorial/progs/src/linear_kalman/ as
>mentioned on

I am using Slackware so I installed BFL from source code and
I have example(source code) in direcotory /usr/src/orocos-bfl-0.6.0-src/examples/linear_kalman, where i can do some change of code and for compiling a I go to the direcotry /usr/src/orocos-bfl-0.6.0-src/build/examples/linear_kalman where i type make and get new version of program. This work very well.

But If I wrote my own MakeFile for linear_kalman.cpp a I got above error. Please help me. Pavel.

wmeeusse's picture

create own MakeFile for example linear kalman, problem with comp

On Wednesday 27 June 2007 14:38:28 pavel.pirkl wrote:
> >What you show us here is only a _part_ of the actual error message, so
> >we cannot conclude anything from the above...
>
> There is full message:
>
> gcc -c -I /usr/src/ltilib/install/include/bfl main.cpp
[...]
> /usr/src/ltilib/install/include/bfl/wrappers/matrix/matrix_LTI.h:28:31:
> ltilib/ltiMatrix.h: No such file or directory
[...]

In your makefile you need to specify where the lti library is installed. All
the include and linking information for BFL is found int he orocos-bfl.pc
file in the BFL build directory.

In the BFL build directory, try the following commands to extract the correct
information for your system:

$ pkg-config --cflags orocos-bfl
-I/usr/local/include -I/usr/include/ -I-I/usr/include

$ pkg-config --libs orocos-bfl
/usr/lib/ -L/usr/local/lib -L/usr/lib/ltilib -L -lorocos-bfl -lltir -lginac

Wim
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

I change my MakeFile to

CC = gcc

prefix=/usr/src/ltilib/install

libdir=${prefix}/lib

includedir=${prefix}/include/

BFL_LIB_DIR = -L${libdir} -lorocos-bfl -L${libdir}/ltilib -lltir

CFLAGS = -D_REENTRANT -lm $(BFL_LIB_DIR) -Wall -O2

CFLAGS_O = -c -I${includedir} -I${includedir}/bfl/ -I ${includedir}/ltilib

all: main

main: main.o mobile_robot.o

$(CC) main.o mobile_robot.o -o main $(CFLAGS)

main.o: main.cpp

$(CC) $(CFLAGS_O) main.cpp

mobile_robot.o: mobile_robot.cpp mobile_robot.h

$(CC) $(CFLAGS_O) mobile_robot.cpp

.PHONY: clean

clean:

rm -rf *o main

rm -rf *o mobile_robot

now the compilation and linking is OK. But if I run my application I got this one message:

root@pa:/home/paja/Kalman# ./main
./main: error while loading shared libraries: liborocos-bfl.so: cannot open shared object file: No such file or directory

Pavel.

create own MakeFile for example linear kalman, problem with comp

[...]
> root@pa:/home/paja/Kalman# ./main
> ./main: error while loading shared libraries: liborocos-bfl.so: cannot open shared object file: No such file or directory

export LD_LIBRARY_PATH=/path/to/liborocos-bfl.so

e.g., if you install bfl in /usr/local/bfl

export LD_LIBRARY_PATH=/usr/local/bfl/lib

Klaas
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

I wrote this

root@pa:/home/paja/Kalman# export LD_LIBRARY_PATH=/usr/src/ltilib/install/lib

the example linear_regresion run OK.
Thanks Klaas

create own MakeFile for example linear kalman, problem with comp

> @tinne: (In a hurry) I noticed the debian package orocos-bfl-examples
> only includes the executable code from the examples, and not the
> source code itself. E.g. the orocos-bfl-example package does not
> include the directory BFL/tutorial/progs/src/linear_kalman/ as
> mentioned on
> >8.html>
I think this is explained in:
http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/node6.html
You should get the source and the binaries seperately (or compile the source
yourself ofcourse).
However there was some part of the documentation which was not up to date but
this is solved (BUG#425).

Tinne
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

On 6/27/07, Tinne De Laet <tinne [dot] delaet [..] ...> wrote:
>
> > @tinne: (In a hurry) I noticed the debian package orocos-bfl-examples
> > only includes the executable code from the examples, and not the
> > source code itself. E.g. the orocos-bfl-example package does not
> > include the directory BFL/tutorial/progs/src/linear_kalman/ as
> > mentioned on
> > > >8.html>
> I think this is explained in:
> http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/node6.html
> You should get the source and the binaries seperately (or compile the source
> yourself ofcourse).

I was too fast indeed! However I fail to see what's the use of
distributing the binary code of the examples in a debian package?

> However there was some part of the documentation which was not up to date but
> this is solved (BUG#425).

Thx!

Klaas
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

On Wednesday 27 June 2007 15:10:17 you wrote:
> On 6/27/07, Tinne De Laet <tinne [dot] delaet [..] ...> wrote:
> > > @tinne: (In a hurry) I noticed the debian package orocos-bfl-examples
> > > only includes the executable code from the examples, and not the
> > > source code itself. E.g. the orocos-bfl-example package does not
> > > include the directory BFL/tutorial/progs/src/linear_kalman/ as
> > > mentioned on
> > > > > >node 8.html>
> >
> > I think this is explained in:
> > http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/nod
> >e6.html You should get the source and the binaries seperately (or compile
> > the source yourself ofcourse).
>
> I was too fast indeed! However I fail to see what's the use of
> distributing the binary code of the examples in a debian package?
We did this to allow the debian users to easily execute the examples. This way
they don't have to build the source if they don't want to but just test the
examples.

Tinne
_______________________________________________
I hereby promise not to top-post on the
BFL mailing list
BFL [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/bfl

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

create own MakeFile for example linear kalman, problem with comp

I send again my MakeFile. I hope that it will be better for reading.

BFL_LIB_DIR = /usr/src/ltilib/install/lib

CC = gcc

CFLAGS = -D_REENTRANT -lm -L $(BFL_LIB_DIR) -Wall -O2

CFLAGS_I = -c -I /usr/src/ltilib/install/include/bfl

all: main

main: main.o

$(CC) main.o -o main $(CFLAGS)

main.o: main.cpp

$(CC) $(CFLAGS_I) main.cpp

.PHONY: clean

clean:

rm -rf *o main

Pavel Pirkl