[SOLVED] Compilation issues in El Capitan with 2 hard drives

Post Reply
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

[SOLVED] Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

Dear all,
I am having issues instaling Neuron in my Mac. I am currently running OSX ver 10.11.1(aka El Capitan). My machine is a MacBook Pro with two hard drives (Macintosh HD and Macintosh SSD)

I need to use Neuron with python, so I am following the walkthrough shown in https://www.neuron.yale.edu/neuron/down ... ilestd_osx

when i run the step II.C - Install InterViews, i got the following on my console

Code: Select all

Javier@MacBook-Pro-de-Javier:~/neuron/iv$ sh ./build.sh 
glibtoolize -c -f -i
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './config.guess'
glibtoolize: copying file './config.sub'
glibtoolize: copying file './install-sh'
glibtoolize: copying file './ltmain.sh'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.in,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'

To fix this, I go to configure.in, in ~/neuron/iv folder, and add the suggested line ‘AC_CONFIG_MACRO_DIRS([m4])’

the first lines of config.in are now

Code: Select all

dnl Process this file with autoconf to produce a configure script.

AC_INIT(src/bin/iclass/classbuffer.cpp) dnl some random source file.
AC_CONFIG_HEADER(config.h src/include/ivstream.h)
AC_CONFIG_MACRO_DIRS([m4])
Running $sh ./build.sh gives now the following

Code: Select all

sh ./build.sh 
glibtoolize -c -f -i
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './config.guess'
glibtoolize: copying file './config.sub'
glibtoolize: copying file './install-sh'
glibtoolize: copying file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
glibtoolize: copying file 'm4/libtool.m4'
glibtoolize: You should add the contents of 'm4/libtool.m4' to 'aclocal.m4'.
glibtoolize: copying file 'm4/ltoptions.m4'
glibtoolize: You should add the contents of 'm4/ltoptions.m4' to 'aclocal.m4'.
glibtoolize: copying file 'm4/ltsugar.m4'
glibtoolize: You should add the contents of 'm4/ltsugar.m4' to 'aclocal.m4'.
glibtoolize: copying file 'm4/ltversion.m4'
glibtoolize: copying file 'm4/lt~obsolete.m4'
glibtoolize: You should add the contents of 'm4/lt~obsolete.m4' to 'aclocal.m4'.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Because there is no Makefile.am in the iv folder, i dont make any more changes and I keep with the instalation
Then, running ./configure —prefix=$IDIR/iv starts to configure everything, getting this warnings

Code: Select all

checking for uname... yes
checking for prototype for gettimeofday... found
checking for type of signal functions... posix
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/Makefile
config.status: WARNING:  'src/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/Makefile
config.status: WARNING:  'src/bin/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idemo/Makefile
config.status: WARNING:  'src/bin/idemo/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idraw/Makefile
config.status: WARNING:  'src/bin/idraw/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/iclass/Makefile
config.status: WARNING:  'src/bin/iclass/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/include/Makefile
config.status: WARNING:  'src/include/Makefile.in' seems to ignore the --datarootdir setting
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: creating src/include/ivstream.h
config.status: executing libtool commands
I ignore the warnings and keep going.
$ make && make install

(time for a coffee)

with my coffee on my desk, I review the output of the installation
the console shows this message

Code: Select all

/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
Making all in include
/bin/sh: line 0: cd: include: No such file or directory
make[2]: Nothing to be done for `all'.
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
Making all in bin
/bin/sh: line 0: cd: bin: No such file or directory
make[2]: Nothing to be done for `all'.
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
make[1]: *** [all] Error 1
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
make: *** [all] Error 1
With this error I don’t see a good choice to keep going installing nrn. I am guessing that the path parameters are, somehow, fixed to work with only one hardDrive (which mac calls always /Volumes/Macintosh).

I want to emphatize also that I have the system on /Volumes/Macintosh SSD/ where my ~/ foldes is in /Volume/Macintosh HD


Thank you for your help
Last edited by Javier_PalmaEspinosa on Sat Dec 26, 2015 9:36 pm, edited 1 time in total.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

You did not need to fix warnings associated with build.sh. But fixing them did not hurt.

