ferella / polepp

Automatically exported from code.google.com/p/polepp
0 stars 0 forks source link

Problems building polepp: isnan/isinf; GSL headers, lib; doxygen output dir #1

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I am trying to build polepp on Mac OS 10.6.

--- Issue 1:

make results in the following errors:

**** src ****
  Compiling Pdf.cxx
In file included from Pdf.cxx:2:
Pdf.h: In member function 'const double PDF::Gamma::raw(double, double, double) 
const':
Pdf.h:822: error: 'isinf' was not declared in this scope
Pdf.h:822: error: 'isnan' was not declared in this scope
Pdf.h: In member function 'const double PDF::Poisson::raw(int, double) const':
Pdf.h:866: error: 'isinf' was not declared in this scope
Pdf.h:866: error: 'isnan' was not declared in this scope
Pdf.h:871: error: 'isnan' was not declared in this scope
make[2]: *** [.linux/Pdf.o] Error 1
make[1]: *** [src] Error 2
make: *** [all] Error 2

The problem is that isinf and isnan are in namespace std, writing std::isinf 
and std::isnan everywhere solves this problem.

--- Issue 2:

GSL is installed on my system in /opt/local/include and /opt/local/lib.
At the moment I get the following error:

**** src ****
  Compiling Coverage.cxx
In file included from Pole.h:52,
                 from Coverage.h:19,
                 from Coverage.cxx:13:
Integrator.h:8:26: error: gsl/gsl_math.h: No such file or directory
...

How can I include that info in the Makefile?
Can you add this info to the install instructions?

--- Issue 3:

make doc fails with the following error:

  Doxygenating
warning: Tag `MAX_DOT_GRAPH_WIDTH' at line 146 of file Doxyfile has become 
obsolete.
To avoid this warning please update your configuration file using "doxygen -u"
warning: Tag `MAX_DOT_GRAPH_HEIGHT' at line 147 of file Doxyfile has become 
obsolete.
To avoid this warning please update your configuration file using "doxygen -u"
error: tag OUTPUT_DIRECTORY: Output directory 
`/afs/cern.ch/user/t/tegen/www/statistics/PoleLibDoxy' does not exist and 
cannot be created
Exiting...
make: *** [doc] Error 1

Removing the hardcoded directory fixes the problem, i.e. change line 8 of 
Doxyfile to
OUTPUT_DIRECTORY       = 
and the doc will be built in doxy-html.

I'm looking forward to using the tools once I manage to build them. :-)

Original issue reported on code.google.com by Deil.Chr...@googlemail.com on 22 Jun 2011 at 10:24

GoogleCodeExporter commented 8 years ago

Original comment by teg...@gmail.com on 1 Jul 2011 at 11:52

GoogleCodeExporter commented 8 years ago
Issue 1: added std::, also to calls of exp(), log() and sqrt()
Issue 2: if you now do "make" or "make help" you will be told on how to fix 
this one
Issue 3: updated the Doxyfile

Issue 2 should be fixed in a more proper way (using e.g configure). But for now 
this will have to do.
If the system has both 64-bit (/usr/lib64) and 32-bit (/usr/lib) the GSL_LIB 
has to be set manually as in the example provided by the make file.

The fixes are tested on my linux machine. I don't have access to a Mac so I 
don't know if this works.

Note that TCLAP is a collection of C++ templates and does not have a binary 
library.

Original comment by teg...@gmail.com on 1 Jul 2011 at 12:45

GoogleCodeExporter commented 8 years ago

Original comment by teg...@gmail.com on 1 Jul 2011 at 12:45

GoogleCodeExporter commented 8 years ago
Thanks for fixing the issues.
I can confirm that on a Mac with gsl and tclap installed via Macports the 
following command now succeeds:
make GSL_LIB=/opt/local/lib GSL_INCL=/opt/local/include/ all

Original comment by Deil.Chr...@googlemail.com on 1 Jul 2011 at 3:45