Commit 84df240cd899ef530ef9eb4dac734aa8f7d0a991

Authored by Jürgen Knödlseder
1 parent 2973f7e1

Convert text in README.md into markdown format

Showing 1 changed file with 102 additions and 95 deletions
README.md
1 GammaLib information 1 GammaLib information
2 ==================== 2 ====================
3 -Version: 1.1.0 (18 January 2016) 3 +Version: 1.1.0.dev1 (30 April 2016)
4 Author: Juergen Knoedlseder (jurgen.knodlseder@irap.omp.eu) 4 Author: Juergen Knoedlseder (jurgen.knodlseder@irap.omp.eu)
5 5
6 6
@@ -41,8 +41,8 @@ data analysis framework that enables simultaneous multi-mission analysis. @@ -41,8 +41,8 @@ data analysis framework that enables simultaneous multi-mission analysis.
41 41
42 Web sites 42 Web sites
43 ========= 43 =========
44 -http://cta.irap.omp.eu/gammalib/ - for end users  
45 -https://cta-redmine.irap.omp.eu/projects/gammalib - for developers 44 +* http://cta.irap.omp.eu/gammalib/ - for end users
  45 +* https://cta-redmine.irap.omp.eu/projects/gammalib - for developers
46 46
47 47
48 Prerequisites 48 Prerequisites
@@ -57,9 +57,9 @@ can be found there. If cfitsio does not already exist on your system, @@ -57,9 +57,9 @@ can be found there. If cfitsio does not already exist on your system,
57 we recommend installation of cfitsio in the default GammaLib install 57 we recommend installation of cfitsio in the default GammaLib install
58 directory as a shared library by typing: 58 directory as a shared library by typing:
59 59
60 - % ./configure --prefix=/usr/local/gamma  
61 - % make shared  
62 - % make install 60 + $ ./configure --prefix=/usr/local/gamma
  61 + $ make shared
  62 + $ make install
63 63
64 GammaLib can also benefit from the presence of the readline library 64 GammaLib can also benefit from the presence of the readline library
65 that provides line-editing and history capabilities for text input 65 that provides line-editing and history capabilities for text input
@@ -72,25 +72,25 @@ Linux Installation @@ -72,25 +72,25 @@ Linux Installation
72 ================== 72 ==================
73 To build, verify and install GammaLib, simply type the following: 73 To build, verify and install GammaLib, simply type the following:
74 74
75 - % ./configure  
76 - % make  
77 - % make check  
78 - % make install 75 + $ ./configure
  76 + $ make
  77 + $ make check
  78 + $ make install
79 79
80 -By default GammaLib installs itself in /usr/local/gamma. If you need to 80 +By default GammaLib installs itself in `/usr/local/gamma`. If you need to
81 install GammaLib in a different location or in your home directory, use 81 install GammaLib in a different location or in your home directory, use
82 -the --prefix option to ./configure. For example: 82 +the `--prefix` option to `./configure`. For example:
83 83
84 - % ./configure --prefix=/home/yourname/projects  
85 - % make  
86 - % make check  
87 - % make install 84 + $ ./configure --prefix=/home/yourname/projects
  85 + $ make
  86 + $ make check
  87 + $ make install
