Hi,

The way we can solve this issue is to first type the gcc linking
command by hand, rather than using scons.  Then once all is
functional, I can fix the Scons script.  Here is what Douglas Kojetin
did to make this work
(https://mail.gna.org/public/relax-devel/2006-11/msg00092.html), and
then I tailored the scons script to match.  If you cut an past this
gcc command, can you compile the modules and run the system test
without failures?  Also, once this is all functional, I would like to
get your changes (well, modified to be compatible with all other
operating systems) into the repository so that it is easier for you
next time.

Cheers,

Edward



2009/8/17 Jack Howarth <[email protected]>:
> Edward,
>   I'll have to look into that as I'm not very familar with scons.
> Currently for 1.3.3, it is sufficient to use...
>
> --- relax-1.3.0.orig/relax      2007-02-19 00:36:06.000000000 -0500
> +++ relax-1.3.0/relax   2008-08-11 02:13:30.000000000 -0400
> @@ -1,4 +1,4 @@
> -#! /usr/bin/env python
> +#! /usr/bin/env python2.X
>
>  ###############################################################################
>  #                                                                            
>  #
> --- relax-1.3.0/scons/install.py.sav    2008-08-10 15:31:01.000000000 -0400
> +++ relax-1.3.0/scons/install.py        2008-08-10 16:01:22.000000000 -0400
> @@ -112,8 +112,8 @@
>     ###############
>
>     # Run relax to create the *.pyc files.
> -    print "\nRunning relax to create the byte-compiled *.pyc files."
> -    system(env['SYMLINK'] + " --test")
> +    # print "\nRunning relax to create the byte-compiled *.pyc files."
> +    # system(env['SYMLINK'] + " --test")
>
>     # Final print out.
>     print "\n\n\n"
> --- relax-1.3.0.orig/sconstruct 2007-02-19 00:36:06.000000000 -0500
> +++ relax-1.3.0/sconstruct      2008-08-11 02:02:56.000000000 -0400
> @@ -94,7 +94,7 @@
>     SYS = SYSTEM
>
>     # Mac OS X installation path.
> -    INSTALL_PATH = sys.prefix + sep + 'local'
> +    INSTALL_PATH = 'FINK_INSTALL_DIR' + sep + 'lib'
>
>
>  # All other operating systems.
> @@ -111,16 +111,15 @@
>  ###############
>
>  # Relax installation directory.
> -RELAX_PATH = INSTALL_PATH + sep + 'relax'
> +RELAX_PATH = INSTALL_PATH + sep + 'relax-py2X'
>
>  # Installation path for binaries.
> -BIN_PATH = INSTALL_PATH + sep + 'bin'
> +BIN_PATH = 'FINK_INSTALL_DIR' + sep + 'bin'
>
>  # Symbolic link installation path.
>  SYMLINK = BIN_PATH + sep + 'relax'
>
>
> -
>  # The distribution files.
>  #########################
>
> @@ -486,7 +485,7 @@
>
>         # Catch Mac OS X and send the correct command line options to the 
> linker (these may become redundant as SCons improves).
>         if env['PLATFORM'] == 'darwin':
> -            env.Append(LINKFLAGS = ['-bundle', '-bundle_loader', sys.prefix 
> + path.sep + 'bin' + path.sep + 'python', '-dynamic'])
> +            env.Append(LINKFLAGS = ['-bundle', '-bundle_loader', sys.prefix 
> + path.sep + 'bin' + path.sep + 'python2.X', '-dynamic'])
>             env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS')
>             env['SHLIBSUFFIX'] = '.so'
>
>
> to build against the fink python24 and python25 packages.
>                 Jack
>
> On Mon, Aug 17, 2009 at 03:55:06PM +0200, Edward d'Auvergne wrote:
>> Hi,
>>
>> It could be, that Python 2.6 dynamically linked libraries are now
>> compiled differently to earlier Python versions.  I'll have to look
>> that up as well.  Would you know the linker options now required?
>>
>> Cheers,
>>
>> Edward
>>
>>
>> 2009/8/17 Jack Howarth <[email protected]>:
>> > Edward,
>> >   I think I see the problem. The link line is missing a linkage on either
>> > /sw/lib/python2.6/config/libpython2.6.a or 
>> > /sw/lib/python2.6/config/libpython2.6,dylib.
>> > What do you have for the linkage of maths_fns/relax_fit.so on linux? Does
>> > that build explicitly link in the python library?
>> >                  Jack
>> >
>> >
>> > On Mon, Aug 17, 2009 at 11:50:10AM +0200, Edward d'Auvergne wrote:
>> >> Hi,
>> >>
>> >> Thank you for building these packages (or at least attempting for now
>> >> ;).  I'm still looking into the problem, but it's looking like the
>> >> Python header files are missing or are from an old version.  Do you
>> >> know if this could be the issue, that the Python development packages
>> >> are out of date or are missing?
>> >>
>> >> Cheers,
>> >>
>> >> Edward
>> >>
>> >>
>> >>
>> >> On Sun, Aug 16, 2009 at 4:08 AM, Jack Howarth<[email protected]> 
>> >> wrote:
>> >> > Edward,
>> >> >   I am trying to build updated relax-py packaging
>> >> > for fink using the 1.3.4 release on x86_64 fink
>> >> > with python2.6. Although your web page indicates
>> >> > that the binaries available are built against
>> >> > python 2.5 and 2.6, I am seeing build failures
>> >> > when I try here with scons 1.2.0...
>> >> >
>> >> > /sw/bin/python2.6 /sw/bin/scons
>> >> > scons: Reading SConscript files ...
>> >> > scons: done reading SConscript files.
>> >> > scons: Building targets ...
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > ###########################
>> >> > # Compiling the C modules #
>> >> > ###########################
>> >> >
>> >> >
>> >> > Building the relaxation curve fitting module 'maths_fns/relax_fit.so'
>> >> >
>> >> > gcc -o maths_fns/c_chi2.os -c -I/sw/include/python2.6 
>> >> > -I/sw/lib/python2.6/site-packages/numpy/core/include -fPIC 
>> >> > maths_fns/c_chi2.c
>> >> > gcc -o maths_fns/exponential.os -c -I/sw/include/python2.6 
>> >> > -I/sw/lib/python2.6/site-packages/numpy/core/include -fPIC 
>> >> > maths_fns/exponential.c
>> >> > gcc -o maths_fns/relax_fit.os -c -I/sw/include/python2.6 
>> >> > -I/sw/lib/python2.6/site-packages/numpy/core/include -fPIC 
>> >> > maths_fns/relax_fit.c
>> >> > gcc -o maths_fns/relax_fit.so -bundle -bundle_loader /sw/bin/python2.6 
>> >> > -dynamic maths_fns/c_chi2.os maths_fns/exponential.os 
>> >> > maths_fns/relax_fit.os
>> >> > Undefined symbols:
>> >> >  "_PyArg_ParseTupleAndKeywords", referenced from:
>> >> >      _setup in relax_fit.os
>> >> >  "_PyErr_Print", referenced from:
>> >> >      _initrelax_fit in relax_fit.os
>> >> >  "_Py_InitModule4_64", referenced from:
>> >> >      _initrelax_fit in relax_fit.os
>> >> >  "_PyArg_ParseTuple", referenced from:
>> >> >      _func in relax_fit.os
>> >> >      _dfunc in relax_fit.os
>> >> >  "_PyExc_RuntimeError", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in exponential.os
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >      __import_array in relax_fit.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_PyList_New", referenced from:
>> >> >      _back_calc_I in relax_fit.os
>> >> >  "__Py_NoneStruct", referenced from:
>> >> >      _setup in relax_fit.os
>> >> >      _setup in relax_fit.os
>> >> >      _setup in relax_fit.os
>> >> >  "_PyExc_ImportError", referenced from:
>> >> >      _initrelax_fit in relax_fit.os
>> >> >  "_PyCObject_AsVoidPtr", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_PyCObject_Type", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_PyImport_ImportModule", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_PyErr_SetString", referenced from:
>> >> >      _initrelax_fit in relax_fit.os
>> >> >  "_PyErr_Format", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in exponential.os
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >      __import_array in relax_fit.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_PyList_SetItem", referenced from:
>> >> >      _back_calc_I in relax_fit.os
>> >> >  "_PyObject_GetAttrString", referenced from:
>> >> >      __import_array in exponential.os
>> >> >      __import_array in relax_fit.os
>> >> >  "_Py_BuildValue", referenced from:
>> >> >      _func in relax_fit.os
>> >> >      _d2func in relax_fit.os
>> >> >      _back_calc_I in relax_fit.os
>> >> > ld: symbol(s) not found
>> >> >
>> >> > Is the 1.3.4 release really python2.6 compatible or do I need additional
>> >> > patches? Thanks in advance for any information.
>> >> >              Jack
>> >> > ps I am updating the minfx-py package to the newer 1.0.2 release of
>> >> > course for the python 2.6 compatibility changes.
>> >> >
>> >> > _______________________________________________
>> >> > relax (http://nmr-relax.com)
>> >> >
>> >> > This is the relax-users 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-users
>> >> >
>> >
>

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

This is the relax-users 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-users

Reply via email to