Code: Select all

/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
What exactly did you use for 'export IDIR=...'? Did you escape the space between MacIntosh and HD?
Assuming that at IDIR of /Applications/NEURON-7.4 is not what you really wanted, Try
export IDIR='/Volumes/Macintohs HD/Applications/NEURON-7.4'

Things are safest when there are no spaces in paths when one is using UNiX shell scripts.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

Sorry for the misspelling above. The idea is to preserve the space in the path and not allow it to be converted into two distinct tokens.
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

I tried several configurations on IDIR.
I used:
IDIR=/Volumes/Macintosh\ HD/Javier/Applications/Neuron
IDIR='/Volumes/Macintosh HD/Javier/Applications/Neuron'
IDIR="/Volumes/Macintosh HD/Javier/Applications/Neuron"
IDIR=/Volumes/Macintosh*HD/Javier/Applications/Neuron

I tried passing the argument --prefix with the following configuration:
./configure --prefix="$IDIR"/iv
./configure --prefix=$IDIR/iv

none of the above worked. I'm stucked and I dont know what else to do.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

Assuming my hypothesis is correct that the 'space' is the problem, one way to avoid it is to
sudo ln -s '/Volumes/Macintosh HD' /Volumes/Macintosh_HD
and then build with
IDIR=/Volumes/Macintosh_HD/Javier/Applications/Neuron

Meanwhile, since my mac has multiple partitions and one of them is /Volumes/Macintosh HD
I should be able to reproduce the problem and figure out whether/why a space is not allowed in the path.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

I reproduced the problem. At present it is not possible to install into a path containing spaces. It is not clear what the code changes might be to fix this.
I would recommend the symbolic link work around mentioned earlier.
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

Thank you. Will try it tomorrow
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

Ok, I'm puzzled now.

I did a simbolic link. I'm going to detail every step, in case I did something wrong.
so the first thing was to make a folder in /Volumes.

Code: Select all

$sudo mkdir /Volumes/Macintosh
$sudo ln -s /Volumes/Macintosh\ HD/Javier /Volumes/Macintosh
Javier@MacBook-Pro-de-Javier:/Volumes$ ls
Macintosh/     Macintosh HD/  Macintosh SSD@
Then I cd the Macintosh/ folder and checked that it points to my own folder stored in /Volumes/Macintosh HD/Javier/
It shows me the same info, so the symbolik link worked.
After that, I make the IDIR token
$export IDIR=/Volumes/Macintosh/Javier/Applications/Neuron

To check if I was right

Code: Select all

Javier@MacBook-Pro-de-Javier:/Volumes/Macintosh/Javier$ echo $IDIR
/Volumes/Macintosh/Javier/Applications/Neuron
Ok, so now it's time to install everything.
Again, went to the neuron/iv folder where I hg-ed the packages and

Code: Select all

$sh ./build.sh
$./configure --prefix=$IDIR/iv
the output of configure still prints "strange" warnings

Code: Select all

checking for uname... yes
checking for prototype for gettimeofday... found
checking for type of signal functions... posix
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/Makefile
config.status: WARNING:  'src/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/Makefile
config.status: WARNING:  'src/bin/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idemo/Makefile
config.status: WARNING:  'src/bin/idemo/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idraw/Makefile
config.status: WARNING:  'src/bin/idraw/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/iclass/Makefile
config.status: WARNING:  'src/bin/iclass/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/include/Makefile
config.status: WARNING:  'src/include/Makefile.in' seems to ignore the --datarootdir setting
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
and then, when I try to do make

Code: Select all

