#LyX 1.2 created this file. For more info see http://www.lyx.org/ \lyxformat 220 \textclass linuxdoc \language english \inputencoding auto \fontscheme default \graphics default \paperfontsize default \spacing single \papersize a4paper \paperpackage a4 \use_geometry 0 \use_amsmath 0 \use_natbib 0 \use_numerical_citations 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Title \added_space_top vfill \added_space_bottom vfill GNUe-SuSE-mini-HOWTO \layout Author Arjen Runsink \layout Date v0.02, 17 October 2002 \layout Abstract This mini HOWTO describes how to get the GNUenterprise packages release 0.4.0 to work with the SuSE distribution version 8.0 and PostgreSQL or MySQL. \layout Standard \begin_inset LatexCommand \tableofcontents{} \end_inset \layout Section Introduction \layout Standard While working with different projects and managing a few I found I had much need to dig deeper into databases and all the possibilities that come with them. Certainly to be able to use them for day to day work easy development tools wich create a good user interface are necessary. I found \begin_inset LatexCommand \url[GNUenterprise]{http://www.gnue.org} \end_inset and saw possibilities that met my demands. But installing the then current release on my machine with SuSE 7.3 was unsuccesfull. This was completely related to the fact that I was unable to get a working python wxGTK xPython combo. Now with SuSE 8.0 and the current release of GNUe (0.4.0) I thought to give it another try and document what I did in this HOWTO. \layout Standard This HOWTO does not describe how to setup either MySQL or PostgreSQL. They come with excellent documentation. \layout Subsection Status of this document \layout Standard This is the first version. I don't know if I am ready with it. Maybe things don't work in the end. If you have something I might add, or a correction send me an email: arjen(*a*t *)zeilers.net \layout Standard \size scriptsize $Id: GNUe-SuSE-HOWTO.lyx,v 1.1 2002/11/08 16:54:17 styxman Exp $ \layout Section Getting the raw materials \layout Standard To start of let's get all that is needed. \layout Subsection The GNUe Packages \layout Standard The GNUe packages are quite they can be downloaded from \begin_inset LatexCommand \url[www.gnue.org]{http://www.gnue.org} \end_inset . See the download section. \layout Standard GNUe-Common-0.4.0.tar.gz \layout Standard GNUe-Designer-0.4.0.tar.gz \layout Standard GNUe-Forms-0.4.0.tar.gz \layout Standard GNUe-Navigator-0.0.1.tar.gz \layout Standard GNUe-Reports-0.0.2.tar.gz \layout Standard and maybe also the samples and GEAS \layout Standard Samples-0.4.0.tar.gz \layout Standard GNUe-AppServer-0.0.2.tar.gz \layout Subsection egenix-mx-base (mxDateTime) \layout Standard Egenix-mx-base provides, amongst some other stuff, the mxDateTime which could not be found anymore, the INSTALL that comes with GNUe mentions it, and that it possibly could be provided with python 2.1+. Well SuSE 8.0 comes with python 2.2 but no mxDateTime. \layout Standard You can get the package at \begin_inset LatexCommand \url[http://www.lemburg.com/python/mxExtensions.html]{http://www.lemburg.com/python/mxExtensions.html} \end_inset \layout Standard The file I used was egenix-mx-base-2.0.4.tar.gz \layout Subsection wxPythonSrc \layout Standard I used the wxPythonSrc that can be found on \begin_inset LatexCommand \url[http://wxPython.org/]{http://wxPython.org/} \end_inset \layout Standard There is a link to sourceforge there and make sure you get a file named like wxPythonSrc-x.x.x.tar.gz because this one contains it's own version of wxGTK which it will build nicely with. I used wxPythonSrc-2.3.3.1.tar.gz \layout Subsection PySablot \layout Standard PySablot is necessary for GNUe-Reports. You can get it at \begin_inset LatexCommand \url[http://sourceforge.net/projects/pysablot/]{http://sourceforge.net/projects/pysablot/} \end_inset \layout Standard By the time I got there the most recent package was just one: PySablot-0.1.tar.gz \layout Subsection SuSE packages \layout Standard This is the easy part. You can use Yast to get and install some necessary packages that come with the SuSE distribution. These packages provide amongst others python and tools to compile and install the packages that do not come with SuSE. \layout Standard As root do: \layout Verbatim yast -i flex yacc make gcc gpp cpp checkinstall \backslash \layout Verbatim m4 binutils autoconf automake glib-devel \backslash \layout Verbatim glibc-devel gtk-devel python python-devel \backslash \layout Verbatim postgresql-python sablot sablot-devel pyxml \layout Standard This list may not be complete. Perhaps not all dependencies for these packages are listed, but that is OK, yast will resolve them automatically. If I forgot something, a compile will stop and complain about it. Usually it can not find a library or executable. \layout Standard You can easily check what rpm it is provided by using pin: \layout Verbatim pin \layout Standard Pin is a great tool to see what package contains a certain file or keyword or to get a list for a certain rpm. Install it with: \layout Verbatim yast -i pin \layout Standard To make sure that all the packages we just installed are the most current ones run the online update. \layout Verbatim yast online_update \layout Standard You may think that some packages are not necessary, maybe so, let me know, this saves disk clutter. \layout Section Compiling and installing \layout Standard Everything should be done as a normal user, except where mentioned otherwise. \layout Standard First setup the build directories \layout Verbatim mkdir -p ~/BUILD/GNUe \layout Verbatim cd ~/BUILD/GNUe \layout Subsection egenix-mx-base \layout Standard In ~/BUILD/GNUe do: \layout Verbatim tar -xvzf ~/DOWNLOADS/GNUe/egenix-mx-base-2.0.4.tar.gz \layout Verbatim cd egenix-mx-base-2.0.4 \layout Verbatim python setup.py build \layout Verbatim su -c "python setup.py install" \layout Standard su asks for the \emph on root \emph default password, type it in and the lot is installed as root \layout Subsection wxPythonSrc \layout Standard I chose to install wxPython with it's own wxGTK version that came with it. SuSE does come with its own version of wxGTK which you could compile wxPython against. In that case you need wxPython with the same version as wxGTK (2.2.9). Be sure to read README.1s.txt from wxPython on how to proceed in that case. \layout Standard in ~BUILD/GNUe do: \layout Verbatim tar -xvzf ~/DOWNLOADS/GNUe/wxPythonSrc-2.3.3.1.tar.gz \layout Verbatim cd wxPythonGTK-2.3.3.1 # or whatever the top-level dir is \layout Verbatim mkdir build \layout Verbatim cd build \layout Verbatim export WXPREF=/usr/lib/wxPython \layout Verbatim ../configure --with-gtk \backslash \layout Verbatim --prefix=$WXPREF \backslash \layout Verbatim --enable-rpath=$WXPREF/lib \backslash \layout Verbatim --enable-optimise \backslash \layout Verbatim --enable-debug_flag \backslash \layout Verbatim --with-libjpeg=builtin \backslash \layout Verbatim --with-libpng=builtin \backslash \layout Verbatim --with-libtiff=builtin \backslash \layout Verbatim --with-zlib=builtin \layout Standard This is almost the same as you can find in README.1st.txt, but with one alteration , I removed the option --with-opengl. My only motivation is that it says so in the regular GNUe docs :-) and it won't break anything if you already have wxGTK because this one is only used by wxPython. \layout Verbatim make \layout Verbatim cd ../locale \layout Verbatim make allmo \layout Verbatim cd ../build \layout Verbatim su -c checkinstall \layout Standard Again su asks for the \emph on root \emph default password. Normally instead of su -c checkinstall one would use make install. Checkinstall does a make install and generates an rpm. It asks a few details and then creates and installs the rpm and also saves it in /usr/src/packages/RPMS/i386. \layout Standard I use checkinstall because it is easy to make an unofficial rpm so the installed files can be easily removed or installed on another host without needing the source tree to do a make uninstall. And very few packages provide a make uninstall. This reduces clutter immensely.s and GNUe-Navigator \layout Standard Configuring GNUe \layout Standard Checkinstall asks a few questions. First if it should generate some default documentation. Just say yes. As a description I gave \emph on wxGTK for wxPython. \layout Standard Normally checkinstall is run in the base dir of the package and guesses some info that is needed to build the rpm from the name of the directory, but since this is not the case now we also have to alter some other stuff. Using the number keys to choose each option change the following: \layout Itemize name: wxGTKforwxPython \layout Itemize version: 2.3.3.1 \layout Itemize source: wxPythonSrc-2.3.3.1 \layout Itemize provides: wxGTKforwxPython \layout Standard After that, just press return to continue and that is it. \layout Standard Now for wxPython itself: \layout Verbatim cd ../wxPython \layout Verbatim python setup.py build IN_CVS_TREE=1 \backslash \layout Verbatim WX_CONFIG=$WXPREF/bin/wx-config \backslash \layout Verbatim BUILD_GLCANVAS=0 BUILD_XRC=1 \layout Verbatim su -c "python setup.py install IN_CVS_TREE=1 \backslash \layout Verbatim WX_CONFIG=$WXPREF/bin/wx-config \backslash \layout Verbatim BUILD_GLCANVAS=0 BUILD_XRC=1" \layout Standard Afaik you can not use checkinstall (yet) to install wxPython. The installation is done using distutils which comes with the current Python versions. There should be a way to de-install it using those tools, but at the moment I have no idea. Read the manuals. \layout Subsection PySablot \layout Standard I had a hard time figuring this one out. Seems that it includes sablot.h and that one was build in some peculiar way. I think it was statically linked to some libs from expat or carries it's own version of the expat libs. But here are the tricks. \layout Standard As root do the following: \layout Verbatim ln -s /usr/lib/libexpat.a /usr/lib/libxmlparse.a \layout Verbatim ln -s /usr/lib/libexpat.a /usr/lib/libxmltok.a \layout Verbatim ln -s /usr/lib/libc.a /usr/lib/libiconv.a \layout Standard Now as a normal user untar the archive while you are in ~BUILD/GNUe: \layout Verbatim tar -xvzf ~/DOWNLOADS/GNUe/PySablot-0.1.tar.gz \layout Verbatim cd PySablot-0.1 \layout Verbatim python setup.py build \layout Verbatim su -c 'python setup.py install' \layout Standard And that's it. \layout Subsection The GNUe packages \layout Standard All the packages depend on Common so install that one first. \layout Verbatim cd ~/BUILD/GNUe \layout Verbatim tar -xvzf ~/DOWNLOADS/GNUe/GNUe-Common-0.4.0.tar.gz \layout Verbatim cd GNUe-Common-0.4.0 \layout Standard Usually GNUe installs itself in /usr/local/gnue and the binaries go into /usr/local/bin, but with SuSE these kind of packages are traditionally installed in /opt. I think this is one way of keeping everything orderly on disk, but tastes differ and the source and everything else, except for the license, is yours to change so what is keeping you anyway. \layout Standard So edit setup.cfg.in and change the relevant lines in the section [install] as follows: \layout Verbatim # Where to install GNUe's application files... \layout Verbatim prefix = /opt/gnue \layout Verbatim # Where to install GNUe executable symlinks... \layout Verbatim exec_prefix = /opt/gnue/bin \layout Standard Why edit setup.cfg.in instead of setup.cfg? Well the last is overwritten by the first during the build phase. \layout Verbatim python setup.py build \layout Verbatim su -c "python setup.py install" \layout Standard And ignore the warning about the fact that the modules were not installed in a path that is in Python's module search path. \layout Standard Repeat these steps for the modules GNUe-Designer, GNUe-Forms, GNUe-AppServer and GNUe-Navigator \layout Section Configuring GNUe \layout Standard GNUe provides a few sample config files which can be used to set it up for your system. These are located in etc in your gnue directory. \layout Verbatim su # and enter the root password \layout Verbatim cd /opt/gnue/etc \layout Verbatim cp sample.connections.conf connections.conf \layout Verbatim cp sample.gnue.conf gnue.conf \layout Verbatim cp sample.report-filters.conf report-filters.conf \layout Standard Now we need to edit some of the files. \layout Standard First change site.conf till it looks somewhat like this. \layout Verbatim common_python_path = '/opt/gnue/lib/python' \layout Verbatim common_etc = '/opt/gnue/etc' \layout Verbatim common_images = '/opt/gnue/share/images' \layout Verbatim form_images = common_images \layout Verbatim form_etc = common_etc \layout Verbatim designer_images = common_images \layout Verbatim designer_etc = common_etc \layout Standard The most important fact is that the paths need to be changed because I installed in /opt/gnue. \layout Standard Next connections.conf needs to be setup so it can connect to your database. There are some examples in that file, alter one to suit your needs and comment out the rest. Mine looks like this: \layout Verbatim [test] \layout Verbatim comment = Test Database \layout Verbatim provider = postgresql \layout Verbatim host = localhost \layout Verbatim dbname = test \layout Standard After this I could run the designer and connect to the database and create my first form using the wizard. \layout Verbatim \the_end