Skip to content
Snippets Groups Projects
Martin Urban's avatar
Martin Urban authored
4193ca3e
History
------------------------------------------------------------------------------

    Physics eXtension Library (PXL)
    C++ Toolkit for Physics Analysis, Relation Management 
    and Hypothesis Evolution in High Energy and Astroparticle Physics
    Copyright (C) 2006-2012  M. Erdmann
    Web:     https://forge.physik.rwth-aachen.de/projects/pxl     
    Contact: vispa@lists.rwth-aachen.de
    
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA

------------------------------------------------------------------------------

### Requirements:
	PXL is known to run on Linux, MacOSX and Windows. This is the source
	version of PXL - if you don't want to compile PXL yourself check our
	website for binary installers for your operating system.
	
	cmake is required to build PXL, see below.

### Optional:
  For PyPxl to work, you need Python in a version between 2.4 and 2.7. 
	Swig (http://www.swig.org), version >= 1.3.36, is required as well
	if pxl is compiled from the repository.
	
	To generate documentation, doxygen is necessary.
	

### Basic installation of the stable PXL release from source

	PXL is built using CMAKE - for more information see www.cmake.org
	Use
	
	$cmake . # or ccmake . or qcmake, or ... 
	
	to configure and generate the Makefile and
	
	$make to build PXL
	
	For installation into /usr/local/ or your specified location type
	
	$make install
	
	Don't forget to adjust your PATH, PYTHONPATH, and LD_LIBRARY_PATH
	environment variables if you decided to use a different location or
	decided to not use make install at all.
	
	You can also generate doxygen documentation (if doxygen is available) with
	
	$make doc
 


### Installation from Mercurial:
	
	For installation from Mercurial PXL requires:
	
	zlib
	python, version 2.4-3.2 (not needed for core packages only)
	swig, version >= 1.3.36 (not needed for core packages only)
	cmake 
	
	The latest developer version can be cloned from 
	
	https://forge.physik.rwth-aachen.de/hg/pxl
	ssh://forge.physik.rwth-aachen.de/hg/pxl
	https://forge.physik.rwth-aachen.de/public-hg/pxl (read-only)
	(see https://forge.physik.rwth-aachen.de/projects/pxl/repository)
	
	
### Installation on Mac OS X:
    
  The installation should work as described for Unix systems (tested
  for Snow Leopard and Lion) with cmake. There are also Xcode project
  files provided to compile with Xcode.

  If you are running an earlier version of Mac OS X and
  the instructions above do not work, the following information
  may be useful.

	You might need to install pkgconfig
	(http://pkg-config.freedesktop.org/wiki/), version >= 0.9.0 (not 
	necessary for Lion or Snow Leopard)
   
	PXL does not directly support universal/fat binaries, but Xcode does
	and can be used for this purpose using the provided project files.
	Although not described here, similar steps should work for the power
	pc architectures as well.
  
	Compilation and installation work as described above (cmake). 
	
	Setting the ARCHFLAGS	environmental variable may prevent warning
  messages when	PXL is linked against Python that comes with
  earlier versions of Mac OS X.
  
  Choose one of the following architectures:
   
    - 32 bit Intel
      export CXXFLAGS="-arch i386"
   	  export ARCHFLAGS="-arch i386"
   
    - 64 bit Intel
      export CXXFLAGS="-arch x86_64"
   	  export ARCHFLAGS="-arch x86_64"