NEURON 7.2 alpha doesn't compile with python and open mpi

bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

I tried to compile the NEURON 7.2 alpha version on mac osx 10.5.8 with open mpi 1.4.3 and the configure options:

Code: Select all

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --enable-carbon --with-nrnpython PYLIB='-framework Python' PYLIBLINK='-framework Python' --with-paranrn -build=i386
and got the error:

Code: Select all

nrnpy_nrn.cpp: In function ‘void nrnpy_reg_mech(int)’:
nrnpy_nrn.cpp:1191: error: invalid conversion from ‘Object** (*)()’ to ‘Object** (*)(...)’
make[4]: *** [nrnpy_nrn.lo] Error 1
make[4]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrnpython'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrnpython'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2'
make: *** [all] Error 2
it also says --enable-carbon is not a recognized option?
ted
Site Admin
Posts: 5787
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by ted »

bhalterm wrote:I tried to compile the NEURON 7.2 alpha version
Which one? Suggest you use
http://www.neuron.yale.edu/ftp/neuron/v ... 524.tar.gz
if you haven't already.
it also says --enable-carbon is not a recognized option?
Carbon is no longer supported by Apple. Use x11 instead.
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

yes, that is the version of NEURON 7.2 alpha I'm using. I tried switching out --enable-carbon with --with-x for interviews and neuron. Now I get:

Code: Select all

Undefined symbols:
  "_PyObject_Str", referenced from:
      _nrnpy_decref_defer in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_decref_clear in libnrnpython.a(nrnpy_p2h.o)
      _hoccommand_exec_strret in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _pysec_name in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_GenericGetAttr", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
  "_PyTuple_Pack", referenced from:
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
      _pickle2po in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyIter_Next", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_LookupError", referenced from:
      _PyExc_LookupError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_AsVoidPtr", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_Size", referenced from:
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyThreadState_Swap", referenced from:
      _nrnpython_ensure_threadstate in libnrnpython.a(nrnpython.o)
  "_PyExc_AttributeError", referenced from:
      _PyExc_AttributeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyType_IsSubtype", referenced from:
      _nrnpy_po2ho in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _o2loc in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_pushsec in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_setpointer_helper in libnrnpython.a(nrnpy_nrn.o)
  "_PyString_FromString", referenced from:
      _pickle2po in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
      _NPySecObj_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyRangeVar_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyRangeVar_name in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_GetAttr", referenced from:
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_HasAttrString", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "__Py_NoneStruct", referenced from:
      __Py_NoneStruct$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      __Py_NoneStruct$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyList_SetItem", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyType_Ready", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PyErr_Occurred", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyObject_GetItem", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_GetIter", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyRun_StringFlags", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_ImportError", referenced from:
      _PyExc_ImportError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyList_New", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _seg_point_processes in libnrnpython.a(nrnpy_nrn.o)
  "_PyArg_Parse", referenced from:
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_HasAttr", referenced from:
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
  "__PyThreadState_Current", referenced from:
      __PyThreadState_Current$non_lazy_ptr in libnrnpython.a(nrnpython.o)
  "_Py_Initialize", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyModule_GetDict", referenced from:
      _nrnpy_hoc2pyobject in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyList_Append", referenced from:
      _seg_point_processes in libnrnpython.a(nrnpy_nrn.o)
  "_PyRun_InteractiveLoopFlags", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyExc_RuntimeError", referenced from:
      _PyExc_RuntimeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_GetItem", referenced from:
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyImport_ImportModule", referenced from:
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_FromVoidPtr", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_New", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyString_Size", referenced from:
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_CallObject", referenced from:
      _nrnpy_pyCallObject in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
  "_Py_BuildValue", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _nrnexec in libnrnpython.a(nrnpy_hoc.o)
      _hoc_ac in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_ho2po in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_call in libnrnpython.a(nrnpy_nrn.o)
      _rv_getitem in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_Type", referenced from:
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
  "_PyErr_Clear", referenced from:
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_NameError", referenced from:
      _PyExc_NameError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyImport_AddModule", referenced from:
      _nrnpy_hoc2pyobject in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyInt_FromLong", referenced from:
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
  "__Py_TrueStruct", referenced from:
      __Py_TrueStruct$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PySequence_SetItem", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyFloat_AsDouble", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyErr_SetString", referenced from:
      _getsym in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _araychk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_iter in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _NPySegObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPySegObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _rv_getitem in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyNumber_Check", referenced from:
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_Py_Finalize", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyObject_GenericSetAttr", referenced from:
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
  "_PyInt_AsLong", referenced from:
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "__PyObject_NextNotImplemented", referenced from:
      __PyObject_NextNotImplemented$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PySequence_Size", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyString_AsString", referenced from:
      _nrnpy_decref_defer in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_decref_clear in libnrnpython.a(nrnpy_p2h.o)
      _hoccommand_exec_strret in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _pysec_name in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_setpointer_helper in libnrnpython.a(nrnpy_nrn.o)
  "_PySys_SetArgv", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyModule_AddObject", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PySeqIter_New", referenced from:
      _hocobj_iter in libnrnpython.a(nrnpy_hoc.o)
  "_PyDict_SetItemString", referenced from:
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _rangevars_add in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
  "_PyNumber_Float", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
  "_PyDict_New", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _remake_pmech_types in libnrnpython.a(nrnpy_nrn.o)
      _remake_pmech_types in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_SetAttr", referenced from:
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_GetAttrString", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
  "_PyObject_SetItem", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_SetAttrString", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
  "_PyDict_GetItemString", referenced from:
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _segment_iter in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_next in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyErr_Print", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_IndexError", referenced from:
      _PyExc_IndexError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      _PyExc_IndexError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyRun_AnyFileExFlags", referenced from:
      _nrnpy_pyrun in libnrnpython.a(nrnpython.o)
  "_PyArg_ParseTupleAndKeywords", referenced from:
      _NPySecObj_init in libnrnpython.a(nrnpy_nrn.o)
  "_PyArg_ParseTuple", referenced from:
      _nrnexec in libnrnpython.a(nrnpy_hoc.o)
      _hoc_ac in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_baseattr in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _NPySegObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPySegObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_call in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyType_GenericNew", referenced from:
      _PyType_GenericNew$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyTuple_SetItem", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_TypeError", referenced from:
      _PyExc_TypeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      _PyExc_TypeError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PySequence_GetItem", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyRun_SimpleStringFlags", referenced from:
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpython_start in libnrnpython.a(nrnpython.o)
      _nrnpython_real in libnrnpython.a(nrnpython.o)
  "_PyObject_IsInstance", referenced from:
      _fcall in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_ValueError", referenced from:
      _PyExc_ValueError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyLong_AsLong", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_Py_InitModule4", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PyFloat_FromDouble", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyOS_ReadlineFunctionPointer", referenced from:
      _PyOS_ReadlineFunctionPointer$non_lazy_ptr in libnrnpython.a(nrnpython.o)
  "__PyObject_New", referenced from:
      _section_iter in libnrnpython.a(nrnpy_nrn.o)
      _segment_iter in libnrnpython.a(nrnpy_nrn.o)
      _pp_get_segment in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_next in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _rangevars_add in libnrnpython.a(nrnpy_nrn.o)
  "_PySequence_Check", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_FromDouble", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [nrniv] Error 1
make[3]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrniv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2'
make: *** [all] Error 2
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

Code: Select all

nrnpy_nrn.cpp:1191: error: invalid conversion from ‘Object** (*)()’ to ‘Object** (*)(...)’
Edit src/nrnpython/nrnpy_nrn.cpp and change line 1191 which reads

Code: Select all

                                s->u.u_proc->defn.pfo = (Object**(*)())pp_get_segment;
to

Code: Select all

                                s->u.u_proc->defn.pfo = (Object**(*)(...))pp_get_segment;
and let me know if that does not fix that specific problem.

In regard to carbon, carbon is not available to build a 64 bit program on an x86_64 with snow leopard and more recent os x.

I've forgotten the os x numbering system but I believe snow leopard is 10.6 so maybe you
have a i686 computer or powerpc and the leopard operating system. In that case --enable-carbon
is supposed to work. I see you are configureing using the option -build=i386 (I'm guessing you need
a double - as in --build=-i386). I haven't tried that on a mac but if it ends up add ing -arch i386 to the
compile lines during make then I would imagine it is working properly. Actually there is hope for that
even on an x86_64 under snow leopard. I'll have to try it when I have access to an x86_64 mac.

Anyway, I need more information about
it also says --enable-carbon is not a recognized option?
What's "it". During configure? Generally configure does not complain when options are typed that are not
recognized.

Did you get InterViews built or are you making use of the dmg already-built version.
If the former, did it have trouble with --enable-carbon and --build=i386 ?
I tried switching out --enable-carbon with --with-x for interviews and neuron
There is only one practical alternative to --enable-carbon if you desire a GUI. I.e not using it. Then the default is to use an
x11 version of InterViews. Of course, that will fail if you have not installed an x11 version of InterViews. The undefined symbols displayed
suggests many things that have been compiled are no longer consistent after the configure changes and you need to wipe it out and start over.
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

Ok... line 1191 of nrnpy_nrn.cpp now reads

Code: Select all

s->u.u_proc->defn.pfo = (Object**(*)(...))pp_get_segment;
I also used --build=i386 instead of -build=i386.
before, when I used --enable-carbon, it did say that that was unrecognized near the beginning of the output from ./configure
Is --with-x the default for compiling interviews and neuron, or do I need to specify it? I did (I think) compile both interviews and neuron explicitly using the --with-x option.

So now my configure line is

Code: Select all

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-x --with-nrnpython PYLIB='-framework Python' PYLIBLINK='-framework Python' --with-paranrn --build=i386
and I get the error (without all the undefined symbols):

Code: Select all

nrnpy_nrn.cpp: In function ‘void nrnpy_reg_mech(int)’:
nrnpy_nrn.cpp:1191: error: invalid conversion from ‘Object** (*)(...)’ to ‘Object** (*)()’
make[4]: *** [nrnpy_nrn.lo] Error 1
make[4]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrnpython'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrnpython'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2'
make: *** [all] Error 2
Which looks like the same error?
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

Code: Select all

nrnpy_nrn.cpp:1191: error: invalid conversion from ‘Object** (*)()’ to ‘Object** (*)(...)’
nrnpy_nrn.cpp:1191: error: invalid conversion from ‘Object** (*)(...)’ to ‘Object** (*)()’
I fixed this in the mac version when I prepared the latest dmg for use in the just completed
NEURON course in San Diego. Unfortunately I am out of town til a week from next Thursday
and do not have access to my Mac to see what change I made. I'm puzzled why my suggested
fix was not accepted by the compiler. After all, pp_get_segment is defined in that file as a
static Object** pp_get_segment(void* vptr)
and pfo is defined in nrn/src/oc/hoc.h as a Pfro and
#if MAC && defined(__cplusplus)
...
typedef struct Object** (*Pfro)(...);

So I don't know why my suggested cast did not work. Try one more time with

Code: Select all

                                s->u.u_proc->defn.pfo = (Pfro)pp_get_segment;
If that does not work then I'm afraid I'm stuck until I can find a mac to experiment with.

You do not need --with-x but it should not hurt.
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

Now I just get the long list of undefined symbols:

Code: Select all

Undefined symbols:
  "_PyObject_Str", referenced from:
      _nrnpy_decref_defer in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_decref_clear in libnrnpython.a(nrnpy_p2h.o)
      _hoccommand_exec_strret in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _pysec_name in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_GenericGetAttr", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
  "_PyTuple_Pack", referenced from:
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
      _pickle2po in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyIter_Next", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_LookupError", referenced from:
      _PyExc_LookupError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_AsVoidPtr", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_Size", referenced from:
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyThreadState_Swap", referenced from:
      _nrnpython_ensure_threadstate in libnrnpython.a(nrnpython.o)
  "_PyExc_AttributeError", referenced from:
      _PyExc_AttributeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyType_IsSubtype", referenced from:
      _nrnpy_po2ho in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _o2loc in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_pushsec in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_setpointer_helper in libnrnpython.a(nrnpy_nrn.o)
  "_PyString_FromString", referenced from:
      _pickle2po in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
      _NPySecObj_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyRangeVar_name in libnrnpython.a(nrnpy_nrn.o)
      _NPyRangeVar_name in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_GetAttr", referenced from:
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_HasAttrString", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "__Py_NoneStruct", referenced from:
      __Py_NoneStruct$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      __Py_NoneStruct$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyList_SetItem", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyType_Ready", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PyErr_Occurred", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyObject_GetItem", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_GetIter", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyRun_StringFlags", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_ImportError", referenced from:
      _PyExc_ImportError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyList_New", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _seg_point_processes in libnrnpython.a(nrnpy_nrn.o)
  "_PyArg_Parse", referenced from:
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_HasAttr", referenced from:
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
  "__PyThreadState_Current", referenced from:
      __PyThreadState_Current$non_lazy_ptr in libnrnpython.a(nrnpython.o)
  "_Py_Initialize", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyModule_GetDict", referenced from:
      _nrnpy_hoc2pyobject in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyList_Append", referenced from:
      _seg_point_processes in libnrnpython.a(nrnpy_nrn.o)
  "_PyRun_InteractiveLoopFlags", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyExc_RuntimeError", referenced from:
      _PyExc_RuntimeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_GetItem", referenced from:
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_PyImport_ImportModule", referenced from:
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_FromVoidPtr", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
  "_PyTuple_New", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyString_Size", referenced from:
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_CallObject", referenced from:
      _nrnpy_pyCallObject in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
  "_Py_BuildValue", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _nrnexec in libnrnpython.a(nrnpy_hoc.o)
      _hoc_ac in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_name in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_ho2po in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc_pop in libnrnpython.a(nrnpy_hoc.o)
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_call in libnrnpython.a(nrnpy_nrn.o)
      _rv_getitem in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_Type", referenced from:
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
  "_PyErr_Clear", referenced from:
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattro in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_NameError", referenced from:
      _PyExc_NameError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyImport_AddModule", referenced from:
      _nrnpy_hoc2pyobject in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
  "_PyInt_FromLong", referenced from:
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
  "__Py_TrueStruct", referenced from:
      __Py_TrueStruct$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PySequence_SetItem", referenced from:
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyFloat_AsDouble", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyErr_SetString", referenced from:
      _getsym in libnrnpython.a(nrnpy_hoc.o)
      _set_final_from_stk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _araychk in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_iter in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setitem in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_vptr in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _NPySegObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPySegObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _rv_noexist in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _rv_getitem in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
      _rv_setitem in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyNumber_Check", referenced from:
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_Py_Finalize", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyObject_GenericSetAttr", referenced from:
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
  "_PyInt_AsLong", referenced from:
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "__PyObject_NextNotImplemented", referenced from:
      __PyObject_NextNotImplemented$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
  "_PySequence_Size", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyString_AsString", referenced from:
      _nrnpy_decref_defer in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_decref_clear in libnrnpython.a(nrnpy_p2h.o)
      _hoccommand_exec_strret in libnrnpython.a(nrnpy_p2h.o)
      _guigetstr in libnrnpython.a(nrnpy_p2h.o)
      pickle(_object*, unsigned long*)in libnrnpython.a(nrnpy_p2h.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_setattro in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _pysec_name in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_setattro in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_setpointer_helper in libnrnpython.a(nrnpy_nrn.o)
  "_PySys_SetArgv", referenced from:
      _nrnpython_start in libnrnpython.a(nrnpython.o)
  "_PyModule_AddObject", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PySeqIter_New", referenced from:
      _hocobj_iter in libnrnpython.a(nrnpy_hoc.o)
  "_PyDict_SetItemString", referenced from:
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _symlist2dict in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _rangevars_add in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
  "_PyNumber_Float", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _praxis_efun in libnrnpython.a(nrnpy_p2h.o)
      _guigetval in libnrnpython.a(nrnpy_p2h.o)
      _nrnpy_numbercheck in libnrnpython.a(nrnpy_hoc.o)
      _fcall in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
  "_PyDict_New", referenced from:
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _remake_pmech_types in libnrnpython.a(nrnpy_nrn.o)
      _remake_pmech_types in libnrnpython.a(nrnpy_nrn.o)
  "_PyObject_SetAttr", referenced from:
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_GetAttrString", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      setpickle()    in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getattr in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
  "_PyObject_SetItem", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
  "_PyObject_SetAttrString", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
  "_PyDict_GetItemString", referenced from:
      _hocobj_call in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_new in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
      _segment_iter in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_setattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_next in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_setattro in libnrnpython.a(nrnpy_nrn.o)
      _nrnpy_reg_mech in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyErr_Print", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      hoccommand_exec_help1(_object*)     in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_IndexError", referenced from:
      _PyExc_IndexError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      _PyExc_IndexError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyRun_AnyFileExFlags", referenced from:
      _nrnpy_pyrun in libnrnpython.a(nrnpython.o)
  "_PyArg_ParseTupleAndKeywords", referenced from:
      _NPySecObj_init in libnrnpython.a(nrnpy_nrn.o)
  "_PyArg_ParseTuple", referenced from:
      _nrnexec in libnrnpython.a(nrnpy_hoc.o)
      _hoc_ac in libnrnpython.a(nrnpy_hoc.o)
      _hocobj_baseattr in libnrnpython.a(nrnpy_hoc.o)
      _mkref in libnrnpython.a(nrnpy_hoc.o)
      _setpointer in libnrnpython.a(nrnpy_hoc.o)
      _NPySegObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_new in libnrnpython.a(nrnpy_nrn.o)
      _NPySegObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPyMechObj_init in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_connect in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_call in libnrnpython.a(nrnpy_nrn.o)
      _NPySecObj_insert in libnrnpython.a(nrnpy_nrn.o)
  "_PyType_GenericNew", referenced from:
      _PyType_GenericNew$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyTuple_SetItem", referenced from:
      _py2n_component in libnrnpython.a(nrnpy_p2h.o)
      _call_picklef in libnrnpython.a(nrnpy_p2h.o)
  "_PyExc_TypeError", referenced from:
      _PyExc_TypeError$non_lazy_ptr in libnrnpython.a(nrnpy_hoc.o)
      _PyExc_TypeError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PySequence_GetItem", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyRun_SimpleStringFlags", referenced from:
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpy_augment_path in libnrnpython.a(nrnpython.o)
      _nrnpython_start in libnrnpython.a(nrnpython.o)
      _nrnpython_real in libnrnpython.a(nrnpython.o)
  "_PyObject_IsInstance", referenced from:
      _fcall in libnrnpython.a(nrnpy_hoc.o)
  "_PyExc_ValueError", referenced from:
      _PyExc_ValueError$non_lazy_ptr in libnrnpython.a(nrnpy_nrn.o)
  "_PyLong_AsLong", referenced from:
      _double_array_interface in libnrnpython.a(nrnpy_hoc.o)
  "_Py_InitModule4", referenced from:
      _nrnpy_hoc in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_nrn in libnrnpython.a(nrnpy_nrn.o)
  "_PyFloat_FromDouble", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _grphcmdtool in libnrnpython.a(nrnpy_p2h.o)
      _guisetval in libnrnpython.a(nrnpy_p2h.o)
      _hocobj_getitem in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyOS_ReadlineFunctionPointer", referenced from:
      _PyOS_ReadlineFunctionPointer$non_lazy_ptr in libnrnpython.a(nrnpython.o)
  "__PyObject_New", referenced from:
      _section_iter in libnrnpython.a(nrnpy_nrn.o)
      _segment_iter in libnrnpython.a(nrnpy_nrn.o)
      _pp_get_segment in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _section_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_next in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _segment_getattro in libnrnpython.a(nrnpy_nrn.o)
      _mech_getattro in libnrnpython.a(nrnpy_nrn.o)
      _rangevars_add in libnrnpython.a(nrnpy_nrn.o)
  "_PySequence_Check", referenced from:
      _nrnpy_vec_from_python in libnrnpython.a(nrnpy_hoc.o)
      _nrnpy_vec_to_python in libnrnpython.a(nrnpy_hoc.o)
  "_PyLong_FromDouble", referenced from:
      _hpoasgn in libnrnpython.a(nrnpy_p2h.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [nrniv] Error 1
make[3]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src/nrniv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/benlhalt/NEURON/nrn-7.2'
make: *** [all] Error 2
I hope that means that there was some progress from that last fix...
Have a happy 4th of July!
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

I'm guessing there is something not quite adequate in regard to

Code: Select all

PYLIB='-framework Python' PYLIBLINK='-framework Python'
Here again I wish I had my mac so I could see the exact configure I use for mpi + python.
Anyway. you should give explicit paths for the above. An example for the Blue Gene/P is
PYINCDIR="$BG_BASE/gnu-linux/include/python2.6"
PYLIB="-L$BG_BASE/gnu-linux/lib -lpython2.6"
PYLIBDIR="$BG_BASE/gnu-linux/lib"
PYLIBLINK="-L$BG_BASE/gnu-linux/lib -lpython2.6"

ie. basically you are looking for libpython.*
and Python.h
When one can execute python on the build machine, 9 times out of 10 --with-nrnpython
can find that information itself, but I've always had trouble on the mac and hence the need
for explicit specification.
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

So, this stuff is way over my head, but I took a stab in the dark and tried:

Code: Select all

PYTH=/Library/Frameworks/Python.framework/Versions/2.7

Code: Select all

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-x --with-nrnpython PYINCDIR="$PYTH/include/python2.7" PYLIB="-L$PYTH/lib -lpython2.7" PYLIBDIR="$PYTH/lib" PYLIBLINK="-L$PYTH/lib -lpython2.7" --with-paranrn --build=i386 && make && make install
I think it compiled (!), there were no error messages, I was able to run blah/nrn/i386/nrngui, however no application icons were created, and "python setup.py" gave the error:

Code: Select all

running install
running build
running build_py
creating build
creating build/lib.macosx-10.3-fat-2.7
creating build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/__init__.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/doc.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/gui.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/sections.py -> build/lib.macosx-10.3-fat-2.7/neuron
creating build/lib.macosx-10.3-fat-2.7/neuron/tests
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/tests/__init__.py -> build/lib.macosx-10.3-fat-2.7/neuron/tests
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/tests/test_all.py -> build/lib.macosx-10.3-fat-2.7/neuron/tests
copying /Applications/NEURON-7.2-mpi/nrn/share/nrn/lib/python/neuron/tests/test_vector.py -> build/lib.macosx-10.3-fat-2.7/neuron/tests
running build_ext
building 'neuron.hoc' extension
creating build/temp.macosx-10.3-fat-2.7
mpicc -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -I../.././src/oc -I../oc -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c inithoc.cpp -o build/temp.macosx-10.3-fat-2.7/inithoc.o
mpic++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g build/temp.macosx-10.3-fat-2.7/inithoc.o -L/Applications/NEURON-7.2-mpi/nrn/i386/lib -L/Applications/NEURON-7.2-mpi/iv/i386/lib -lnrnpython -lnrnoc -loc -lnrniv -livoc -lmemacs -lmeschach -lneuron_gnu -lnrnmpi -lscopmath -lsparse13 -lsundials -lIVhines -lreadline -o build/lib.macosx-10.3-fat-2.7/neuron/hoc.so -Wl,-R/Applications/NEURON-7.2-mpi/nrn/i386/lib -Wl,-R/Applications/NEURON-7.2-mpi/iv/i386/lib
ld: unknown option: -R/Applications/NEURON-7.2-mpi/nrn/i386/lib
collect2: ld returned 1 exit status
ld: unknown option: -R/Applications/NEURON-7.2-mpi/nrn/i386/lib
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//ccGmdXP7.out (No such file or directory)
error: command 'mpic++' failed with exit status 1
Naturally, nrngui wouldn't run the python interpreter, saying:

Code: Select all

NEURON -- VERSION 7.2 (524:1a4443872b11) 2011-06-14
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2008
See http://www.neuron.yale.edu/credits.html

/Applications/NEURON-7.2-mpi/nrn/i386/bin/nrniv: can't open -nrnpython
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

no application icons were created
On a mac you need to do a
make after_install
subsequent to the 'make install'
I was able to run blah/nrn/i386/nrngui
nrngui wouldn't run the python interpreter
can't open -nrnpython
Can you open a terminal window and run
blah/nrn/i386/nrngui -python
successfully?
"python setup.py" gave the error
ld: unknown option: -R/Applications/NEURON-7.2-mpi/nrn/i386/lib
This is done if one wants to launch python and extend with NEURON.
If you don't mind launching nrniv or nrngui you can ignore this step.
I noticed that setup added "-arch ppc -arch i386" args to mpicc.
That is likely to be a problem if NEURON was restricted to -arch i386, however
that seems to have nothing to do with the complaint about -R.
Just for curiosity, if you manually execute the link command after removing the
--arch ppc and the -R arguements, does the link succeed?
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

ok... nrngui -python works. (I accidentally used nrngui -nrnpython before, that's probably why it didn't work)
make after_install gives the error:

Code: Select all

make: *** No rule to make target `after_install'.  Stop.
I would like to have the option of launching python and extending with NEURON.
Just for curiosity, if you manually execute the link command after removing the
--arch ppc and the -R arguements, does the link succeed?
I'm flattered that someone would think I would know how to do that! My best guess to attempt this (please correct me if this is not what you meant for me to do):
I ran the command:

Code: Select all

mpic++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup  -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g build/temp.macosx-10.3-fat-2.7/inithoc.o -L/Applications/NEURON-7.2-mpi/nrn/i386/lib -L/Applications/NEURON-7.2-mpi/iv/i386/lib -lnrnpython -lnrnoc -loc -lnrniv -livoc -lmemacs -lmeschach -lneuron_gnu -lnrnmpi -lscopmath -lsparse13 -lsundials -lIVhines -lreadline -o build/lib.macosx-10.3-fat-2.7/neuron/hoc.so -Wl
And got the error:

Code: Select all

ld: library not found for -lutil
ld: library not found for -lutil
collect2: ld returned 1 exit statuscollect2: 
ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//ccQTknU5.out (No such file or directory)
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

Code: Select all

make: *** No rule to make target `after_install'. 
That reminds me that the icons are only available when built with --enable-carbon.
You can only launch the x11 version from a terminal window.

With regard to setup.py the only other suggestion I can give is to edit setup.py (constructed by
configure from setup.py.in) and remove the line that reads:
extra_link_args = [ epre+libdirs[0],epre+libdirs[1] ],
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

I still get the error:

Code: Select all

running installrunning buildrunning build_pyrunning build_extbuilding 'neuron.hoc' extension
mpicc -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -I../.././src/oc -I../oc -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c inithoc.cpp -o build/temp.macosx-10.3-fat-2.7/inithoc.o
mpic++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g build/temp.macosx-10.3-fat-2.7/inithoc.o -L/Applications/NEURON-7.2-mpi/nrn/i386/lib -L/Applications/NEURON-7.2-mpi/iv/i386/lib -lnrnpython -lnrnoc -loc -lnrniv -livoc -lmemacs -lmeschach -lneuron_gnu -lnrnmpi -lscopmath -lsparse13 -lsundials -lIVhines -lreadline -o build/lib.macosx-10.3-fat-2.7/neuron/hoc.so
ldld: library not found for -lutil
: library notcollect2:  found for ld returned 1 exit status-
lutil
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//ccYO2y4A.out (No such file or directory)
error: command 'mpic++' failed with exit status 1
I did try running the command without -arch ppc, that didn't work either. It still said library not found for -lutil
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by hines »

Since I don't see -lutil on the link line, i'm guessing that mpic++ is adding it.
You might compare this link line with the link line used in src/nrniv to construct the
nrniv executable (you can type 'make' there after removing nrniv)
bhalterm
Posts: 52
Joined: Wed Mar 08, 2006 10:43 am
Location: University of Pennsylvania

Re: NEURON 7.2 alpha doesn't compile with python and open mpi

Post by bhalterm »

So, I think you're right that mpic++ adds -lutil, based on something I just read (but didn't really understand) about open mpi. I wasn't sure how to compare the link lines, and I don't really know what to look for. Anyway, I tried to use the installation with just nrngui -python, and I still get the original error that started all this:

Code: Select all

/Applications/NEURON-7.2-mpi/nrn/i686/bin/nrniv: nrn_load_dll not available on this machine
 near line 0
 n = nrn_load_dll("/Users/benlhalt/NEURON/try_pynet/build/i686/.libs/libnrnmech.so")
So I'm stuck. Should I try using MPICH2?
Post Reply