If you have a look at the 'sconstruct' script, specifically in the
relax_fit() method, you will also see that you can set the
PYTHON_INCLUDE_DIR environmental variable to where ever the
corresponding Python.h file is.

Regards,

Edward

On 26 August 2014 14:58, Edward d'Auvergne <[email protected]> wrote:
> Hi,
>
> The problem is shown in the line:
>
> target_functions/relax_fit.c:21:20: error: Python.h: No such file or directory
>
> I.e. the Python headers cannot be found by the compiler.  How do you
> compile this?  Do you use 'scons'?  Have you compiled the module
> before?  Is the Python.h file in the directory
> /sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7?
>
> Regards,
>
> Edward
>
>
> On 26 August 2014 14:57, Troels Emtekær Linnet <[email protected]> wrote:
>> I get this when I try to compile:
>>
>> gcc -o target_functions/c_chi2.os -c
>> -I/sbinlab2/software/python-
>> enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>> -fPIC target_functions/c_chi2.c
>> gcc -o target_functions/exponential.os -c
>> -I/sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>> -fPIC target_functions/exponential.c
>> gcc -o target_functions/relax_fit.os -c
>> -I/sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>> -fPIC target_functions/relax_fit.c
>> target_functions/relax_fit.c:21:20: error: Python.h: No such file or 
>> directory
>> target_functions/relax_fit.c:31: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:80: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:118: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:168: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:179: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:196: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '*' token
>> target_functions/relax_fit.c:244: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before 'relax_fit_methods'
>> target_functions/relax_fit.c: In function 'initrelax_fit':
>> target_functions/relax_fit.c:305: error: 'relax_fit_methods'
>> undeclared (first use in this function)
>> target_functions/relax_fit.c:305: error: (Each undeclared identifier
>> is reported only once
>> target_functions/relax_fit.c:305: error: for each function it appears in.)
>> scons: *** [target_functions/relax_fit.os] Error 1
>> scons: building terminated because of errors.
>>
>> 2014-08-26 13:30 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>> The minfx equivalent algorithms as scipy.optimize.fmin_cg() and
>>> scipy.optimize.fmin_ncg(), as well as the other scipy.optimize
>>> functions are now working with the exponential curve-fitting in relax
>>> as the gradient is now implemented.  None of the Scipy algorithms
>>> require the Hessian.  They really need to implement the Newton
>>> optimisation technique to be taken seriously.  This is quite different
>>> to NCG:
>>>
>>> http://home.gna.org/minfx/minfx.ncg-module.html
>>> http://home.gna.org/minfx/minfx.newton-module.html
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>>
>>> On 26 August 2014 13:23,  <[email protected]> wrote:
>>>> Author: tlinnet
>>>> Date: Tue Aug 26 13:23:47 2014
>>>> New Revision: 25287
>>>>
>>>> URL: http://svn.gna.org/viewcvs/relax?rev=25287&view=rev
>>>> Log:
>>>> Removed all code regarding scipy.optimize fmin_cg and fmin_ncg.
>>>>
>>>> This problem should soon be able to be solved with minfx.
>>>>
>>>> task #7822(https://gna.org/task/index.php?7822): Implement user function 
>>>> to estimate R2eff and associated errors for exponential curve fitting.
>>>>
>>>> Modified:
>>>>     trunk/specific_analyses/relax_disp/estimate_r2eff.py
>>>>
>>>> Modified: trunk/specific_analyses/relax_disp/estimate_r2eff.py
>>>> URL: 
>>>> http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/estimate_r2eff.py?rev=25287&r1=25286&r2=25287&view=diff
>>>> ==============================================================================
>>>> --- trunk/specific_analyses/relax_disp/estimate_r2eff.py        (original)
>>>> +++ trunk/specific_analyses/relax_disp/estimate_r2eff.py        Tue Aug 26 
>>>> 13:23:47 2014
>>>> @@ -45,7 +45,7 @@
>>>>  # Scipy installed.
>>>>  if scipy_module:
>>>>      # Import leastsq.
>>>> -    from scipy.optimize import fmin_cg, fmin_ncg, leastsq
>>>> +    from scipy.optimize import leastsq
>>>>
>>>>
>>>>  class Exp:
>>>> @@ -424,7 +424,6 @@
>>>>
>>>>  # 'minfx'
>>>>  # 'scipy.optimize.leastsq'
>>>> -# 'scipy.optimize.fmin_cg'
>>>>  def estimate_r2eff(spin_id=None, ftol=1e-15, xtol=1e-15, maxfev=10000000, 
>>>> factor=100.0, method='minfx', verbosity=1):
>>>>      """Estimate r2eff and errors by exponential curve fitting with 
>>>> scipy.optimize.leastsq.
>>>>
>>>> @@ -540,10 +539,6 @@
>>>>                  # Acquire results.
>>>>                  results = minimise_leastsq(E=E)
>>>>
>>>> -            elif method == 'scipy.optimize.fmin_cg':
>>>> -                # Acquire results.
>>>> -                results = minimise_fmin_cg(E=E)
>>>> -
>>>>              elif method == 'minfx':
>>>>                  # Acquire results.
>>>>                  results = minimise_minfx(E=E)
>>>> @@ -715,46 +710,6 @@
>>>>      return results
>>>>
>>>>
>>>> -def minimise_fmin_cg(E=None):
>>>> -    """Estimate r2eff and errors by exponential curve fitting with 
>>>> scipy.optimize.fmin_cg.
>>>> -
>>>> -    Unconstrained minimization of a function using the Newton-CG method.
>>>> -
>>>> -    @keyword E:     The Exponential function class, which contain data 
>>>> and functions.
>>>> -    @type E:        class
>>>> -    @return:        Packed list with optimised parameter, estimated 
>>>> parameter error, chi2, iter_count, f_count, g_count, h_count, warning
>>>> -    @rtype:         list
>>>> -    """
>>>> -
>>>> -    # Check that scipy.optimize.leastsq is available.
>>>> -    if not scipy_module:
>>>> -        raise RelaxError("scipy module is not available.")
>>>> -
>>>> -    # Initial guess for minimisation. Solved by linear least squares.
>>>> -    x0 = E.estimate_x0_exp()
>>>> -
>>>> -    # Define function to minimise. Use errors as weights in the 
>>>> minimisation.
>>>> -    use_weights = True
>>>> -
>>>> -    if use_weights:
>>>> -        func = E.func_exp_weighted_general
>>>> -        dfunc = E.func_exp_weighted_grad
>>>> -        d2func = E.func_exp_weighted_hess
>>>> -
>>>> -    # There are no args to the function, since values and times are 
>>>> stored in the class.
>>>> -    args=()
>>>> -
>>>> -    gfk = dfunc(x0)
>>>> -    deltak = numpy.dot(gfk, gfk)
>>>> -
>>>> -    # Cannot get this to work.
>>>> -
>>>> -    #xopt, fopt, fcalls, gcalls, hcalls, warnflag = fmin_ncg(f=func, 
>>>> x0=x0, fprime=dfunc, fhess=None, args=args, avextol=1e-05, 
>>>> epsilon=1.4901161193847656e-08, maxiter=maxfev, full_output=1, disp=1, 
>>>> retall=0, callback=None)
>>>> -    #test = fmin_ncg(f=func, x0=x0, fprime=dfunc, fhess=d2func, 
>>>> args=args, avextol=1e-05, epsilon=1.4901161193847656e-08, maxiter=maxfev)
>>>> -    #fmin_cg(f, x0, fprime=None, args=(), gtol=1e-5, norm=Inf, 
>>>> epsilon=_epsilon, maxiter=None, full_output=0, disp=1, retall=0, 
>>>> callback=None):
>>>> -    #fmin_cg(f=func, x0=x0, fprime=dfunc, args=args, gtol=1e-5)
>>>> -
>>>> -
>>>>  def minimise_minfx(E=None):
>>>>      """Estimate r2eff and errors by minimising with minfx.
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> relax (http://www.nmr-relax.com)
>>>>
>>>> This is the relax-commits mailing list
>>>> [email protected]
>>>>
>>>> To unsubscribe from this list, get a password
>>>> reminder, or change your subscription options,
>>>> visit the list information page at
>>>> https://mail.gna.org/listinfo/relax-commits
>>>
>>> _______________________________________________
>>> relax (http://www.nmr-relax.com)
>>>
>>> This is the relax-devel mailing list
>>> [email protected]
>>>
>>> To unsubscribe from this list, get a password
>>> reminder, or change your subscription options,
>>> visit the list information page at
>>> https://mail.gna.org/listinfo/relax-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to