Bruker AXS index previous next

Previous: How to convert KappaCCD images for use with APEX2 and SAINT
Next: What's new?


Collect uses a lot of "standard" open-source software/libraries to run. In principle it could be compatible with many versions of this software, but in practice there are so many interdependencies that Nonius and Bruker have always delivered a precompiled set. Even that precompiled set sometimes gives difficulties when there are major changes in the libraries delivered with a standard Linux system.

These are the instructions needed to compile the whole set on a linux system. For some of these packages you can put newer versions in place, but we can not help you to solve the possible incompatibilities.

1. Preparation

Create a location where all the software is compiled. I am assuming that this is done in a subdirectory "p" of your home directory.
% cd ~/p
% mkdir basis5
% cd basis5
Also make sure you have created an empty directory /usr/local/nonius, and that it is writable by yourself.

2. TCL

DOWNLOAD -> http://sourceforge.net/projects/tcl
% tar xvfz /mnt/jaz/basis5/tcl8.3.2.tar.gz
% cd tcl8.3.2/unix
% ./configure --prefix=/usr/local/nonius
% make
% make install
% cd ../..

3. TK

DOWNLOAD -> http://sourceforge.net/projects/tcl
% tar xvfz /mnt/jaz/basis5/tk8.3.2.tar.gz
% cd tk8.3.2/unix
% ./configure --prefix=/usr/local/nonius
% make
% make install
% cd ../..

4. Expat

DOWNLOAD -> ftp://ftp.jclark.com/pub/xml/
% tar xvfz /mnt/jaz/basis5/expat-1.2.tar.gz
% cd expat-1.2/
% make   <- On sgi, use cc -n32. Some "//" comments must be removed from code
% cd ..

5. BLT

DOWNLOAD -> ftp://tcltk.sourceforge.net/pub/tcltk/blt/
% tar xvfz /mnt/jaz/basis5/BLT2.4u.tar.gz
% cd blt2.4u
% ./configure --prefix=/usr/local/nonius <- On SGI, prefix with CC="cc -n32"
% make
% make install
% cd ..

6. Mesa

DOWNLOAD -> http://sourceforge.net/projects/mesa3d/
% bzip2 -dc /mnt/jaz/basis5/MesaLib-3.4.tar.bz2 | tar xvf -
% cd Mesa-3.4
% ./configure --prefix=/usr/local/nonius
% make
% make install

8. Python core

DOWNLOAD -> http://sourceforge.net/projects/python
% bzip2 -dc /mnt/jaz/basis5/Python-2.0.tar.bz2 | tar xvf -
% cd Python-2.0
% ./configure --prefix=/usr/local/nonius
% cp Modules/Setup.in Modules/Setup
% vi Modules/Setup <-- enable *shared*, readline, timing, Tcl/Tk, syslog, gdbm, zlib
#% cp ../Togl-1.5/togl.[ch] Modules/
#% cp ../Togl-1.5/tkInt.h Modules/
#% cp ../Togl-1.5/tkIntDecls.h Modules/
% make
% make test
% make install
--- Modules/Setup.in	Mon Oct 16 23:49:33 2000
+++ Modules/Setup	Mon Nov  6 13:42:20 2000
@@ -1,4 +1,4 @@
-# -*- makefile -*-
+# - *makefile -*-
 # The file Setup is used by the makesetup script to construct the files
 # Makefile and config.c, from Makefile.pre and config.c.in,
 # respectively.  The file Setup itself is initially copied from
@@ -111,7 +111,7 @@
 # modules are to be built as shared libraries (see above for more
 # detail; also note that *static* reverses this effect):
 
-#*shared*
+*shared*
 
 # GNU readline.  Unlike previous Python incarnations, GNU readline is
 # now incorporated in an optional module, configured in the Setup file
@@ -121,7 +121,7 @@
 # it, depending on your system -- see the GNU readline instructions.
 # It's okay for this to be a shared library, too.
 
-#readline readline.c -lreadline -ltermcap
+readline readline.c -lreadline -ltermcap
 
 
 # Modules that should always be present (non UNIX dependent):
@@ -164,7 +164,7 @@
 
 # The crypt module is now disabled by default because it breaks builds
 # on many systems (where -lcrypt is needed), e.g. Linux (I believe).
-#crypt cryptmodule.c # -lcrypt	# crypt(3); needs -lcrypt on some systems
+crypt cryptmodule.c -lcrypt	# crypt(3); needs -lcrypt on some systems
 
 
 # Some more UNIX dependent modules -- off by default, since these
@@ -260,7 +260,7 @@
 
 # George Neville-Neil's timing module:
 
-#timing timingmodule.c
+timing timingmodule.c
 
 
 # The _tkinter module.
@@ -278,40 +278,40 @@
 # every system.
 
 # *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
 # *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-#	-I/usr/local/include \
+	-I/usr/local/nonius/include \
 # *** Uncomment and edit to reflect where your X11 header files are:
-#	-I/usr/X11R6/include \
+	-I/usr/X11R6/include \
 # *** Or uncomment this for Solaris:
 #	-I/usr/openwin/include \
 # *** Uncomment and edit for Tix extension only:
 #	-DWITH_TIX -ltix4.1.8.0 \
 # *** Uncomment and edit for BLT extension only:
