How do you find a configuration that builds?

Grant Edwards grant.b.edwards@gmail.com
Wed Aug 15 06:37:00 GMT 2012


On 2012-08-15, Grant Edwards <grant.b.edwards@gmail.com> wrote:

> I'm trying to update from 1.12 to 1.16, and so far it's been a
> failure.  With 1.12, I just picked versions for gcc, binutils, uclibc,
> and gdb -- then things just built.  With 1.16, almost all the
> combinations I've tried fail.  

After 12 or 13 tries, I found a buildable configuration using newer
versions than my old 1.12 setup (except for binutils -- had to go back
a version on that one):

CT_ARCH_ARM_EABI=y
CT_BINUTILS_VERSION="2.20.1a"
CT_CC_VERSION="4.6.3"
CT_LIBC_VERSION="0.9.33.2"
CT_GDB_VERSION="7.4.1"
CT_GMP_VERSION="5.0.2"
CT_MPFR_VERSION="3.1.0"
CT_PPL_VERSION="0.11.2"
CT_CLOOG_VERSION="0.15.11"
CT_MPC_VERSION="0.9"
CT_LIBC_SUPPORT_NPTL=y
CT_THREADS_NPTL=y


A few notes:

 * It's a bad idea to use relative paths for configuration values.
   Instead, anchor them to the top directory:

     CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_TOP_DIR}/../linux-2.6.33.7-custom.tar.bz2
     CT_LIBC_UCLIBC_CONFIG_FILE="${CT_TOP_DIR}/../uClibc.config"

   [I think this is the second time I've had to learn that lesson.]

 * Older versions of PPL are incompatible with gcc.
  
 * Newer versions of binutils are incompatible with uClibc.
  
 * uClibc configuration:

   * Large file support is required -- I couldn't get a build to work
     without it.

   * SUSV4 legacy support is required by libstdc++

 * No clue what caused the "missing pthread.h" failure or what fixed
   it.

Don't know yet if the resulting toolchain will build a working kernel
or root filesystem.


--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list