summaryrefslogtreecommitdiffstats
path: root/doc/FAQ
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2003-01-22 13:47:32 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2003-01-22 13:47:32 +0000
commit537449c28d4223144a83c058d11eab0a5b1a3ae5 (patch)
treee56b1e15ca6e91f07c8c07a58bd2cb9b6e58d9ff /doc/FAQ
parent2003-01-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-537449c28d4223144a83c058d11eab0a5b1a3ae5.tar.bz2
2003-01-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* build45.t: Several fixes and additions.
Diffstat (limited to 'doc/FAQ')
-rw-r--r--doc/FAQ/ChangeLog4
-rw-r--r--doc/FAQ/build45.t75
2 files changed, 70 insertions, 9 deletions
diff --git a/doc/FAQ/ChangeLog b/doc/FAQ/ChangeLog
index ad66492efb..6ad0f9d0e3 100644
--- a/doc/FAQ/ChangeLog
+++ b/doc/FAQ/ChangeLog
@@ -1,5 +1,9 @@
2003-01-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ * build45.t: Several fixes and additions.
+
+2003-01-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
* FAQ.texi: Rename section "Building RTEMS 4.5" into "Building
RTEMS".
build45.t: Remove references to 4.5. Several minor updates.
diff --git a/doc/FAQ/build45.t b/doc/FAQ/build45.t
index 59f828338c..2be04aa780 100644
--- a/doc/FAQ/build45.t
+++ b/doc/FAQ/build45.t
@@ -57,20 +57,22 @@ getting it working may not be easy.
@subsection Do I need gcc-2.9x for cross compilation?
+[FIXME: Partially obsolete]
+
Not necessarily, but gcc-2.9x is highly recommended, because most development
has taken place using gcc-2.9x and previous versions of gcc are not actively
supported in RTEMS anymore (@ref{Can I use a non-gcc cross-toolchain?}).
-@subsection Where to get autoconf automake ld gcc etc. ?
+@subsection Where to get autoconf automake ld gcc etc.?
The sources of all gnutools are available at any
-@uref{GNU,ftp://ftp.gnu.org} mirror.
+@uref{ftp://ftp.gnu.org,GNU} mirror.
Native Linux binaries should come with any Linux distribution.
Native Cygwin binaries should be available at Cygnus.
GNU-Toolchain binaries (gcc, binutils etc.) for Linux and patches required
to build them from source are available from
-@uref{OAR Corporation,ftp://ftp.oarcorp.com}.
+@uref{ftp://ftp.oarcorp.com,OAR Corporation}.
@section Issues when building RTEMS
@@ -89,8 +91,36 @@ cd build
/usr/local/src/rtems-@value{VERSION}/configure [options]
@end example
-@subsection Why can I not build RTEMS inside of the source tree?
+@subsection When running bootstrap weird thing start to happen
+Many possibile causes: Most likely one of these:
+@itemize @bullet
+@item You are trying to build RTEMS with insufficient or incompatible
+versions of autoconf and automake.
+@item The autotools can't be found because your $PATH might not be set up
+correctly (Cf. @ref{How to set up $PATH?})
+@item You have used configure-script options which interfer with RTEMS
+configuration (Cf. @ref{configure --program-[prefix|suffix|transform-name]})
+@item You have tripped over a bug in RTEMS ;)
+@end itemize
+
+@subsection configure xxx cannot create executables
+
+While running a configure script, you see a message like this:
+@example
+checking for m68k-rtems-gcc... (cached) m68k-rtems-gcc
+checking for C compiler default output... configure: error: C compiler cannot create executables
+configure: error: /bin/sh '../../../../rtems-ss-@value{VERSION}/c/make/configure'
+failed for c/make
+@end example
+This kind of error message typically indicates a broken toolchain, broken
+toolchain installation or broken user environment.
+
+Examinating the @code{config.long} corresponding to the the failing
+configure script should provide further information of what
+actually goes wrong (In the example above: @code{<target>/c/<BSP>/make/config.log})
+
+@subsection Why can I not build RTEMS inside of the source tree?
The build-directory hierarchy is setup dynamically at configuration time.
@@ -130,7 +160,7 @@ If using OAR Corporation's rpms for the toolchain, simply prepend
@subsection Can I build RTEMS Canadian Cross?
RTEMS >= 4.6.0 configuration is prepared for building RTEMS Canadian Cross,
-however building RTEMS Canadian Cross is known to be in it's infancy, so
+however building RTEMS Canadian Cross is known to be in its infancy, so
your mileage may vary (See @code{README.cdn-X} in the toplevel directory of
RTEMS's source tree for details.)
@@ -151,6 +181,8 @@ See @ref{How to merge pre-RTEMS-4.5.0 BSPs into RTEMS-4.5.0?}.
@subsection make debug_install / make profile_install
+[FIXME:Partially obsolete]
+
These make targets are not supported anymore. Instead, use:
@example
@@ -160,6 +192,8 @@ make VARIANT=PROFILE install
@subsection make debug / make profile
+[FIXME:Partially obsolete]
+
These make targets are not supported anymore.
Instead, use:
@@ -185,7 +219,6 @@ These files are generated by auto* tools, cf.
@subsection Editing auto* generated files
-
RTEMS uses automake, therefore @b{never}, @b{ever}, @b{ever}
edit Makefile.ins, Makefiles, configure or other auto* generated files.
Changes to them will be swapped away soon and will get lost.
@@ -231,12 +264,13 @@ any recent Linux distribution should work, too.
@subsection How to merge pre-RTEMS-4.5.0 BSPs into RTEMS-4.5.0?
-The simple answer is that between 4.0 and now, RTEMS has moved to automake
+[FIXME:Partially obsolete]
+
+The simple answer is that between 4.0 and 4.5.0, RTEMS has moved to automake
and greater compliance with GNU conventions.
In 4.0, there was a single configure script at the top of the tree.
Now RTEMS is configured more like other GNU tools -- as a collection of
configurable entities.
-
Each BSP now has its own configure script.
I highly recommend you look at the Makefile.am's, configure.ac, of a similar
@@ -263,6 +297,13 @@ At present time the bare BSP is in its infancy.
It is known that it can be build for most CPUs RTEMS supports.
It is also known to work in individual cases, but your mileage may vary.
+@subsection What is the cpukit?
+
+[FIXME:To be extended]
+
+One major change having been introduced to RTEMS-4.6.0 is the cpukit,
+located below the directory @code{cpukit/} in RTEMS's toplevel directory.
+
@subsection Multilib vs. RTEMS CPU-variants
The GNU toolchain applies a specific classification of similar CPUs into
@@ -351,6 +392,12 @@ files. I.e. auto* generated files will get automatically updated.
Configuring RTEMS in maintainer-mode will require to have autoconf, automake
and underlying tools installed (Cf. @ref{Required Tools}).
+@subsection configure --program-[prefix|suffix|transform-name]
+
+These are generic configure script options automatically added by autoconf.
+RTEMS configuration does not support these, worse, they interfer with
+RTEMS's configuration -- i.e. @b{do not use them}.
+
@subsection configure.ac vs. configure.in
autoconf < 2.50 used the name @code{configure.in} for it's input files.
@@ -358,4 +405,14 @@ autoconf >= 2.50 recommends using the name @code{configure.ac}, instead.
RTEMS > 4.5.0 applies autoconf >= 2.50, therefore all former RTEMS's
@code{configure.in}'s have been renamed into @code{configure.ac} and
-adapted to autoconf >= 2.50 demands.
+have been adapted to autoconf >= 2.50 demands.
+
+@subsection Reporting bugs
+
+Several possibilities (In decreasing preference):
+@itemize @bullet
+@item File a bug report at @uref{http://www.oarcorp.com/cgi-bin/gnatweb.pl,OAR's GNAT}
+@item Send an email to @uref{mailto:rtems-bugs@@OARcorp.com,rtems-bugs@@OARcorp.com}
+@item Report your problem to one of the RTEMS mailing lists
+(Cf. @ref{Are there any mailing lists?}).
+@end itemize