Javier@MacBook-Pro-de-Javier:~/neuron/iv$ make
Making all in src
Making all in lib
make[2]: Nothing to be done for `all'.
Making all in include
/bin/sh: line 0: cd: include: No such file or directory
make[2]: *** No rule to make target `all'.  Stop.
Making all in bin
/bin/sh: line 0: cd: bin: No such file or directory
make[2]: *** No rule to make target `all'.  Stop.
I really don't know what else to do. In my desperation, I tried to change the name of my /Macintosh HD/ to something without spaces. That resulted in a corrupted system which I had to fix.
Any new hint?
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

Code: Select all

$sudo mkdir /Volumes/Macintosh
That is your mistake. Do not create that folder. The 'ln -s ..." i mentioned above was all that was needed. Get rid of your /Volumes/Macintosh folder and try again.
After the 'ln -s' you should get the same result for the following two commands
ls /Volumes/Macintosh\ HD/Javier/
ls /Volums/Macintosh_HD/Javier

The symbolic link is not a copy but only another name or reference to the original folder.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

ls /Volumes/Macintosh_HD/Javier
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

I did exactly what you told me.

Code: Select all

Javier@MacBook-Pro-de-Javier:~/neuron/iv$ sudo ln -s /Volumes/Macintosh\ HD/ /Volumes/Macintosh_HD
Javier@MacBook-Pro-de-Javier:~/neuron/iv$ export IDIR=/Volumes/Macintosh_HD/Javier/Applications/Neuron
Javier@MacBook-Pro-de-Javier:~/neuron/iv$ sh ./build.sh 
glibtoolize -c -f -i
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './config.guess'
glibtoolize: copying file './config.sub'
glibtoolize: copying file './install-sh'
glibtoolize: copying file './ltmain.sh'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.in,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
No changes so far.

After doing $./configure --prefix=$IDIR/iv I got this output

Code: Select all

configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/Makefile
config.status: WARNING:  'src/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/Makefile
config.status: WARNING:  'src/bin/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idemo/Makefile
config.status: WARNING:  'src/bin/idemo/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/idraw/Makefile
config.status: WARNING:  'src/bin/idraw/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/bin/iclass/Makefile
config.status: WARNING:  'src/bin/iclass/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating src/include/Makefile
config.status: WARNING:  'src/include/Makefile.in' seems to ignore the --datarootdir setting
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
Then $make

Code: Select all

[Javier@MacBook-Pro-de-Javier:~/neuron/iv$ make
Making all in src
Making all in lib
make[2]: Nothing to be done for `all'.
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
Making all in include
/bin/sh: line 0: cd: include: No such file or directory
make[2]: Nothing to be done for `all'.
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
Making all in bin
/bin/sh: line 0: cd: bin: No such file or directory
make[2]: Nothing to be done for `all'.
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
make[1]: *** [all] Error 1
/bin/sh: line 0: cd: /Volumes/Macintosh: No such file or directory
make: *** [all] Error 1
So I really don't know how to continue.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by hines »

I did exactly what you told me.
So do you get the same result with

Code: Select all

ls /Volumes/Macintosh\ HD/Javier
ls /Volumes/Macintosh_HD/Javier
I tried the 'sudo ls -s...' method on my ElCapitan partition and successfully built Interviews into the /Volumes/Macintosh HD partition

Perhaps you should look at
ls -l /Volumes
and verify that you have at least the two lines:

Code: Select all

drwxr-xr-x  33 root   wheel  1190 Feb  4  2014 Macintosh HD
lrwxr-xr-x   1 hines  admin    21 Nov 15 11:41 Macintosh_HD -> /Volumes/Macintosh HD
(the fields other than first and last may be different on your machine.
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: Compilation issues in El Capitan with 2 hard drives

Post by Javier_PalmaEspinosa »

Sorry, I've been quite busy this days. I hope tomorrow I could run and check once more time my issues and give you a propper answer.
Thank you for the advices
Javier_PalmaEspinosa
Posts: 12
Joined: Tue Nov 10, 2015 5:01 pm

Re: [SOLVED] Compilation issues in El Capitan with 2 hard dr

Post by Javier_PalmaEspinosa »

After taking a break off trying to install NEURON, the issue was solved with the help of my friends </beatles>.
It seems that there is something strange with my home path, which is not in /Users/whatever but instead is in /Volumes/Macintosh HD/myHome. Apparently this was the issue because the compilation tools seems to get lost in it.

The solution was to install as if I was using a linux machine, i.e., install all in /usr/local/neuron. Only with that change, and following the steps from the guide, I am now a happy user of NEURON in OSX.

Thank you
Post Reply