What packages do I need? Ubuntu/Hardy

Post Reply
etano

What packages do I need? Ubuntu/Hardy

Post by etano »

I'm getting the following error when trying to rpm:

Code: Select all

ethan@Ullr:~/Apps$ sudo rpm --install nrn-6.1.x86_64.rpm 
error: Failed dependencies:
	/bin/sh is needed by nrn-6.1-rel2.x86_64
	libICE.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libSM.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libX11.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libXext.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libc.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libc.so.6(GLIBC_2.2.5)(64bit) is needed by nrn-6.1-rel2.x86_64
	libc.so.6(GLIBC_2.3)(64bit) is needed by nrn-6.1-rel2.x86_64
	libdl.so.2()(64bit) is needed by nrn-6.1-rel2.x86_64
	libdl.so.2(GLIBC_2.2.5)(64bit) is needed by nrn-6.1-rel2.x86_64
	libgcc_s.so.1()(64bit) is needed by nrn-6.1-rel2.x86_64
	libgcc_s.so.1(GCC_3.0)(64bit) is needed by nrn-6.1-rel2.x86_64
	libm.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libm.so.6(GLIBC_2.2.5)(64bit) is needed by nrn-6.1-rel2.x86_64
	libncurses.so.5()(64bit) is needed by nrn-6.1-rel2.x86_64
	libpthread.so.0()(64bit) is needed by nrn-6.1-rel2.x86_64
	libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by nrn-6.1-rel2.x86_64
	libpython2.4.so.1.0()(64bit) is needed by nrn-6.1-rel2.x86_64
	libstdc++.so.6()(64bit) is needed by nrn-6.1-rel2.x86_64
	libstdc++.so.6(CXXABI_1.3)(64bit) is needed by nrn-6.1-rel2.x86_64
	libstdc++.so.6(GLIBCXX_3.4)(64bit) is needed by nrn-6.1-rel2.x86_64
	libutil.so.1()(64bit) is needed by nrn-6.1-rel2.x86_64
	rtld(GNU_HASH) is needed by nrn-6.1-rel2.x86_64
I feel like I have installed every dev package under the sun. What am I missing?
etano

Post by etano »

Nevermind, fixed it. Apparently there were some packages under the sun I hadn't downloaded...
hines
Site Admin
Posts: 1687
Joined: Wed May 18, 2005 3:32 pm

Re: What packages do I need? Ubuntu/Hardy

Post by hines »

For ubuntu-9.10-i386 the packages that need to be installed in order to build NEURON from the tar.gz sources are
sudo apt-get update # or else g++ below will not install
sudo apt-get install g++
sudo apt-get install libxext-dev
sudo apt-get install libncurses5-dev

in order to build from the mercurial repository, you also need in addtion,
sudo apt-get install mercurial
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install bison
sudo apt-get install flex
hines
Site Admin
Posts: 1687
Joined: Wed May 18, 2005 3:32 pm

Re: What packages do I need? Ubuntu/Hardy

Post by hines »

To install from an rpm, no packages above need to be installed but the rpm must be converted to a deb file.
The packages needed for the alien package are
sudo apt-get install alien dpkg-dev debhelper build-essential
Then the deb file can be created with
sudo alien nrn-7.1*.rpm # creates nrn_7.1-1_i386.deb after complaining about unknown tag

Perhaps deb files will be put on the web site in the future.
If the deb file already exists, the above packages do not have to be installed and the deb file
can be installed using
sudo dpkg -i nrn*.deb
tfoutz99
Posts: 12
Joined: Wed Dec 12, 2007 3:15 pm

Re: What packages do I need? Ubuntu/Hardy

Post by tfoutz99 »

I'm actually on linux mint 8, which is based on ubuntu 9.
I have compiled InterViews, and am now trying to compile neuron. I get the following when running make:

Code: Select all

make[3]: Entering directory `/nrn/nrn/src/modlunit'
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  -DNRNUNIT=1   -g -O2 -MT parse1.o -MD -MP -MF .deps/parse1.Tpo -c -o parse1.o parse1.c
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  -DNRNUNIT=1   -g -O2 -MT kinunit.o -MD -MP -MF .deps/kinunit.Tpo -c -o kinunit.o kinunit.c
parse1.y: In function ‘yyparse’:
parse1.y:139: error: ‘yyps’ undeclared (first use in this function)
parse1.y:139: error: (Each undeclared identifier is reported only once
parse1.y:139: error: for each function it appears in.)
parse1.y:139: error: ‘yypv’ undeclared (first use in this function)
make[3]: *** [parse1.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/kinunit.Tpo .deps/kinunit.Po
make[3]: Leaving directory `/nrn/nrn/src/modlunit'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/nrn/nrn/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/nrn/nrn'
make: *** [all] Error 2
I have bison installed.
Any ideas?
--Tom
hines
Site Admin
Posts: 1687
Joined: Wed May 18, 2005 3:32 pm

Re: What packages do I need? Ubuntu/Hardy

Post by hines »

I believe the parse1.y file was translated by yacc instead of bison. Are you certain there
is a /usr/bin/bison
You might try a
make distclean
and configure with YACC=bison
tfoutz99
Posts: 12
Joined: Wed Dec 12, 2007 3:15 pm

Re: What packages do I need? Ubuntu/Hardy

Post by tfoutz99 »

I do have /usr/bin/bison installed

Code: Select all

 /usr/bin/bison --version
bison (GNU Bison) 2.4.1
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
I get the same error when I configure with YACC=bison:

Code: Select all

./configure YACC=bison --prefix=/nrn --with-iv=/nrn --with-nrnpython
make 
Error:

