Well my theory doesn't seem to have held out, at least on the Macs here.
So I put the Tiger (OSX 10.4) pre-compiled 2.0.5.1 Analysis release on a
Leopard (OSX 10.5) box and did bin/updateAll, and it installed and
compiled 2.0.6 ok and ran ok. (Note, when moving up versions, updateAll
gets the source code release and compiles it. It does not get the
pre-compiled OSX release.) And as a second check I then did a "make
clean" in the ccpnmr2.0/c directory and then a "make" and it did it ok and
ran ok. So this is a puzzle.
Anyway, the first thing worth knowing is if you have Leopard. Another
alternative for you is just to download the 2.0.6 pre-compiled release and
use that (so get it that way rather than via updateAll). But this C
compilation is bound to come up at some point in the future, so it's worth
trying to figure out why it's gone wrong.
Wayne
On Tue, 10 Feb 2009, Wayne Boucher wrote:
> Right, it's a compiler problem. So the message
>
> ld warning: in /Applications/ccpnmr/python2.5/bin/python2.5, file is not
> of required architecture
>
> is definitely a problem. Can you run
> /Applications/ccpnmr/python2.5/bin/python2.5? I assume so, since this was
> working for you, no? Which would mean your Mac is happy with the
> executable but not happy re-compiling against it (or the other stuff
> there). Is your Mac Leopard (10.5)? The code was compiled on Tiger. So
> if the above is correct (namely that Leopard is happy to run Tiger code
> but not compile against it) then it looks like I'll have to provide a
> Leopard pre-compiled release as well as the Tiger one.
>
> Wayne
>
> On Mon, 9 Feb 2009, Justin Douglas wrote:
>
> > Hi Wayne
> >
> > > So in the /Applications/ccpnmr/bin/analysis script is the PYTHONPATH set
> > > to /Applications/ccpnmr/ccpnmr2.0/python? I guess another thing to check
> > > is if bin/formatConverter is working.
> > >
> >
> > FormatConverter works.
> >
> >
> > > If those are both ok, then cd into /Applications/ccpnmr/ccpnmr2.0/c and
> > > type "make" and see if you get an error (but it might whizz past quickly).
> > > Now the main change recently to the C code was to try and get the > 2 Gb
> > > files to work, so perhaps that is causing problems. But that's just a
> > > possibility.
> > >
> >
> > When I recompile the code I get the following error message:
> >
> > cd memops/global; make
> > cc -L/Applications/ccpnmr/python2.5/lib -bundle -bundle_loader
> > /Applications/ccp
> > nmr/python2.5/bin/python2.5 -o BlockFile.so utility.o python_util.o
> > hash_list.o
> > hash_table.o mem_cache.o mutex.o py_mem_cache.o block_file.o shape_file.o
> > int_a
> > rray.o py_block_file.o py_shape_file.o
> > ld warning: in /Applications/ccpnmr/python2.5/bin/python2.5, file is not of
> > requ
> > ired architecture
> > Undefined symbols:
> > "_PyInt_Type", referenced from:
> > _PyInt_Type$non_lazy_ptr in python_util.o
> > "_PyTuple_Size", referenced from:
> > _get_python_list_size in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_float_cube in python_util.o
> > "_PyList_New", referenced from:
> > _get_python_int_list in python_util.o
> > _get_python_float_list in python_util.o
> > _get_python_double_list in python_util.o
> > _get_python_float_matrix in python_util.o
> > _get_python_float_matrix in python_util.o
> > _create_python_float_array in python_util.o
> > "_PyFloat_Type", referenced from:
> > _PyFloat_Type$non_lazy_ptr in python_util.o
> > "_PyInt_FromLong", referenced from:
> > _get_python_int_list in python_util.o
> > "_PyInt_AsLong", referenced from:
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > "_PyErr_Occurred", referenced from:
> > _initMemCache in py_mem_cache.o
> > _initBlockFile in py_block_file.o
> > _initShapeFile in py_shape_file.o
> > "_PyList_GetItem", referenced from:
> > _get_python_object_by_index in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_float_cube in python_util.o
> > "_PyList_SetItem", referenced from:
> > _get_python_int_list in python_util.o
> > _get_python_float_list in python_util.o
> > _get_python_double_list in python_util.o
> > _get_python_float_matrix in python_util.o
> > _get_python_float_matrix in python_util.o
> > _set_python_float_array in python_util.o
> > _set_python_double_array in python_util.o
> > "_PyFloat_AsDouble", referenced from:
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > "__Py_NoneStruct", referenced from:
> > __Py_NoneStruct$non_lazy_ptr in py_mem_cache.o
> > __Py_NoneStruct$non_lazy_ptr in py_block_file.o
> > __Py_NoneStruct$non_lazy_ptr in py_shape_file.o
> > "_PyTuple_Type", referenced from:
> > _PyTuple_Type$non_lazy_ptr in python_util.o
> > "_PyObject_Init", referenced from:
> > _init_Py_Mem_cache in py_mem_cache.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > "_PyType_IsSubtype", referenced from:
> > _get_python_list_size in python_util.o
> > _get_python_list_size in python_util.o
> > _get_python_object_by_index in python_util.o
> > _get_python_object_by_index in python_util.o
> > _get_python_object_by_index in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _set_python_float_array in python_util.o
> > _set_python_double_array in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_float_cube in python_util.o
> > _set_python_float_cube in python_util.o
> > "_Py_BuildValue", referenced from:
> > _havePeak in py_block_file.o
> > _maxValue in py_block_file.o
> > _minValue in py_block_file.o
> > _getValue in py_block_file.o
> > _getPointValue in py_block_file.o
> > _getattr_py_block_file in py_block_file.o
> > _compareSlices in py_block_file.o
> > _getattr_py_shape_file in py_shape_file.o
> > _getattr_py_shape_file in py_shape_file.o
> > "_Py_FatalError", referenced from:
> > _initMemCache in py_mem_cache.o
> > _initBlockFile in py_block_file.o
> > _initShapeFile in py_shape_file.o
> > "_PyTuple_GetItem", referenced from:
> > _get_python_object_by_index in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_float_cube in python_util.o
> > "_PyObject_Free", referenced from:
> > _delete_py_mem_cache in py_mem_cache.o
> > _delete_py_block_file in py_block_file.o
> > _delete_py_shape_file in py_shape_file.o
> > "_PyList_Size", referenced from:
> > _get_python_list_size in python_util.o
> > _get_python_int_array in python_util.o
> > _get_python_int_alloc_array in python_util.o
> > _get_python_float_array in python_util.o
> > _get_python_float_alloc_array in python_util.o
> > _get_python_float_alloc_matrix in python_util.o
> > _get_python_float_alloc_cube in python_util.o
> > _get_python_double_array in python_util.o
> > _get_python_double_alloc_array in python_util.o
> > _get_python_double_alloc_matrix in python_util.o
> > _set_python_float_array in python_util.o
> > _set_python_double_array in python_util.o
> > _set_python_float_matrix in python_util.o
> > _set_python_double_matrix in python_util.o
> > _set_python_float_cube in python_util.o
> > "_PyType_Type", referenced from:
> > _Mem_cache_type in py_mem_cache.o
> > _Shape_block_file_type in py_block_file.o
> > _Block_file_type in py_block_file.o
> > _Shape_file_type in py_shape_file.o
> > "_PyErr_NewException", referenced from:
> > _initMemCache in py_mem_cache.o
> > _initBlockFile in py_block_file.o
> > _initShapeFile in py_shape_file.o
> > "_PyFloat_FromDouble", referenced from:
> > _get_python_float_list in python_util.o
> > _get_python_double_list in python_util.o
> > _get_python_float_matrix in python_util.o
> > _set_python_float_array in python_util.o
> > _set_python_double_array in python_util.o
> > "_PyArg_ParseTuple", referenced from:
> > _resize in py_mem_cache.o
> > _init_Py_Mem_cache in py_mem_cache.o
> > _maxValue in py_block_file.o
> > _minValue in py_block_file.o
> > _getValue in py_block_file.o
> > _getPointValue in py_block_file.o
> > _getValues in py_block_file.o
> > _setValue in py_block_file.o
> > _setValues in py_block_file.o
> > _save in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _compareSlices in py_block_file.o
> > _setComponentAmplitude in py_shape_file.o
> > _setShapeData in py_shape_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > "_Py_FindMethod", referenced from:
> > _getattr_py_mem_cache in py_mem_cache.o
> > _getattr_py_block_file in py_block_file.o
> > _getattr_py_shape_file in py_shape_file.o
> > "_PyErr_SetString", referenced from:
> > _resize in py_mem_cache.o
> > _resize in py_mem_cache.o
> > _init_Py_Mem_cache in py_mem_cache.o
> > _init_Py_Mem_cache in py_mem_cache.o
> > _init_Py_Mem_cache in py_mem_cache.o
> > _openFile in py_block_file.o
> > _havePeak in py_block_file.o
> > _havePeak in py_block_file.o
> > _havePeak in py_block_file.o
> > _havePeak in py_block_file.o
> > _maxValue in py_block_file.o
> > _maxValue in py_block_file.o
> > _maxValue in py_block_file.o
> > _maxValue in py_block_file.o
> > _minValue in py_block_file.o
> > _minValue in py_block_file.o
> > _minValue in py_block_file.o
> > _minValue in py_block_file.o
> > _getValue in py_block_file.o
> > _getValue in py_block_file.o
> > _getValue in py_block_file.o
> > _getPointValue in py_block_file.o
> > _getPointValue in py_block_file.o
> > _getPointValue in py_block_file.o
> > _getValues in py_block_file.o
> > _getValues in py_block_file.o
> > _getValues in py_block_file.o
> > _getValues in py_block_file.o
> > _getValues in py_block_file.o
> > _setValue in py_block_file.o
> > _setValue in py_block_file.o
> > _setValue in py_block_file.o
> > _setValues in py_block_file.o
> > _setValues in py_block_file.o
> > _setValues in py_block_file.o
> > _setValues in py_block_file.o
> > _setValues in py_block_file.o
> > _save in py_block_file.o
> > _save in py_block_file.o
> > _check in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _planeProduct in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _compareSlices in py_block_file.o
> > _compareSlices in py_block_file.o
> > _compareSlices in py_block_file.o
> > _compareSlices in py_block_file.o
> > _compareSlices in py_block_file.o
> > _compareSlices in py_block_file.o
> > _setComponentAmplitude in py_shape_file.o
> > _setComponentAmplitude in py_shape_file.o
> > _setShapeData in py_shape_file.o
> > _setShapeData in py_shape_file.o
> > _setShapeData in py_shape_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > "_PyList_Type", referenced from:
> > _PyList_Type$non_lazy_ptr in python_util.o
> > "_Py_InitModule4", referenced from:
> > _initMemCache in py_mem_cache.o
> > _initBlockFile in py_block_file.o
> > _initShapeFile in py_shape_file.o
> > "_PyObject_Malloc", referenced from:
> > _init_Py_Mem_cache in py_mem_cache.o
> > _init_Py_Block_file in py_block_file.o
> > _init_Py_Shape_block_file in py_block_file.o
> > _init_Py_Shape_file in py_shape_file.o
> > "_PyArg_ParseTupleAndKeywords", referenced from:
> > _havePeak in py_block_file.o
> > "_PyModule_AddObject", referenced from:
> > _initMemCache in py_mem_cache.o
> > _initBlockFile in py_block_file.o
> > _initShapeFile in py_shape_file.o
> > ld: symbol(s) not found
> > collect2: ld returned 1 exit status
> > make[1]: *** [BlockFile.so] Error 1
> > make: *** [global] Error 2
> >
> > Thanks,
> >
> > Justin
> >
>
|