NEURON 7.1 kaput on OS X Lion 10.7.2?
Posted: Tue Nov 22, 2011 11:22 am
Hello!
NEURON seems somewhat borked in the latest up-to-date version of OS X Lion (10.7.2). NB: I have the latest Xcode installed (4.2.1). I believe it started when I wished to run nrnivmodl on some mod files, and it failed with:
From some Googling it seems that this is because Lion doesn't have support for building or running powerpc binaries anymore. Reinstalling NEURON using the dmg file for 10.4 doesn't work (got same problem as above). No problem, I thought, I will just rebuild from source. Turns out there are problems here too.
Interviews configure output:
Interestingly, the --enable-carbon option seems to not be supported anymore. Interviews make output:
(I didn't run make install or after_install.)
Then I tried building NEURON without Interviews, just in case. The output of configure:
NEURON make:
I didn't do too much debugging, however I'm more than willing to try any suggestions. Thank you!
NEURON seems somewhat borked in the latest up-to-date version of OS X Lion (10.7.2). NB: I have the latest Xcode installed (4.2.1). I believe it started when I wished to run nrnivmodl on some mod files, and it failed with:
Code: Select all
...
"/Applications/NEURON-7.1/nrn/share/nrn/libtool" --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I"/Applications/NEURON-7.1/nrn/include/nrn" -I"/Applications/NEURON-7.1/nrn/umac/lib" -arch ppc -arch i386 -c -o ICaL.lo `test -f 'ICaL.c' || echo '/'`ICaL.c
gcc -DHAVE_CONFIG_H -I. -I.. -I/Applications/NEURON-7.1/nrn/include/nrn -I/Applications/NEURON-7.1/nrn/umac/lib -arch ppc -arch i386 -c ICaL.c -fno-common -DPIC -o .libs/ICaL.o
llvm-gcc-4.2: error trying to exec '/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory
lipo: can't figure out the architecture type of: /var/folders/xd/2jsc7brn0jq76r60nq_fcsgm0000gn/T//ccN42syY.out
make: *** [ICaL.lo] Error 1
Interviews configure output:
Code: Select all
user226-139:iv vsekulic$ ./configure --prefix=/Applications/NEURON-7.1/iv --enable-carbon
configure: WARNING: unrecognized options: --enable-carbon
checking build system type... x86_64-apple-darwin11.2.0
checking host system type... x86_64-apple-darwin11.2.0
checking for g++... g++
checking whether the C++ compiler works... yes
... [ snipped out ] ...
config.status: creating src/lib/Makefile
config.status: WARNING: 'src/lib/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating config.h
config.status: config.h is unchanged
config.status: creating src/include/ivstream.h
config.status: src/include/ivstream.h is unchanged
config.status: executing libtool commands
configure: WARNING: unrecognized options: --enable-carbon
user226-139:iv vsekulic$
Code: Select all
user226-139:iv vsekulic$ make
Making all in src
Making all in lib
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I. -I../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c Dispatch/dispatcher.cpp -fno-common -DPIC -o Dispatch/.libs/dispatcher.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I. -I../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c Dispatch/iohandler.cpp -fno-common -DPIC -o Dispatch/.libs/iohandler.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I. -I../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c IV-Mac/bitmap.cpp -fno-common -DPIC -o IV-Mac/.libs/bitmap.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I. -I../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c IV-Mac/brush.cpp -fno-common -DPIC -o IV-Mac/.libs/brush.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I. -I../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c IV-Mac/canvas.cpp -fno-common -DPIC -o IV-Mac/.libs/canvas.o
In file included from IV-Mac/canvas.cpp:57:
../include/IV-Mac/canvas.h: In member function 'void MACcanvas::addToDamage(Rect*)':
../include/IV-Mac/canvas.h:208: error: 'UnionRect' was not declared in this scope
... [ snipped out ] ...
IV-Mac/canvas.cpp:1288: error: 'GetPortBitMapForCopyBits' was not declared in this scope
IV-Mac/canvas.cpp:1293: error: 'CopyBits' was not declared in this scope
make[2]: *** [IV-Mac/canvas.lo] Error 1
Making all in include
make[2]: Nothing to be done for `all'.
Making all in bin
Making all in idemo
g++ -DHAVE_CONFIG_H -I. -I. -I../../include -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -c -o main.o main.cpp
/bin/sh ../../../libtool --mode=link g++ -g -O2 -DMAC=1 -Dcarbon=1 -DSYSV=1 -framework Carbon -o idemo main.o ../../lib/libIVhines.la
libtool: link: cannot find the library `../../lib/libIVhines.la' or unhandled argument `../../lib/libIVhines.la'
make[3]: *** [idemo] Error 1
user226-139:iv vsekulic$
Then I tried building NEURON without Interviews, just in case. The output of configure:
Code: Select all
user226-139:nrn vsekulic$ ./configure --prefix=/Applications/NEURON-7.1/nrn --without-iv --enable-carbon
configure: WARNING: unrecognized options: --enable-carbon
checking for a BSD-compatible install... /opt/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
... [ snipped out ] ...
config.status: creating src/sundials/sundials_config.h
config.status: src/sundials/sundials_config.h is unchanged
config.status: creating src/nrnpython/nrnpython_config.h
config.status: src/nrnpython/nrnpython_config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --enable-carbon
user226-139:nrn vsekulic$
Code: Select all
make all-recursive
Making all in src
Making all in memacs
/bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/ivos -I../../src/sundials -I../../src/nrnpython -g -O2 -MT ansi.lo -MD -MP -MF .deps/ansi.Tpo -c -o ansi.lo ansi.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/ivos -I../../src/sundials -I../../src/nrnpython -g -O2 -MT ansi.lo -MD -MP -MF .deps/ansi.Tpo -c ansi.c -fno-common -DPIC -o .libs/ansi.o
mv -f .deps/ansi.Tpo .deps/ansi.Plo
... [ snipped out ] ...
Making all in ivos
make all-recursive
Making all in InterViews
make[5]: Nothing to be done for `all'.
Making all in OS
make[5]: Nothing to be done for `all'.
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT file.lo -MD -MP -MF .deps/file.Tpo -c -o file.lo file.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT file.lo -MD -MP -MF .deps/file.Tpo -c file.cpp -fno-common -DPIC -o .libs/file.o
mv -f .deps/file.Tpo .deps/file.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT listimpl.lo -MD -MP -MF .deps/listimpl.Tpo -c -o listimpl.lo listimpl.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT listimpl.lo -MD -MP -MF .deps/listimpl.Tpo -c listimpl.cpp -fno-common -DPIC -o .libs/listimpl.o
listimpl.cpp: In function 'void ListImpl_range_error(long int)':
listimpl.cpp:56: warning: format '%d' expects type 'int', but argument 2 has type 'long int'
listimpl.cpp:56: warning: format '%d' expects type 'int', but argument 2 has type 'long int'
mv -f .deps/listimpl.Tpo .deps/listimpl.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT math.lo -MD -MP -MF .deps/math.Tpo -c -o math.lo math.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT math.lo -MD -MP -MF .deps/math.Tpo -c math.cpp -fno-common -DPIC -o .libs/math.o
mv -f .deps/math.Tpo .deps/math.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT memory.lo -MD -MP -MF .deps/memory.Tpo -c -o memory.lo memory.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/nrnoc -I../../src/oc -I../../src/parallel -I../../src/nrnjava -I../../src/nrncvode -I../../src/sundials -I../../src/nrnpython -g -O2 -MT memory.lo -MD -MP -MF .deps/memory.Tpo -c memory.cpp -fno-common -DPIC -o .libs/memory.o
memory.cpp: In static member function 'static void osMemory::copy(const void*, void*, unsigned int)':
memory.cpp:38: error: 'BlockMove' was not declared in this scope
make[5]: *** [memory.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2