Code: Select all

make[3]: Entering directory `/nrn/nrn/src/modlunit'
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  -DNRNUNIT=1   -g -O2 -MT parse1.o -MD -MP -MF .deps/parse1.Tpo -c -o parse1.o parse1.c
parse1.y: In function ‘yyparse’:
parse1.y:139: error: ‘yyps’ undeclared (first use in this function)
parse1.y:139: error: (Each undeclared identifier is reported only once
parse1.y:139: error: for each function it appears in.)
parse1.y:139: error: ‘yypv’ undeclared (first use in this function)
make[3]: *** [parse1.o] Error 1
make[3]: Leaving directory `/nrn/nrn/src/modlunit'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/nrn/nrn/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/nrn/nrn'
make: *** [all] Error 2
tfoutz99
Posts: 12
Joined: Wed Dec 12, 2007 3:15 pm

Re: What packages do I need? Ubuntu/Hardy

Post by tfoutz99 »

I had installed byacc, thinking I might need it, but I think it was causing the yacc errors.

Now I have a new problem, still with mint linux and nrnivmodl. The compiling fails with Error 1:

Code: Select all

Making all in modlunit
make[3]: Entering directory `/nrn/nrn/src/modlunit'
/bin/bash ../../ylwrap parse1.y y.tab.c parse1.c y.tab.h parse1.h y.output parse1.output -- /usr/bin/bison  -d
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  -DNRNUNIT=1   -g -O2 -MT version.o -MD -MP -MF .deps/version.Tpo -c -o version.o version.c
mv -f .deps/version.Tpo .deps/version.Po
make[3]: *** [parse1.c] Error 1
make[3]: Leaving directory `/nrn/nrn/src/modlunit'
and when I try to make modlunit:

Code: Select all

/nrn/nrn/src/modlunit $ make
/bin/bash ../../ylwrap parse1.y y.tab.c parse1.c y.tab.h parse1.h y.output parse1.output -- /usr/bin/bison  -d
make: *** [parse1.c] Error 1
hines
Site Admin
Posts: 1687
Joined: Wed May 18, 2005 3:32 pm

Re: What packages do I need? Ubuntu/Hardy

Post by hines »

take a look at the (yacc, bison?) created parse1.c file. and notice the fragment (which is also in
the precursor parse1.y file that looks like:

#if YYBISON
#define myerr(arg) static int ierr=0;\
if (!(ierr++))yyerror(arg); --yyssp; --yyvsp; YYERROR
#else
#define myerr(arg) static int ierr=0;\
if (!(ierr++))yyerror(arg); --yyps; --yypv; YYERROR
#endif

This is the only place where yyps and yypv are used. I guessed you were not using BISON because
YYBISON was not defined and so the #else fork above was taken. The problem is that different versions
of yacc defined different names for the yyps and yypv. If you find out what they are from the parse1.c file
then you can fix up the line and avoid the problem.
You will probably want to do a make distclean or use fresh sources to make sure no files from yacc are
hanging around when bison is used and vice versa.
You will see the same problem in nmodl since the parse1.y file there has the same fragment.
tfoutz99
Posts: 12
Joined: Wed Dec 12, 2007 3:15 pm

Re: What packages do I need? Ubuntu/Hardy

Post by tfoutz99 »

I deleted everything, and then started over. InterViews compiles find. Most of neuron compiles, but it hangs on nrniv.

Code: Select all

./configure --prefix=/nrn --with-iv=/nrn --with-nrnpython
make

Code: Select all

...
/bin/bash ../../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/ivos -I../../src/sundials -I../../src/nrnpython  -I../../src/sundials -I../../src/sundials/shared -I../../src/nrncvode -I../../src/sparse13 -I../../src/gnu -I. -I../../src/ivoc -I../../src/nrnoc -I../../src/oc -I../../src/oc  -I/nrn/include  -I../../src/parallel -I../../src/nrnmpi  -DOOP=1 -DCABLE=1 -DUSECVODE=1 -DUSEMATRIX=1 -DUSEBBS=1  -pthread -g -O2 -MT bbslocal.lo -MD -MP -MF .deps/bbslocal.Tpo -c -o bbslocal.lo bbslocal.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/ivos -I../../src/sundials -I../../src/nrnpython -I../../src/sundials -I../../src/sundials/shared -I../../src/nrncvode -I../../src/sparse13 -I../../src/gnu -I. -I../../src/ivoc -I../../src/nrnoc -I../../src/oc -I../../src/oc -I/nrn/include -I../../src/parallel -I../../src/nrnmpi -DOOP=1 -DCABLE=1 -DUSECVODE=1 -DUSEMATRIX=1 -DUSEBBS=1 -pthread -g -O2 -MT bbslocal.lo -MD -MP -MF .deps/bbslocal.Tpo -c bbslocal.cpp  -fPIC -DPIC -o .libs/bbslocal.o
In file included from bbslocal.cpp:1:
../parallel/bbslocal.cpp: In member function ‘virtual void BBSLocal::perror(const char*)’:
../parallel/bbslocal.cpp:55: error: ‘abort’ was not declared in this scope
make: *** [bbslocal.lo] Error 1
hines
Site Admin
Posts: 1687
Joined: Wed May 18, 2005 3:32 pm

Re: What packages do I need? Ubuntu/Hardy

Post by hines »

I saw that on mswin as well but am in the process of making a large number of mswin changes for the new
cygwin 7.1 and haven't committed the change. That is a leftover debugging line from the very large
changesets that allow building with python version 3.x.
Merely remove the
abort()
and you should be fine.
Post Reply