Skip to content

Commit 94f13f2

Browse files
committed
Finish the conversion of old content
+ describe known host OS setup and feature-related issues. Some host OSes are TBDs yet where I need to do a clean reinstall and determine the required packages. Signed-off-by: Alexey Neyman <[email protected]>
1 parent 0ec8d5f commit 94f13f2

File tree

12 files changed

+465
-586
lines changed

12 files changed

+465
-586
lines changed

_includes/intro.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
<div id="intro">
2-
<span class="ctng">crosstool-NG</span> is a versatile (cross) toolchain generator. It supports many architectures and components and has a simple yet powerful menuconfig-style interface. Please read the <a href="{{ "/docs/introduction/" | prepend: site.baseurl }}">introduction</a> and refer to the <a href="{{ "/docs/" | prepend: site.baseurl }}">documentation</a> for more information.
2+
<p>Crosstool-NG is a versatile (cross) toolchain generator.
3+
It supports many architectures and components and has a simple yet powerful
4+
menuconfig-style interface. Please read the
5+
<a href="{{ "/docs/introduction/" | prepend: site.baseurl }}">introduction</a>
6+
and refer to the <a href="{{ "/docs/" | prepend: site.baseurl }}">documentation</a>
7+
for more information.</p>
8+
<p><a href="/testimonials/">See</a> what the users of crosstool-NG have to say!</p>
39
</div>

_pages/docs/2_Installation.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ title: Installing crosstool-NG
44
permalink: /docs/install/
55
---
66

7-
There also two ways how you can obtain the crosstool-NG sources:
7+
Before installing crosstool-NG, you may need to install additional packages on
8+
the host OS. Specific instructions for several supported operating systems and
9+
distributions are provided [here](/docs/tutorials/). Note that not all the
10+
dependencies are currently detected by the `configure` script; missing some of
11+
them may later result in failing `ct-ng build`.
12+
13+
There two ways how you can obtain the crosstool-NG sources:
814

