-
Notifications
You must be signed in to change notification settings - Fork 0
/
howtomingw
198 lines (164 loc) · 6.7 KB
/
howtomingw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
need a terminal capability library for mingw. For example mingw32-termcap
from opensuse.org.
mingw from cygwin
In termcap-1.3.1 do
./configure
make
/usr/bin/i686-pc-mingw32-gcc.exe -shared \
-Wl,--out-implib,libtermcap.dll.a \
-o libtermcap.dll termcap.o tparam.o version.o
cp libtermcap.dll libtermcap.dll.a /usr/i686-pc-mingw32/sys-root/mingw/lib
cp termcap.h /usr/i686-pc-mingw32/sys-root/mingw/lib
mingw from msys
./configure
make
gcc -shared -Wl,--out-implib,libtermcap.dll.a -o libtermcap.dll *.o
cp libtermcap.dll.a /mingw/lib
cp libtermcap.dll /mingw/bin
cp termcap.h /mingw/include
need a readline library for mingw. For example mingw32-readling
form opensuse.org.
mingw from cygwin
In readline-6.2 do
./configure '--prefix=/home/hines/neuron/readline' '--host=i686-pc-mingw32' \
'--disable-static'
make
make install
cp ../readline/bin/* /usr/i686-pc-mingw32/sys-root/mingw/lib
cp ../readline/lib/* /usr/i686-pc-mingw32/sys-root/mingw/lib
mingw from msys
./configure --disable-static
make
cp shlib/libhistory6.dll /mingw/bin
cp shlib/libhistory6.dll.a /mingw/lib
cp shlib/libreadline6.dll /mingw/bin/libreadline.dll
cp shlib/libreadline6.dll.a /mingw/lib/libreadline.dll.a
mingw from msys also needs regex
Obtain http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz
configure
make
gcc -shared -Wl,--out-implib,libregex.dll.a -o libregex.dll regex.o
cp libregex.dll.a /mingw/lib
cp libregex.dll /mingw/bin
cp regex.h /mingw/include
mingw from cygwin
../nrnwin/configure --prefix=`pwd` --without-iv --with-nmodl-only
make
../nrnwin/configure --prefix=`pwd` --with-iv=$HOME/neuron/ivwin --without-nmodl\
--with-nrnpython=dynamic \
CC=/usr/bin/i686-pc-mingw32-gcc.exe CXX=/usr/bin/i686-pc-mingw32-g++.exe \
PYINCDIR=/cygdrive/c/Python27/include \
PYLIBDIR=/cygdrive/c/Python27/libs \
PYLIB='-L/cygdrive/c/Python27/libs -lpython27' \
PYLIBLINK='-L/cygdrive/c/Python27/libs -lpython27' \
--host=i686-pc-mingw32
make
make mswin
mingw from msys
../nrnwin/configure --prefix=`pwd` --with-iv=$HOME/neuron/ivwin \
--with-nrnpython=dynamic \
PYLIBDIR=/c/Python27/libs \
PYLIB='-L/c/Python27/libs -lpython27' \
PYLIBLINK='-L/c/Python27/libs -lpython27'
For win7-64
termcap-1.3.1
autoconf
./configure CC=x86_64-w64-mingw32-gcc --host=x86_64-w64-mingw32
make
x86_64-w64-mingw32-gcc.exe -shared -Wl,--out-implib,libtermcap.dll.a \
-o libtermcap.dll termcap.o tparam.o version.o
cp termcap.h /usr/x86_64-w64-mingw32/sys-root/mingw/include
cp libtermcap.dll libtermcap.dll.a /usr/x86_64-w64-mingw32/sys-root/mingw/lib
readline-6.2
./configure --prefix=$HOME/neuron/readline --disable-static \
CC=x86_64-w64-mingw32-gcc --host=x86_64-w64-mingw32
make
make install
cp ../readline/bin /usr/x86_64-w64-mingw32/sys-root/mingw/lib
cp ../readline/lib/* /usr/x86_64-w64-mingw32/sys-root/mingw/lib
../nrnwin/configure --prefix=`pwd` --without-iv --with-nmodl-only
make
../nrnwin/configure --prefix=`pwd` --with-iv=$HOME/neuron/ivwin \
--without-nmodl --with-nrnpython=dynamic \
--host=x86_64-w64-mingw32 \
PYINCDIR=/cygdrive/c/Python27/include \
PYLIBDIR=/cygdrive/c/Python27/libs \
PYLIB='-L/cygdrive/c/Python27/libs -lpython27' \
PYLIBLINK='-L/cygdrive/c/Python27/libs -lpython27'
make
mingw64 from mingw
termcap-1.3.1
autoconf (can be cygwin)
./configure --host=x86_64-w64-mingw32
make
gcc -shared -Wl,--out-implib,libtermcap.dll.a -o libtermcap.dll *.o
cp libtermcap.dll.a /mingw/x86_64-w64-mingw32/lib
cp libtermcap.dll /mingw/x86_64-w64-mingw32/lib
cp termcap.h /mingw/x86_64-w64-mingw32/include
readline-6.2
./configure --host=x86_64-w64-mingw32 --disable-static
make
cp shlib/libhistory6.dll /mingw/x86_64-w64-mingw32/lib
cp shlib/libhistory6.dll.a /mingw/x86_64-w64-mingw32/lib
cp shlib/libreadline6.dll /mingw/x86_64-w64-mingw32/lib/libreadline.dll
cp shlib/libreadline6.dll.a /mingw/x86_64-w64-mingw32/lib/libreadline.dll.a
regex
wget http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz
./configure --host=x86_64-w64-mingw32
make
gcc -shared -Wl,--out-implib,libregex.dll.a -o libregex.dll regex.o
cp libregex.dll.a /mingw/x86_64-w64-mingw32/lib
cp libregex.dll /mingw/x86_64-w64-mingw32/lib
cp regex.h /mingw/x86_64-w64-mingw32/include
pthreads from
cd hines/pthreads-20100604/mingw64/x86_64-w64-mingw32/lib
cp libpthread.a /cygdrive/c/mingw64/x86_64-w64-mingw32/lib
cd hines/pthreads-20100604/mingw64/x86_64-w64-mingw32/include
cp *.h /cygdrive/c/mingw64/x86_64-w64-mingw32/include
nrniv
no hoc_ed so from some built version (eg cygwin)
cp nrnobj/src/nrnoc/hocusr.h ...nrnwin/src/nrnoc
../nrnwin/configure --prefix=`pwd` --without-iv --with-nmodl-only
make
../nrnwin/configure --prefix=`pwd` --with-iv=$HOME/neuron/ivwin \
--without-nmodl --with-nrnpython=dynamic \
--host=x86_64-w64-mingw32 \
PYINCDIR=/c/Python27/include \
PYLIBDIR=/c/Python27/libs \
PYLIB='-L/c/Python27/libs -lpython27' \
PYLIBLINK='-L/c/Python27/libs -lpython27'
---------------------------
# when c:/mpich2 is installed from mpich2-1.4.1p1-win-x86_64.msi
# then use the following configure. Note that the user will also have to
# install mpich2 to use it but to launch nrniv we need to distribute
# mpich2mpi.dll which the mpich2 installer puts in /c/Windows/System32
# for mswin 32 bit
../nrn/configure --prefix=`pwd` --with-nrnpython=dynamic --with-paranrn \
CFLAGS=-I/c/mpich2/include LIBS='-L/c/mpich2/lib -mpi'
# for mswin 64 bit
../nrn/configure --prefix=`pwd` -with-nrnpython=dynamic \
--host=x86_64-w64-mingw32 PYINCDIR=/c/Python27/include \
--with-paranrn MPICC=x86_64-w64-mingw32-gcc \
MPICXX=x86_64-w64-mingw32-g++ \
CFLAGS=-I/c/mpich2/include LIBS='-L/c/mpich2/lib -lmpi' \
PYLIBDIR=/c/Python27/libs \
PYLIB='-L/c/Python27/libs -lpython27' \
PYLIBLINK='-L/c/Python27/libs -lpython27'
#easiest way for the user to use:
=============
mpich2 must be installed as administrator. Or
http://hydrology.usu.edu/taudem/taudem5.0/troubleshooting.html
You receive an error "Error while connecting to host. No connection
could be made because the target machine actively refused it.
This occurs if the smpd utility used by MPICH2 has not been
installed properly, usually because MPICH2 was not installed when logged
in as Administrator (different from user with Administrator privileges).
Open an administrator command prompt from
Start->All Programs->Accessories-Command Prompt->Right click
run as administrator. Click YES to the user account control about
modifying the computer and make sure that the command window that opens
says Administrator at the top. Verify that c: program files/mpich2/bin
is on your path (see installation instructions) In this prompt type smpd
-install. You should receive confirmation that MPICH2 Process Manager,
Argonne National Lab installed. Alternatively uninstall and reinstall
MPICH2 when logged is as Administrator or see #1 above.