-#	-DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
+	-DWITH_BLT -L/usr/local/nonius/lib -lBLT24 \
 # *** Uncomment and edit for PIL (TkImaging) extension only:
 #	-DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
 # *** Uncomment and edit for TOGL extension only:
 #	-DWITH_TOGL togl.c \
 # *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-#	-L/usr/local/lib \
+	-L/usr/local/nonius/lib \
 # *** Uncomment and edit to reflect your Tcl/Tk versions:
-#	-ltk8.0 -ltcl8.0 \
+	-ltk8.3 -ltcl8.3 \
 # *** Uncomment and edit to reflect where your X11 libraries are:
-#	-L/usr/X11R6/lib \
+	-L/usr/X11R6/lib \
 # *** Or uncomment this for Solaris:
 #	-L/usr/openwin/lib \
 # *** Uncomment these for TOGL extension only:
-#	-lGL -lGLU -lXext -lXmu \
+	-lGL -lGLU -lXext -lXmu \
 # *** Uncomment for AIX:
 #	-lld \
 # *** Always uncomment this; X11 libraries to link with:
-#	-lX11
+	-lX11
 
 # Lance Ellinghaus's modules:
 
 rotor rotormodule.c		# enigma-inspired encryption
-#syslog syslogmodule.c		# syslog daemon interface
+syslog syslogmodule.c		# syslog daemon interface
 
 
 # Curses support, requring the System V version of curses, often
@@ -349,7 +349,7 @@
 
 # Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
 
-#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
+gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
 
 
 # Berkeley DB interface.
@@ -408,7 +408,7 @@
 # Andrew Kuchling's zlib module.
 # This require zlib 1.1.3 (or later).
 # See http://www.cdrom.com/pub/infozip/zlib/
-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
 
 # Interface to the Expat XML parser
 #
@@ -429,8 +429,8 @@
 #
 #    ar cr libexpat.a xmltok/*.o xmlparse/*.o
 #
-#EXPAT_DIR=/usr/local/src/expat
-#pyexpat pyexpat.c -I$(EXPAT_DIR)/xmlparse -L$(EXPAT_DIR) -lexpat
+EXPAT_DIR=/home/hooft/p/basis5/expat-1.2
+pyexpat pyexpat.c -I$(EXPAT_DIR)/xmlparse -L$(EXPAT_DIR)/xmlparse -lexpat
 
 
 # Example -- included for reference only:

9. Python MegaWidgets

DOWNLOAD -> http://pmw.sourceforge.net/
% cd /usr/local/nonius/lib/python2.0/site-packages
% tar xvfz /mnt/jaz/basis5/Pmw.0.8.5.tar.gz 
% python ../compileall.py Pmw

10. PIL

DOWNLOAD -> http://www.pythonware.com/products/pil/index.htm
% cd ~/p/basis5
% tar xvfz /mnt/jaz/basis5/Imaging-1.0.tar.gz
% cd Imaging-1.0/libImaging
% ./configure
% make
% make check
% cd ..
% cp Setup.in Setup
% vi Setup   <-- Change Tcl version and location, Add -lX11 to command line.
% make -f Makefile.pre.in boot
% make
% cp PIL /usr/local/nonius/lib/python2.0/site-packages
% cp *.so /usr/local/nonius/lib/python2.0/site-packages/PIL
% python /usr/local/nonius/lib/python2.0/compileall.py \
         /usr/local/nonius/lib/python2.0/site-packages/PIL

11. Numerical Python

DOWNLOAD -> http://sourceforge.net/projects/numpy
% cd basis5
% tar xvfz /mnt/jaz/basis5/Numeric-17.1.2.tar.gz
% cd Numeric-17.1.1
% python setup_all.py install

12. Scientific Python

DOWNLOAD -> http://starship.python.net/crew/hinsen/scientific.html
% cd basis5
% tar xvfz /mnt/jaz/basis5/ScientificPython-2.1.0.tar.gz
% cd ScientificPython-2.1.0
% ./install

13. PyXML

DOWNLOAD -> http://sourceforge.net/projects/pyxml/
% cd basis5
% tar xvfz /mnt/jaz/basis5/PyXML-0.6.1.tar.gz
% cd PyXML-0.6.1/
% python setup.py build
% python setup.py install

14. 4Suite

DOWNLOAD -> http://www.4suite.org/
% cd basis5
% tar cvfz /mnt/jaz/basis5/4Suite-0.9.2.tar.gz
% cd 4Suite-0.9.2
% python setup.py build
% python setup.py install

16. PyOpenGL

% cd basis5
% tar xvfz /mnt/jaz/basis5/PyOpenGl-1.5.5.tar.gz
% cd PyOpenGl-1.5.5/src
% cd Togl-1.5
% cp ../../../tk-8.3.2/generic/tkInt.h .
% cp ../../../tk-8.3.2/generic/tkIntDecls.h .
% vi +121 togl.c   <- Refer to tkInt.h
% make
% cp Setup.CONFIGURE Setup.proto
% vi Setup.proto   <- remove glut.
                   <- Put -I/usr/local/nonius/include 
                          -L/usr/local/nonius/lib
                          -L/usr/X11R6/lib
     Some Numeric include files may have changed location.
     MAKE SURE TO CHANGE THE TK/TCL VERSION ON THE -l ARGS!
% python BUILD.py
% python INSTALL.py

index previous next

Previous: How to convert KappaCCD images for use with APEX2 and SAINT
Next: What's new?


(C) 1997-2009, Bruker AXS BV, R.W.W. Hooft