Imported Upstream version 2.4.2
[platform/upstream/libtool.git] / doc / notes.texi
1 @itemize
2
3 @item
4 You currently need GNU make to build the Libtool package itself.
5
6 @item
7 On AIX there are two different styles of shared linking, one in which symbols
8 are bound at link-time and one in which symbols are bound at runtime only,
9 similar to ELF@.  In case of doubt use @code{LDFLAGS=-Wl,-brtl} for the latter style.
10
11 @item
12 On AIX, native tools are to be preferred over binutils; especially for C++ code,
13 if using the AIX Toolbox GCC 4.0 and binutils, configure with
14 @code{AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B'}.
15
16 @item
17 On AIX, the @command{/bin/sh} is very slow due to its inefficient handling
18 of here-documents.  A modern shell is preferable:
19 @example
20 CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL
21 $CONFIG_SHELL ./configure [...]
22 @end example
23
24 @item
25 For C++ code with templates, it may be necessary to specify the way the compiler
26 will generate the instantiations.  For Portland pgCC version5, use
27 @code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}.
28
29 @item
30 On Darwin, for C++ code with templates you need two level shared libraries.
31 Libtool builds these by default if @env{MACOSX_DEPLOYMENT_TARGET} is set to
32 10.3 or later at @command{configure} time.  See @url{rdar://problem/4135857}
33 for more information on this issue.
34
35 @c @item
36 @c FreeBSD @command{make} does not conform to @sc{posix} in its handling
37 @c of file modification times, which causes it to loop while building libtool.
38 @c Consider using a different @command{such} as GNU make instead.
39
40 @item
41 The default shell on UNICOS 9, a ksh 88e variant, is too buggy to
42 correctly execute the libtool script.  Users are advised to install a
43 modern shell such as GNU bash.
44
45 @item
46 Some HP-UX @command{sed} programs are horribly broken, and cannot handle
47 libtool's requirements, so users may report unusual problems.  There
48 is no workaround except to install a working @command{sed} (such as GNU sed)
49 on these systems.
50
51 @item
52 The vendor-distributed NCR MP-RAS @command{cc} programs emits copyright
53 on standard error that confuse tests on size of @file{conftest.err}.  The
54 workaround is to specify @env{CC} when run configure with
55 @code{CC='cc -Hnocopyr'}.
56
57 @item
58 Any earlier DG/UX system with ELF executables, such as R3.10 or
59 R4.10, is also likely to work, but hasn't been explicitly tested.
60
61 @item
62 On Reliant Unix libtool has only been tested with the Siemens C-compiler
63 and an old version of @command{gcc} provided by Marco Walther.
64
65 @item
66 @file{libtool.m4}, @file{ltdl.m4} and the @file{configure.ac} files are marked
67 to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself,
68 and all recent releases of XEmacs.
69
70 @item
71 When building on some GNU/Linux systems for multilib targets
72 @command{libtool} sometimes guesses the wrong paths that the linker
73 and dynamic linker search by default. If this occurs, you may override
74 libtool's guesses at @command{configure} time by setting the
75 @command{autoconf} cache variables
76 @code{lt_cv_sys_lib_search_path_spec} and
77 @code{lt_cv_sys_lib_dlsearch_path_spec} respectively to the correct search
78 paths.
79
80 @end itemize