-
Notifications
You must be signed in to change notification settings - Fork 12
/
FAQ.dev
108 lines (72 loc) · 3.63 KB
/
FAQ.dev
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
Frequently asked questions for S-NET developers (not users!)
============================================================
Q: Where is the `configure' script? How do I get started?
A: Use the script `bootstrap'. This runs `autoreconf' which will copy
the latest versions of all the necessary tools and then invoke
Automake and Autoconf to generate `configure' and `Makefile.in'.
Note that you should only need to use `bootstrap' once. After a
build tree is configured, dependency tracking should pick up any
changes to `configure.ac' and `Makefile.am' automatically.
After you have generated `configure', check out `configure
--help'. It really helps.
--
Q: I ran `make' and there is no `snetc'. What then?
A: `snetc' will ultimately be distributed separately. In the meantime, go
to `src/snetc' and run `configure' and `make' from there.
--
Q: What does the following message mean?
configure.ac:10: warning: macro `AM_SILENT_RULES' not found in library
A: Your Automake is too old. Upgrade to 1.11.1 or later.
--
Q: What does the following message mean?
configure.ac:57: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
[...]
build-aux/libtool.m4:67: LT_INIT is expanded from...
configure.ac:57: the top level
A: Your Libtool is too old. Upgrade to 2.2 or later.
--
Q: What does the following message mean?
BUG.am: `install.sh' is an anachronism; use `install-sh' instead
A: Remove the file `build-aux/install.sh'. It should not be
there. "autoreconf -i" will copy a fresh version of `install-sh'
instead.
--
Q: What does the following message mean?
configure.ac:35: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
../../lib/autoconf/specific.m4:364: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:35: the top level
A: This warning can be safely ignored.
Autoconf complains that some check is using the C compiler before
AC_USE_SYSTEM_EXTENSIONS had a chance to add compiler flags to
enable API extensions. The "offending" check is the check for MPI
when --enable-dist-mpi is set to "yes" or "auto". The MPI check
*must* appear before other C checks or compiler configurations so
that the MPI compiler wrapper is picked up instead of the regular
compiler name. Although AC_USE_SYSTEM_EXTENSIONS appears later
this is innocuous as it should have no effect on MPI detection.
--
Q: ./bootstrap fails with
> configure.ac:96: error: Libtool version 2.4 or higher is required
> /usr/share/aclocal/libtool.m4:46: LT_PREREQ is expanded from...
> configure.ac:96: the top level
> autom4te: /usr/bin/m4 failed with exit status: 63
> aclocal: /opt/local/bin/autom4te failed with exit status: 63
> autoreconf: aclocal failed with exit status: 63
although an appropriate version of libtool is in $PATH.
A: (not an answer but a workaround) try running
> autoreconf -v -f -i -I/path/to/share/aclocal/
Change "/path/to/ to the installation root of libtool.
--
Q. How to make a distribution of the source that users can use without
requiring development tools like Autoconf/Automake installed?
A.
1. ensure you have a working build tree
2. run:
make distcheck distdir=snet-VERSION \
DISTCHECK_CONFIGURE_FLAGS="-with-lpel-includes=... \
--with-lpel-libs=..."
for example:
make distcheck distdir=snet-1.x.20111103 \
DISTCHECK_CONFIGURE_FLAGS="--with-lpel-includes=/tmp/lpel/include --with-lpel-libs=/tmp/lpel/lib"
3. fix any errors and repeat #2 until it succeeds.
4. retrieve the generated snet-VERSION.tar.bz2 and distribute.