* The most simple case
-----------------------
-If you compile wxWindows on Unix for the first time and don't like
-to read install instructions just do (in the base dir):
+If you compile wxWindows on Unix for the first time and don't
+like to read install instructions just do (in the base dir):
-./configure --without-threads
+./configure
make
+make install
-and drink 10 coffees. Then you may log in as root and type
+* The most simple errors
+------------------------
-make install
+configure reports, that you don't have GTK 1.0.X installed
+although you are certainly sure you have. Well, you have
+installed it, but you also have another version of the
+GTK installed, which you may need to removed including
+other versions of glib (and its headers).
-You can leave out the --without-threads option if you have a NEW
-Linux distribution based on glibc (e.g. RedHat 5.1) or any other
-Unix that comes with Posix threads or SGI threads.
+You get errors during compilation. The reason is that you
+probably have a broken compiler, which includes almost
+everything that is called gcc. If there is just any way
+for you to use egcs, use egcs. We are sorry, but we cannot
+fix gcc for the moment.
-Now create your super-application myfoo.app and compile anywhere with
+* The most simple program
+-------------------------
+
+Now create your super-application myfoo.app and compile anywhere
+with
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
* General
-----------------------
-The Unix variants of wxWindows use GNU configure. If you have problems
-with your make use GNU make instead.
+The Unix variants of wxWindows use GNU configure. If you have
+problems with your make use GNU make instead.
-Read my homepage at
+If you have general problems with installation, read my
+homepage at
http://wesley.informatik.uni-freiburg.de/~wxxt
-for newest information.
+for newest information. If you still don't have any success,
+please send a bug report to one of our mailing lists (see
+my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND
+YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
+DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know
+this has no effect, but I tried...
* GUI libraries
-----------------------
-wxWindows requires a GUI toolkit to be installed. Does that make
-sense? So far only the GTK is supported, but we hope to provide
-the choice between GTK, Qt, Motif/Lesstif in the not so distant
-future.
+wxWindows/GTK requires the GTK+ library to be installed on your system.
+It has to be a stable version, preferebly version 1.0.6. When using
+a version previous to 1.0.6 you'll might get crashes here and there.
+
+wxWindows/GTK does NOT work with the 1.1.X versions of the GTK+ library
+and we will wait until the 1.2 version comes out and has stabilized
+until we'll work with that library.
-You can get the newest version of the GTK from the GTK homepage
+You can get the newest version of the GTK+ from the GTK homepage
at
http://www.gtk.org
-The newest versin of Qt can be downloaded for free from the Trolltec's
-site at
- http://www.troll.no
-
-Lesstif can be downloaded from their site
-at
- http://www.lesstif.org
-
-If you want to develop using Motif, you need to buy it, unless it comes
-with your operating system such as all commercial Unices, as well as
-RedHat's, SuSe's and probably other's Linux Motif editions.
-
+We also mirror GTK+ 1.0.6 at my ftp site. You'll find information
+about downloading at my homepage.
+
* Additional libraries
-----------------------
-There will be a few more features of wxWindows, which will
-require further libraries (on some platforms). These
-features will be optional. I hope to teach configure
-to check that out automatically.
-
-Thread support:
-
- Requires pthreads under Linux with glibc 2. pthreads are
- always present on such systems, so just compile, unless
- you have RedHat 5.0, which has a broken combination of
- glibc 2 and X. In this case, you have to run configure
- with "--without-threads".
-
- Requires PCthreads under Linux with libc 5. If you
- haven't installed pcthreads, there will be no thread
- support in wxWindows, but the library will compile.
-
- Requires Posix threads on commercial Unix system,
- which are always present. Just compile.
-
- On SGI Irix we first look for sprocs, then pthreads and
- use the last one found.
-
-Python scripting language support:
-
- Requires Python. Soon to come.
+wxWindows/Gtk requires a thread library and X libraries
+known to work with threads. This is the case on all
+commercial Unix-Variants and all Linux-Versions that
+are based on glibc 2 except RedHat 5.0 which is broken
+in many aspects. As of writing this, these Linux
+distributions have correct glibc 2 support:
+
+ - RedHat 5.1
+ - Debian 2.0
+ - Stampede
+ - DLD 6.0
+ - SuSE 6.0
+
+On IRIX you can also use SGI threads if Posix-Threads
+are not present. The SGI threads will be detected by
+configure automatically.
+
+You can enable thread support by running
+
+./configure "--with-threads"
+make clean
+make
+make install
-* Other things to do
------------------------------
-
-wxGTK and wxMotif/wxLesstif require the built-in
-ImLib/GdkImlib to be configured. For that purpose
-copy the two files from /misc/imlib to your
-home directory and rename "imrc" -> ".imrc".
-You may also edit imrc by hand as you like.
-The palette file is required when using
-wxWindows in 256-colour mode.
-
-If you want to use wxWindows's ODBC support, you'll have
-to create a .odbc.ini file. The readme file in
-~/src/iodbc tells you what to do.
+NB: I included thread support in wxWindows/Gtk, as this
+problem will disappear in the near future when all major
+Linux Variants have moved to glibc 2. Also, the Linux
+Base Standard will include glibc 2 and Posix threads.
+NB: DO NOT COMPILE WXGTK WITH GCC AND THREADS, SINCE
+ALL PROGRAMS WILL CRASH UPON START-UP. Just always
+use egcs and be happy.
* Create your configuration
-----------------------------
--with-gtk Use the GIMP ToolKit (GTK)
- --with-qt Use Qt from TrollTec
-
--with-motif Use either Motif or Lesstif
Configure will look for both.
The following options handle the kind of library you want to build.
- --without-threads Compile without thread support.
+ --with-threads Compile without thread support.
--without-shared Do not create shared libraries.
files. Currently broken, I think.
--with-mem_tracing Add built-in memory tracing.
- This doesn't work well with gcc.
--with-dmalloc Use the dmalloc memory debugger.
Read more at www.letters.com/dmalloc/
* Feature Options
-------------------
-When using the Windows version of wxWindows, it is possible
-to edit the file /include/wx/msw/setup.h in order to enable
-or disable some features of wxWindows so that the resulting
-binaries get smaller.
-
As I don't yet care for binary size and target mainly at
producing a shared library, wxWindows's configure system auto-
matically enables all features, as long as they are already
-implemented.
+implemented. It is currently NOT possible to disable these
+options (in contrast to what configure tells you).
* Compiling
-------------
The following must be done in the base directory (e.g. ~/wxGTK
or ~/wxWin or whatever)
-Dependencies are generated automatically using
-
- make depend
-
-(For some reason, this doesn't seem to work.)
-
-Now the makefiles are created you can compile everything is as simple
-as typing:
+Now the makefiles are created (by configure) and you can compile
+the library by typing:
make
-make yourself some coffee, as it will try to compile ALL the
-files in this distribution.
+make yourself some coffee, as it will take some time. On an old
+386SX possibly week. During compilation, you'll get a few
+warning messages.
if you want to be more selective:
make src will build only the base libraries
- make utils will build the utils
make samples will build the samples
- make other will build the other samples
- make user will build the files in the directory other
+ make other will build everything in other
+ make user will build everything in user
Then you may install the library and it's header files under
/usr/local/include/wx and /usr/local/lib respectively. You
(basedir of that application)/$(OSTYPE).
This is also the place where all the object-files will go.
+(Currently there arent any global binaries).
If you want to conserve disk space by removing unnecessary
object-files: