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

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

Post by bhalterm »

ok... I think one problem was that I set DYLD_LIBRARY_PATH to open mpi's library, and I wasn't supposed to. that fixed the nrn_load_dll not available problem. setup.py still gives the error:

Code: Select all

ldld: library not found for -lutil
: library not found for -lutil
collect2: ld returned 1 exit status
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//cceysPJ6.out (No such file or directory)
error: command 'mpic++' failed with exit status 1
Macintosh-4% 
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

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

Post by hines »

That is not the original error but a completely new one. For some reason configure did not
define the preprocessor variables needed to compile the code that dynamically loads the library
containing the mod files (constructed by nrnivmodl) that bhalterm built. NRNMECH_DLL_STYLE should be defined
in nrnconf.h . This should happen if your host operating system is darwin.
There seem to be some basic things going wrong with configure on your machine. As I look at
configure.in I see that MAC_DARWIN should be defined. (That again raises the puzzle of why
there was no target for after_install)
What is the result of
./config.guess
in the folder where you typed ./configure ?
Assuming darwin is in that string, I wonder if your specification of
--build=i386
has inadvertenly caused the host_os to not be defined.
When I look in the ./Makefile on my linux desktop I see:

build_triplet = x86_64-redhat-linux-gnu
host_triplet = x86_64-redhat-linux-gnu

and later on

host = x86_64-redhat-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = redhat

If your host_cpu does not have darwin in its string
you might try
--build=i386 --host-os=darwin
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 »

Notice that NEURON-7.2 guesses i386, others guess i686:

Code: Select all

Macintosh-4% cd ~/NEURON/iv-17                                                 
Macintosh-4% ./config.guess
i686-apple-darwin9.8.0

Macintosh-4% cd ../nrn-7.1 
Macintosh-4% ./config.guess 
i686-apple-darwin9.8.0

Macintosh-4% cd ../nrn-7.2 
Macintosh-4% ./config.guess 
i386-apple-darwin9.8.0
Configuring iv-17 with

Code: Select all

/configure --prefix=$IDIR/iv --build=i386
has in it's output:

Code: Select all

checking build system type... i386-pc-none
checking host system type... i386-pc-none
Configuring nrn-7.2 with

Code: Select all

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-nrnpython PYLIB='-framework Python' PYLIBLINK='-framework Python' --build=i386 --with-paranrn
has in it's output:

Code: Select all

checking build system type... i386-pc-none
checking host system type... i386-pc-none
and the Makefile says:

Code: Select all

build_triplet = i386-pc-none
host_triplet = i386-pc-none
and make produces the error

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
Configuring nrn 7.2 with

Code: Select all

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-nrnpython PYLIB='-framework Python' PYLIBLINK='-framework Python' --build=i386-apple-darwin9 --with-paranrn
(after recompiling iv with --build=i386-apple-darwin9) allows make, make install, and make after_install to finish w/o error. then setup.py produces the error:

Code: Select all

running install
running build
running build_py
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/__init__.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/doc.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/gui.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/sections.py -> build/lib.macosx-10.3-fat-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/tests/__init__.py -> build/lib.macosx-10.3-fat-2.7/neuron/tests
copying /Applications/NEURON-7.2-test/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-test/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
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-test/nrn/i386/lib -L/Applications/NEURON-7.2-test/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
ld: library not found for -lutil
collect2: ld returned 1 exit status
ld: library not found for -lutil
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//ccPQgrYw.out (No such file or directory)
error: command 'mpic++' failed with exit status 1
before, when I replaced '-framework Python' with all the variables, but still used --build=i386 (not i386-apple-darwin) then make finished w/o error, but make after_install was not produced, and I got the error with nrn_load_dll. if I compile using --build=i386-apple-darwin9 but don't compile with mpi, then .setup.py works.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

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

Post by hines »

Ok. We are close to success. It is good to know that --build need the whole triplet. I'm guessing your latest build fixed the problem with
nrn_load_dll not available
(although I am little confused as I didn't see your subsequent post about DYLD_LIBRARY_PATH.
Anyway since it is now the case that NRNMECH_DLL_STYLE is certainly defined, we can
continue).

I can't help but think the problem with setup.py is that it is trying to build a unversal binary but only the i386 version of -lutil is
available. Is there a libutil.* in the openmpi installation? If so then we need to somehow get rid of the -arch ppc that setup uses.
I see from
http://www.velocityreviews.com/forums/t ... oblem.html
that others have had this problem but don't see a solution yet.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

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

Post by hines »

There was an interesting suggestion from
https://mail.enthought.com/pipermail/ep ... 00028.html
which states:
[in python]
Print out the dictionary sysconfig.get_config_vars(). There are
several such variables that you will need to override, particularly
LDSHARED.

The idea would be to find every '-arch ppc' and substitute with the empty string.
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 »