915
- by [downloading a released tarball](#download-tarball);
1016

@@ -15,11 +21,11 @@ There also are two ways you can use crosstool-NG:
1521
- [build and install it](#install-method), then get rid of the sources like
1622
you’d do for most programs;
1723

18-
- or only [build it and run from the source directory](#hackers-way).
24+
- or [only build it and run from the source directory](#hackers-way).
1925

2026
The typical workflow assumes using a released tarball and installing crosstool-NG.
2127
If you intend to do some development on crosstool-NG and/or submit patches,
22-
you'd likely want a clone of the repository.
28+
you'd likely want a clone of the repository and running from the source directory.
2329

2430

2531
Downloading a released tarball <a name="download-tarball"></a>
@@ -29,6 +35,10 @@ First, download the tarball:
2935

3036
wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-VERSION.tar.bz2
3137

38+
or
39+
40+
wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-VERSION.tar.xz
41+
3242
Starting with 1.21.0, releases are signed with Bryan Hundven's PGP key. The
3343
fingerprint is:
3444

_pages/docs/3_Configuration.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,4 @@ Then, you can review and change the configuration by running:
143143
> crosstool-NG version. Perform `ct-ng oldconfig` prior to building the toolchain!
144144
> Otherwise, the options introduced in the new release will not be set to their
145145
> default values, and this will result in errors later on! If you cloned a Git
146-
> repository, you need to do `ct-ng oldconfig` each time you do a `git pull` or
147-
> `git fetch`.
146+
> repository, you need to do `ct-ng oldconfig` each time you do a `git pull`.

_pages/docs/6_Toolchain_Types.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ anyway. There are a few caveats, though.
6868

6969
While building a "native" toolchain, crosstool-ng will currently still
7070
compile new version of libc for the target. There is currently no way
71-
to use the system libc as a part of the toolchain. This may work if you
72-
choose a compatible version (i.e., the applications compiled with the toolchain
73-
will load the system libc).
71+
to use the system libc and/or system kernel headers as a part of
72+
the toolchain. This may work if you choose a compatible version (i.e.,
73+
the applications compiled with the toolchain will load the system libc).
7474

7575
A "cross-native" toolchain can be built as a trivial case of the "canadian"
7676
toolchain. It is suboptimal, as it makes crosstool-NG build the tools

_pages/docs/B_Known_issues.md

Lines changed: 0 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -72,86 +72,6 @@ So now, on for the real issues...
7272
**Workaround**:
7373
Uninstall ccache.
7474

75-
--------------------------------
76-
**Symptoms**:
77-
The extract and/or path steps fail under Cygwin.
78-
79-
**Explanations**:
80-
This is not related to crosstool-NG. Mounts under Cygwin are by default not
81-
case-sensitive. You have to change a registry setting to disable
82-
case-insensitivity. See:
83-
http://cygwin.com/faq.html section 4, question 30.
84-
85-
**Status**:
86-
DEPRECATED
87-
88-
**Fix**:
89-
Change the registry value as per the instructions on the Cygwin website.
90-
91-
**Workaround**:
92-
None.
93-
94-
--------------------------------
95-
**Symptoms**:
96-
uClibc fails to build under Cygwin.
97-
98-
**Explanations**:
99-
With uClibc, it is possible to build a cross-ldd. Unfortunately, it is
100-
not (currently) possible to build this cross-ldd under Cygwin.
101-
102-
**Status**:
103-
DEPRECATED
104-
105-
**Fix**:
106-
None so far.
107-
108-
**Workaround**:
109-
Disable the cross-ldd build.
110-
111-
--------------------------------
112-
**Symptoms**:
113-
On 64-bit build systems, the glibc build fails for
114-
64-bit targets, because it can not find libgcc.
115-
116-
**Explanations**:
117-
This issue has been observed when the companion libraries are built
118-
statically. For an unknown reason, in this case, the libgcc built by the
119-
core gcc is not located in the same place it is located when building
120-
with shared companion libraries.
121-
122-
**Status**:
123-
DEPRECATED
124-
125-
**Fix**:
126-
None so far.
127-
128-
**Workaround**:
129-
Build shared companion libraries.
130-
131-
--------------------------------
132-
**Symptoms**:
133-
Warning: `libtool.m4: error: problem compiling FC test program`
134-
135-
**Explanations**:
136-
The gcc build procedure tries to run a Fortran test to see if it has a
137-
working native fortran compiler installed on the build machine, and it
138-
can't find one. A native Fortran compiler is needed (seems to be needed)
139-
to build the Fortran frontend of the cross-compiler.
140-
Even if you don't want to build the Fortran frontend, gcc tries to see
141-
if it has one, but fails. This is no problem, as the Fortran frontend
142-
will not be built. There is nothing to be worry about (unless you do
143-
want to build the Fortran frontend, of course).
144-
145-
**Status**:
146-
CURRENT
147-
148-
**Fix**:
149-
None so far. It's a spurious error, so there will probably never be
150-
a fix for this issue.
151-
152-
**Workaround**:
153-
None needed, it's a spurious error.
154-
15575
--------------------------------
15676
**Symptoms**:
15777
Build fails with: `unable to detect the exception model`
@@ -173,65 +93,6 @@ So now, on for the real issues...
17393
default 'M') in the menuconfig, option `CT_CC_GCC_SJLJ_EXCEPTIONS`
17494
labeled "Use sjlj for exceptions".
17595

176-
--------------------------------
177-
**Symptoms**:
178-
Build fails with `configure: error: forced unwind support is required`
179-
180-
**Explanations**:
181-
The issue seems to be related to building NPTL on old versions
182-
of glibc on some architectures (seen on powerpc, s390, s390x and x86_64).
183-
184-
**Status**:
185-
CURRENT
186-
187-
**Fix**:
188-
None so far. It would require some glibc hacking.
189-
190-
**Workaround**:
191-
Try setting "Force unwind support" in the "C-library" menu.
192-
193-
--------------------------------
194-
**Symptoms**:
195-
glibc start files and headers fail with: `/usr/include/limits.h Error 1`
196-
197-
**Explanations**:
198-
Old glibc Makefiles break with make-3.82.
199-
200-
**Status**:
201-
CURRENT
202-
203-
**Fix**:
204-
None so far. It would require some glibc hacking.
205-
206-
**Workaround**:
207-
There two possible workarounds:
208-
1- Ask crosstool-NG to build make-3.81 just for this build session.
209-
Select the following options:
210-
````
211-
Paths and misc options --->
212-
[*] Try features marked as EXPERIMENTAL
213-
Companion tools --->
214-
[*] Build some companion tools
215-
[*] make
216-
````
217-
2- manually install make-3.81 to take precedence over the system make.
218-
219-
--------------------------------
220-
**Symptoms**:
221-
The build fails with `mixed implicit and normal rules. Stop.`
222-
223-
**Explanations**:
224-
Old glibc Makefiles break with make-3.82.
225-
226-
**Status**:
227-
CURRENT
228-
229-
**Fix**:
230-
None so far. See above issue.
231-
232-
**Workaround**:
233-
See above issue.
234-
23596
--------------------------------
23697
**Symptoms**:
23798
On x86_64 hosts with 32bit userspace the GMP build fails with:

0 commit comments

Comments
 (0)