Commit 84df240cd899ef530ef9eb4dac734aa8f7d0a991
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 |