Where would that go? in setup.py?

Code: Select all

import sysconfig
import re
new_config_vars = {}
for k, v in sysconfig.get_config_vars().items():
	if type(v) is str and '-arch ppc' in v:
		new_config_vars[k] = v.replace('-arch ppc', '').replace('  ', ' ')
for k, v in new_config_vars.items():
	print k + ' : ' + v
Is this at all helpful?
Last edited by bhalterm on Wed Jul 06, 2011 3:34 pm, edited 1 time in total.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

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

Post by hines »

yes
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 once you have the variables from sysconfig.get_config_vars(), how do you actually override them with the new values? presumably sysconfig.get_config_vars() is returning a copy of the variable dictionary?
edit:
I wrote a little script to see if I could edit the dictionary returned by sysconfig.get_config_vars() and have the changes show in subsequent calls to sysconfig.get_config_vars(), and they do... then I added

Code: Select all

import sysconfig
import re
for k, v in sysconfig.get_config_vars().items():
	if type(v) is str and '-arch ppc' in v:
		sysconfig.get_config_vars()[k] = v.replace('-arch ppc', '').replace('  ', ' ')
to setup.py at line 6, but I still get the error:

Code: Select all

running install
running build
running build_py
running build_ext
building '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-test/nrn/i386/lib -L/Applications/NEURON-7.2-test/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 not found for -lutil
collect2: collect2: ld returned 1 exit status
ld returned 1 exit status
lipo: can't open input file: /var/folders/Yl/YlKXeBKiEzSF6Nug9mEI+E+++TI/-Tmp-//ccAPxk0m.out (No such file or directory)
error: command 'mpic++' failed with exit status 1
Notice -arch ppc still appears, though it is definitely removed from the variables in sysconfig.get_config_vars().
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

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

Post by hines »

Just curious. Which variables did your python fragment print?
Occasionally on the web I see
env ARCHFLAGS='-arch i386' python setup.py install
recommended but with some not having success with it.
Does it have any effect in your case?
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 »

before removing -arch ppc:

Code: Select all

LDCXXSHARED : c++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup
BLDSHARED : gcc-4.0 -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
LDFLAGS : -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g
LDSHARED : gcc-4.0 -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
PY_CFLAGS : -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -I. -IInclude -I/Users/ronald/Projects/python/r271/Include -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -DPy_BUILD_CORE
CFLAGS : -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3
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 »

running env ARCHFLAGS='-arch i386' python setup.py install gives output:

Code: Select all

running install
running build
running build_py
creating build/lib.macosx-10.3-i386-2.7
creating build/lib.macosx-10.3-i386-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/__init__.py -> build/lib.macosx-10.3-i386-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/doc.py -> build/lib.macosx-10.3-i386-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/gui.py -> build/lib.macosx-10.3-i386-2.7/neuron
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/sections.py -> build/lib.macosx-10.3-i386-2.7/neuron
creating build/lib.macosx-10.3-i386-2.7/neuron/tests
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/tests/__init__.py -> build/lib.macosx-10.3-i386-2.7/neuron/tests
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/tests/test_all.py -> build/lib.macosx-10.3-i386-2.7/neuron/tests
copying /Applications/NEURON-7.2-test/nrn/share/nrn/lib/python/neuron/tests/test_vector.py -> build/lib.macosx-10.3-i386-2.7/neuron/tests
running build_ext
building 'neuron.hoc' extension
creating build/temp.macosx-10.3-i386-2.7
mpicc -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -O2 -DNDEBUG -g -O3 -arch i386 -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-i386-2.7/inithoc.o
mpic++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup -isysroot /Developer/SDKs/MacOSX10.4u.sdk -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -arch i386 build/temp.macosx-10.3-i386-2.7/inithoc.o -L/Applications/NEURON-7.2-test/nrn/i386/lib -L/Applications/NEURON-7.2-test/iv/i386/lib -lnrnpython -lnrnoc -loc -lnrniv -livoc -lmemacs -lmeschach -lneuron_gnu -lnrnmpi -lscopmath -lsparse13 -lsundials -lIVhines -lreadline -o build/lib.macosx-10.3-i386-2.7/neuron/hoc.so
ld: library not found for -lutil
collect2: ld returned 1 exit status
error: command 'mpic++' failed with exit status 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 think I did it! I found
http://www.open-mpi.org/faq/?category=m ... after-v1.0
and removed -lutil from the file mpic++-wrapper-data.txt
now I can import neuron:

Code: Select all

Python 2.7.1 (r271:86882M, Nov 30 2010, 09:39:13) 
[GCC 4.0.1 (Apple Inc. build 5494)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mpi4py import MPI
>>> import neuron
MPI_Initialized==true, enabling MPI functionality.
numprocs=1
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
Post Reply