Fixup fromcvs/togit conversion
[pkgsrcv2.git] / bootstrap / README.Linux
1 $NetBSD: README.Linux,v 1.3 2005/02/16 11:02:50 grant Exp $
2
3 Please read the general README file as well.
4
5 ==========================================================================
6
7 Some versions of Linux (RHEL3 Update 2 for i386 for example) have a
8 /usr/lib/libacl.la libtool archive file that lists /lib/libattr.la as a
9 dependency.  However, libattr.la does not exist in /lib/libattr.la.  If
10 this is the case, the bootstrap will fail with
11
12 grep: /lib/libattr.la: No such file or directory
13 /usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/.tools/bin/sed: can't read /lib/libattr.la: No such file or directory
14 libtool: link: `/lib/libattr.la' is not a valid libtool archive
15
16 The soltion is to copy /usr/lib/libattr.la to /lib/libattr.la with:
17
18 cp -p /usr/lib/libattr.la /lib
19
20 ==========================================================================
21
22 Some versions of Linux (for example Debian GNU/Linux) need either libtermcap
23 or libcurses (libncurses).  Installing the distributions libncurses-dev
24 package (or equivalent) should fix the problem.
25
26 ==========================================================================
27
28 pkgsrc supports both gcc (GNU Compiler Collection) and icc (Intel C++
29 Compiler). gcc is the default. icc 8.0 and 8.1 on i386 have been tested.
30
31 To bootstrap using icc, assuming the default icc installation
32 directory:
33
34         env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \
35                 ac_cv___attribute__=yes ./bootstrap
36
37 note: icc 8.1 needs the `-i-static' argument instead of
38 -static-libcxa.
39
40 icc supports __attribute__, but the GNU configure test uses a nested
41 function, which icc does not support. #undef'ing __attribute__ has the
42 unfortunate side-effect of breaking many of the Linux header files, which
43 cannot be compiled properly without __attribute__. The test must be
44 overridden so that __attribute__ is assumed supported by the compiler.
45
46 After bootstrapping, you should set PKGSRC_COMPILER in mk.conf:
47
48         PKGSRC_COMPILER=icc
49
50 The default installation directory for icc is /opt/intel_cc_80, which
51 is also the pkgsrc default. If you have installed it into a different
52 directory, set ICCBASE in mk.conf:
53
54         ICCBASE=/opt/icc
55
56 pkgsrc uses the static linking method of the runtime libraries
57 provided by icc, so binaries can be run on other systems which do not
58 have the shared libraries installed.
59
60 Libtool, however, extracts a list of libraries from the ld(1) command
61 run when linking a C++ shared library and records it, throwing away
62 the -Bstatic and -Bdynamic options interspersed between the libraries.
63 This means that libtool-linked C++ shared libraries will have a
64 runtime dependency on the icc libraries until this is fixed in
65 libtool.