-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathINSTALL
178 lines (136 loc) · 5.7 KB
/
INSTALL
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
INSTALLATION DIRECTIONS
-----------------------
The conley-morse-database software does not itself requiring
building or installing into system directories. The way it is
to be used is to only compile against user-supplied code
describing dynamical models (see the ./examples/ folder)
and in this case the executables are placed directly into
the model folder.
However, conley-morse-database depends on a number of prerequisite
packages being installed. We provide an installation script
to acquire and install these packages.
Here is an example installation:
mkdir ~/work && cd ~/work
git clone https://github.com/sharker81/conley-morse-database.git
cd conley-morse-database
./install.sh
This will install into /usr/local and also ~/work.
Note that if you have a boost installation in /usr/local that is
not "brewed" with Homebrew, it will be replaced.
You will likely be prompted for a password. This is due to
the writes to /usr/local. If you do not have a password, or not
want to install anything to /usr/local, then see below for a
nonstandard installation.
The installer checks the system to see if it is a Mac or Linux.
If it is a Mac, it uses the Homebrew "brew" installer for its
builds and also installs X11 via XQuartz. "brew" installs its
packages into /usr/local.
Otherwise it defaults to a standard list of instructions.
Nonstandard Installations
-------------------------
If you do not have administrator rights (or else do not want
to install anything to your system directories) then you can
choose to install in a non-standard location by typing
./install.sh [non-standard-install-dir]
(Warning: This option will be ignored on Mac OS X.
If you, really, really want to do this, you could type
./bin/install-linux.sh [non-standard-install-dir]
and it will pretend you have a Linux system.)
This is likely the case on an HPC cluster that is administered
by others. Here is an example of an installation in that case:
mkdir ~/work && cd ~/work
git clone https://github.com/sharker81/conley-morse-database.git
cd conley-morse-database
./install.sh ~/work
Again, this will also create other directories for other
installation that are required apart from conley-morse-database.
These will be placed in the ~/work folder.
Help
----
Contact me at sharker@math.rutgers.edu if you have problems.
KNOWN ISSUES (and fixes) for MAC OS X:
The installer scripts can fail for a number of reasons.
Here are some troubleshooting steps.
========================================
0. Update to the latest version of OS X.
========================================
In general it is difficult to test every combination
so it makes things easier if you have the latest OS.
==================
1. Don't use sudo.
==================
Make sure you aren't using "sudo" to run the script.
If you did use sudo, it may have created root owned files
wherever you told it to install things, for example in ~/Work if
you followed the instructions above.
You can fix these problems with
sudo chown -R $USER:admin /usr/local
sudo chown -R $USER:staff ~/Work
Change ~/Work to whatever directory you installed to if not ~/Work,
of course.
=======================
2. Check your compiler.
=======================
Type
g++ -v
It should show you are using LLVM clang:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
If instead it shows you are using GCC 4.2.1, then C++11 is not available.
You will need to update your system. Probably the most straightforward way
to go about this is install the latest Mac OS and download the latest version
of XCode.
==========================================
3. Make sure you can execute bash scripts.
==========================================
Type
bash
echo $0
exit
This ought to say "bash". If it doesn't, then there is probably something
goofy with either your ~/.bash_profile file or your ~/.bashrc file where
it immediately loads another type of shell. You'll need to edit these files
to make it so your bash program isn't getting hijacked by another type of
shell.
For example, if your ~/.bashrc file has a line "tcsh" in it, this is
loading a new type of shell -- you don't want that. Take that line out.
In particular the Homebrew install won't work under "tcsh".
======================================
4. Relax the permissions of /usr/local
======================================
Homebrew puts your installations in /usr/local, and they relax the
permissions. Things can get a little wonky if they aren't right. You
can ensure the permissions are correct by typing
sudo chown -R $USER:admin /usr/local
=================================
5. Use the brew version of Boost.
=================================
You might have an earlier version of Boost on your system that
wasn't installed using Brew. Brew actually applies some patches
to fix a couple known problems on Mac (such problems come and go),
so it might be possible you are having troubles because your Boost
is either outdated or hasn't been appropriately patched. You can
ensure you have the Boost version as follows:
First, make sure you have Homebrew installed.
brew uninstall boost
cd /usr/local/include
rm -rf boost
cd /usr/local/lib
rm -f libboost*
brew install boost
brew link boost
==========================================
6. Upgrade or reinstall Brew Libraries.
==========================================
It appears that updating OSes can cause troubles with
brewed packages. See
https://github.com/Homebrew/homebrew/wiki/FAQ
=======================
7. If all else fails...
=======================
You could try
./bin/install-linux ~/Work
which will install the dependencies in ~/Work rather
than /usr/local.