88 88
89 The file INSTALL details more about using configure. Also try 89 The file INSTALL details more about using configure. Also try
90 90
91 - % ./configure --help. 91 + $ ./configure --help.
92 92
93 -The `make check' command will run an extensive unit test to verify that 93 +The `make check` command will run an extensive unit test to verify that
94 GammaLib was correctly built. Make sure that all tests were successful. 94 GammaLib was correctly built. Make sure that all tests were successful.
95 95
96 96
@@ -100,25 +100,25 @@ GammaLib is known to work on various flavors of OS X. To cope with @@ -100,25 +100,25 @@ GammaLib is known to work on various flavors of OS X. To cope with
100 different system versions and architectures, there are two Mac 100 different system versions and architectures, there are two Mac
101 specific configure options: 101 specific configure options:
102 102
103 - % ./configure --enable-universalsdk[=PATH] 103 + $ ./configure --enable-universalsdk[=PATH]
104 104
105 creates a universal build of GammaLib. The optional argument specifies 105 creates a universal build of GammaLib. The optional argument specifies
106 which OSX SDK should be used to perform the build. This defaults to 106 which OSX SDK should be used to perform the build. This defaults to
107 -"/Developer/SDKs/MacOSX.10.4u.sdk". Specify "/" when building on a 10.5 107 +`/Developer/SDKs/MacOSX.10.4u.sdk`. Specify `/` when building on a 10.5
108 system or higher, especially when building 64-bit code. 108 system or higher, especially when building 64-bit code.
109 109
110 - % ./configure --with-univeral-archs=VALUE 110 + $ ./configure --with-univeral-archs=VALUE
111 111
112 specifies the kind of universal build that should be created. Possible 112 specifies the kind of universal build that should be created. Possible
113 -values are: "32-bit", "3-way", "intel" or "all". By default, a "32-bit" 113 +values are: `32-bit`, `3-way`, `intel` or `all`. By default, a `32-bit`
114 build will be made. This option is only valid when 114 build will be made. This option is only valid when
115 -"--enable-universalsdk" is specified. 115 +`--enable-universalsdk` is specified.
116 116
117 These options are in particular needed if your Python architecture differs 117 These options are in particular needed if your Python architecture differs
118 from the default architecture of your system. To examine the Python 118 from the default architecture of your system. To examine the Python
119 architecture you may type: 119 architecture you may type:
120 120
121 - % file `which python` 121 + $ file `which python`
122 122
123 which will return the architectures that are compiled in the Mach-0 123 which will return the architectures that are compiled in the Mach-0
124 executable: 124 executable:
@@ -131,13 +131,13 @@ executable: @@ -131,13 +131,13 @@ executable:
131 If Python is 32-bit (ppc, i386) but the compiler produces by default 131 If Python is 32-bit (ppc, i386) but the compiler produces by default
132 64-bit code (ppc64, x86_64), the Python module will not work. Using 132 64-bit code (ppc64, x86_64), the Python module will not work. Using
133 133
134 - % ./configure --enable-universalsdk=/ 134 + $ ./configure --enable-universalsdk=/
135 135
136 will force a universal 32-bit build which creates code for ppc and 136 will force a universal 32-bit build which creates code for ppc and
137 i386. If on the other hand Python is 64-bit (ppc64, x86_64) but the 137 i386. If on the other hand Python is 64-bit (ppc64, x86_64) but the
138 compiler produces by default 32-bit code (ppc, i386), the option 138 compiler produces by default 32-bit code (ppc, i386), the option
139 139
140 - % ./configure --enable-universalsdk=/ --with-univeral-archs=3-way 140 + $ ./configure --enable-universalsdk=/ --with-univeral-archs=3-way
141 141
142 will generate a universal build which contains 32-bit and 64-bit code. 142 will generate a universal build which contains 32-bit and 64-bit code.
143 143
@@ -169,7 +169,7 @@ Testing @@ -169,7 +169,7 @@ Testing
169 After building and before installing GammaLib, you should run the 169 After building and before installing GammaLib, you should run the
170 extensive unit test by typing: 170 extensive unit test by typing:
171 171
172 - % make check 172 + $ make check
173 173
174 If everything works successfully you should see 174 If everything works successfully you should see
175 175
@@ -179,17 +179,17 @@ If everything works successfully you should see @@ -179,17 +179,17 @@ If everything works successfully you should see
179 179
180 or 180 or
181 181
182 -============================================================================  
183 -Testsuite summary for gammalib 1.1.0  
184 -============================================================================  
185 -# TOTAL: 20  
186 -# PASS: 20  
187 -# SKIP: 0  
188 -# XFAIL: 0  
189 -# FAIL: 0  
190 -# XPASS: 0  
191 -# ERROR: 0  
192 -============================================================================ 182 + ============================================================================
  183 + Testsuite summary for gammalib 1.1.0.dev1
  184 + ============================================================================
  185 + # TOTAL: 20
  186 + # PASS: 20
  187 + # SKIP: 0
  188 + # XFAIL: 0
  189 + # FAIL: 0
  190 + # XPASS: 0
  191 + # ERROR: 0
  192 + ============================================================================
193 193
194 at the end of the test (depending on your automake version). If no Python 194 at the end of the test (depending on your automake version). If no Python
195 support was compiled in, the number of tests performed will be reduced by one. 195 support was compiled in, the number of tests performed will be reduced by one.
@@ -202,14 +202,14 @@ This will be done automatically by an initialisation script that will @@ -202,14 +202,14 @@ This will be done automatically by an initialisation script that will
202 be installed in the bin directory. 202 be installed in the bin directory.
203 203
204 Assuming that you have installed GammaLib in the default directory 204 Assuming that you have installed GammaLib in the default directory
205 -/usr/local/gamma you need to add the following to your .bashrc or  
206 -$HOME/.profile script on a Linux machine: 205 +`/usr/local/gamma` you need to add the following to your `$HOME/.bashrc` or
  206 +`$HOME/.profile` script on a Linux machine:
207 207
208 export GAMMALIB=/usr/local/gamma 208 export GAMMALIB=/usr/local/gamma
209 source $GAMMALIB/bin/gammalib-init.sh 209 source $GAMMALIB/bin/gammalib-init.sh
210 210
211 If you use C shell or a variant then add the following to your 211 If you use C shell or a variant then add the following to your
212 -.cshrc or .tcshrc script: 212 +`$HOME/.cshrc` or `$HOME/.tcshrc` script:
213 213
214 setenv GAMMALIB /usr/local/gamma 214 setenv GAMMALIB /usr/local/gamma
215 source $GAMMALIB/bin/gammalib-init.csh 215 source $GAMMALIB/bin/gammalib-init.csh
@@ -220,7 +220,7 @@ Getting started @@ -220,7 +220,7 @@ Getting started
220 The easiest way to start with GammaLib is by using the python interface. 220 The easiest way to start with GammaLib is by using the python interface.
221 To start, type the following: 221 To start, type the following:
222 222
223 - % python 223 + $ python
224 >>> import gammalib 224 >>> import gammalib
225 >>> models=gammalib.GModels() 225 >>> models=gammalib.GModels()
226 >>> print models 226 >>> print models
@@ -232,17 +232,17 @@ This examples allocates an empty GModels object that holds a collection @@ -232,17 +232,17 @@ This examples allocates an empty GModels object that holds a collection
232 of models. 232 of models.
233 233
234 For examples, inspect the test directory, and the test directories 234 For examples, inspect the test directory, and the test directories
235 -of the instrument specific interfaces, e.g. inst/mwl/test, inst/lat/test,  
236 -and inst/cat/test. 235 +of the instrument specific interfaces, e.g. `inst/mwl/test`, `inst/lat/test`,
  236 +and `inst/cat/test`.
237 237
238 238
239 Documentation 239 Documentation
240 ============= 240 =============
241 -The doc directory (usually at /usr/local/gamma/share/doc/gammalib) 241 +The doc directory (usually at `/usr/local/gamma/share/doc/gammalib`)
242 contains the most recent set of updated documentation for this release. 242 contains the most recent set of updated documentation for this release.
243 A detailed documentation can be created by typing: 243 A detailed documentation can be created by typing:
244 244
245 - % make doc 245 + $ make doc
246 246
247 before installing the library. Two types of documentation exist: 247 before installing the library. Two types of documentation exist:
248 * code documentation 248 * code documentation
@@ -267,72 +267,79 @@ https://cta-redmine.irap.omp.eu/projects/gammalib/wiki/Submission_guidelines @@ -267,72 +267,79 @@ https://cta-redmine.irap.omp.eu/projects/gammalib/wiki/Submission_guidelines
267 267
268 Known problems 268 Known problems
269 ============== 269 ==============
  270 +
270 Python support 271 Python support
271 - GammaLib comes with Python wrappers so that all classes can be  
272 - directly used from Python. To compile-in Python support, GammaLib  
273 - needs the Python.h header file, which on many distributions is not  
274 - installed by default.  
275 - To make Python.h available, install the Python developer package  
276 - in your distribution. Otherwise you will not be able to use GammaLib  
277 - from Python. 272 +--------------
  273 +
  274 +GammaLib comes with Python wrappers so that all classes can be
  275 +directly used from Python. To compile-in Python support, GammaLib
  276 +needs the Python.h header file, which on many distributions is not
  277 +installed by default.
  278 +To make Python.h available, install the Python developer package
  279 +in your distribution. Otherwise you will not be able to use GammaLib
  280 +from Python.
278 281
279 Readline support 282 Readline support
280 - Many distributions do not have the readline header files and symbolic  
281 - link to the shared library set up by default. The same is true for the  
282 - ncurses library that is needed by readline. To properly compile-in  
283 - readline support in GammaLib, make sure that the redline header files  
284 - exist and that the symbolic links are set. In many distributions,  
285 - the shared redline and ncurses are located in /lib, while the symbolic  
286 - links are in /usr/lib. Make sure that you have symbolic links with  
287 - names 283 +----------------
  284 +Many distributions do not have the readline header files and symbolic
  285 +link to the shared library set up by default. The same is true for the
  286 +ncurses library that is needed by readline. To properly compile-in
  287 +readline support in GammaLib, make sure that the redline header files
  288 +exist and that the symbolic links are set. In many distributions,
  289 +the shared redline and ncurses are located in `/lib`, while the symbolic
  290 +links are in `/usr/lib`. Make sure that you have symbolic links with
  291 +names
288 292
289 libreadline.so 293 libreadline.so
290 libncurses.so 294 libncurses.so
291 295
292 - Symbolic links with an additional number attached, such as  
293 - libreadline.so.6 or libncurses.so.5 (which are found in many  
294 - distributions in the /lib directory) are not sufficient.  
295 - In many distributions, the appropriate headers and symbolic links  
296 - are installed if the proper readline and ncurses developer  
297 - packages are installed. 296 +Symbolic links with an additional number attached, such as
  297 +`libreadline.so.6` or `libncurses.so.5` (which are found in many
  298 +distributions in the `/lib` directory) are not sufficient.
  299 +In many distributions, the appropriate headers and symbolic links
  300 +are installed if the proper readline and ncurses developer
  301 +packages are installed.
298 302
299 Solaris 303 Solaris
300 - Although GammaLib builds on Solaris using the Sun compiler, there are  
301 - problems with global symbols in the shared library that prevent the  
302 - model registry to work correctly. Furthermore, GammaLib is not able  
303 - to catch its own exceptions, which prevents the FITS interface to work  
304 - correctly.  
305 - GammaLib has however been built and tested successfully using the GNU  
306 - compiler, and this is the only build method that is currently supported.  
307 - Problems have also been encountered when compiling cfitsio versions  
308 - more recent than 3.250. The problems have been reported to the cfitsio  
309 - developer team, and are likely to be solved in the future. For the  
310 - time being, it is recommended to use cfitsio version 3.250 on Solaris. 304 +-------
  305 +
  306 +Although GammaLib builds on Solaris using the Sun compiler, there are
  307 +problems with global symbols in the shared library that prevent the
  308 +model registry to work correctly. Furthermore, GammaLib is not able
  309 +to catch its own exceptions, which prevents the FITS interface to work
  310 +correctly.
  311 +GammaLib has however been built and tested successfully using the GNU
  312 +compiler, and this is the only build method that is currently supported.
  313 +Problems have also been encountered when compiling cfitsio versions
  314 +more recent than 3.250. The problems have been reported to the cfitsio
  315 +developer team, and are likely to be solved in the future. For the
  316 +time being, it is recommended to use cfitsio version 3.250 on Solaris.
311 317
312 OpenSolaris 318 OpenSolaris
313 - On OpenSolaris, the same problems concerning the SunStudio compiler  
314 - occur as for Solaris, and also here, the GNU compiler is the recommended  
315 - tool to build GammaLib. Also here, cfitsio version 3.250 is the  
316 - recommended library as more recent version feature relocation  
317 - problems. GammaLib has been tested using gcc 4.3.2 on  
318 - OpenSolaris 2009.06. Make sure to create the symbolic links 319 +-----------
  320 +On OpenSolaris, the same problems concerning the SunStudio compiler
  321 +occur as for Solaris, and also here, the GNU compiler is the recommended
  322 +tool to build GammaLib. Also here, cfitsio version 3.250 is the
  323 +recommended library as more recent version feature relocation
  324 +problems. GammaLib has been tested using gcc 4.3.2 on
  325 +OpenSolaris 2009.06. Make sure to create the symbolic links
319 326
320 ln -s /usr/bin/gcc4.3.2 /usr/bin/gcc 327 ln -s /usr/bin/gcc4.3.2 /usr/bin/gcc
321 ln -s /usr/bin/g++4.3.2 /usr/bin/g++ 328 ln -s /usr/bin/g++4.3.2 /usr/bin/g++
322 329
323 - which are not there by default to avoid excess warnings during  
324 - compilation.  
325 - For OpenSolaris 2009.06, no readline package is available, hence  
326 - readline support is not readily available. Readline support can however  
327 - be enabled by directly installing the GNU ncurses and readline packages  
328 - from source (http://ftp.gnu.org/gnu). This has been done successfully  
329 - on OpenSolaris 2009.06 for ncurses-5.9 and readline-6.2. Make sure  
330 - to specify the `--with-shared' option when configuring ncurses, so  
331 - that the shared library will be built and installed. Otherwise,  
332 - relocation errors may occur during compilation of GammaLib. 330 +which are not there by default to avoid excess warnings during
  331 +compilation.
  332 +For OpenSolaris 2009.06, no readline package is available, hence
  333 +readline support is not readily available. Readline support can however
  334 +be enabled by directly installing the GNU ncurses and readline packages
  335 +from source (http://ftp.gnu.org/gnu). This has been done successfully
  336 +on OpenSolaris 2009.06 for ncurses-5.9 and readline-6.2. Make sure
  337 +to specify the `--with-shared` option when configuring ncurses, so
  338 +that the shared library will be built and installed. Otherwise,
  339 +relocation errors may occur during compilation of GammaLib.
333 340
334 341
335 Contact 342 Contact
336 ======= 343 =======
337 To get in touch with the GammaLib developers and to contribute to the 344 To get in touch with the GammaLib developers and to contribute to the
338 -project please contact Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>. 345 -project please contact Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>.
  346 +project please contact Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>.
339 \ No newline at end of file 347 \ No newline at end of file