On 26/02/2011 04:14, Steve T wrote:
On 26/02/2011 03:57, Robert Connolly wrote:
This is fixed upstream, in the unstable branch. Try this patch:

http://www.linuxfromscratch.org/~robert/new/patches/gmp-5.0.1-pic.diff

and let me know if it works please.

robert
Thankyou again Robert. It may be a couple of days before i get to try it
now but will message straight back with the results.

Steve.
Well, good news overall, I managed to get to a fully booting system after some delays at home.

These are the things i came across :

1. The gmp pic patch mentioned above works perfectly so could do with adding to the book.

2. The grsec patch listed in the patch list is not available. Grsec has been bumped a few times and the latest one (Ending 201103122250) plays nicely.

3. Chapter 6 gcc testing. A large number of the tests reported failed with the somewhat common 'Excess Errors' message, but the testing continues anyway and the final build works ok. Enough to build the remainder of the book anyway.

4. Chapter 6 sanity checks. grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log reports success for crti.o and crtn.o, but NOT crt1.o as suggested there. I know when I built 20080603 only i & n were shown in the expected output. Could/should this be the same case here ?

5. A quick look through dummy.log (attached) shows a number of libs fail to open at /usr/lib/gcc/i686-pc-linux-gnu/4.5.2 All but 2 of these already exist in /usr/lib at this point though. It doesnt stop the build in any way. Are these expected or would we benefit by creating some symlinks for them ?

6. The remainder of the book built without issue. Chapter 6 gcc testing has always been a pain in the butt; it feels very similar to how it happened with 20080603 though and that worked just fine.

7. Grub-1.98 failed initially with a quite weird error but Ive been unable to reproduce this and it has subsequently built ok. That said, Im sticking with legacy for the time being :)

Now I'm looking forward to the next round of updates, as per the latest 'to-do' message on 20th Feb.

Regards,

Steve


Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.5.2/configure --prefix=/usr --libexecdir=/usr/lib 
--enable-shared --enable-threads=posix --enable-__cxa_atexit 
--enable-clocale=gnu --enable-languages=c,c++ --disable-multilib 
--disable-bootstrap --with-system-zlib
Thread model: posix
gcc version 4.5.2 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/cc1 -quiet -v dummy.c -D_FORTIFY_SOURCE=2 
-quiet -dumpbase dummy.c -mtune=generic -march=pentiumpro -auxbase dummy 
-version -fPIE -fstack-protector-all -o /tmp/cc8K1Y7S.s
GNU C (GCC) version 4.5.2 (i686-pc-linux-gnu)
        compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 3.0.0, 
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=127245
ignoring nonexistent directory 
"/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed
 /usr/include
End of search list.
GNU C (GCC) version 4.5.2 (i686-pc-linux-gnu)
        compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 3.0.0, 
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=127245
Compiler executable checksum: 9495569944f3307231ba8601ebee8f21
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
 as -V -Qy --32 -o /tmp/ccq42Suv.o /tmp/cc8K1Y7S.s
GNU assembler version 2.21 (i686-pc-linux-gnu) using BFD version (GNU Binutils) 
2.21
COMPILER_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
 /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/collect2 --eh-frame-hdr -m elf_i386 
-dynamic-linker /lib/ld-linux.so.2 -pie --warn-shared-textrel -z relro -z 
combreloc -z now --fatal-warnings 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o 
-L/usr/lib/gcc/i686-pc-linux-gnu/4.5.2 
-L/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../.. /tmp/ccq42Suv.o --verbose -lgcc 
--as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o
GNU ld (GNU Binutils) 2.21
  Supported emulations:
   elf_i386
   i386linux
using internal linker script:
==================================================
/* Script for -pie -z combreloc -z now -z relro: position independent 
executable, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
              "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i686-pc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); 
SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text.exit .text.exit.*)
    *(.text.startup .text.startup.*)
    *(.text.hot .text.hot.*)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & 
(CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), 
CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata          : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss           : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
    PROVIDE_HIDDEN (__init_array_start = .);
    KEEP (*(SORT(.init_array.*)))
    KEEP (*(.init_array))
    PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(SORT(.fini_array.*)))
    KEEP (*(.fini_array))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) 
*(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo .zdebug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames .zdebug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges .zdebug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames .zdebug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.* .zdebug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev .zdebug_abbrev) }
  .debug_line     0 : { *(.debug_line .zdebug_line) }
  .debug_frame    0 : { *(.debug_frame .zdebug_frame) }
  .debug_str      0 : { *(.debug_str .zdebug_str) }
  .debug_loc      0 : { *(.debug_loc .zdebug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo .zdebug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames .zdebug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames .zdebug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames .zdebug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames .zdebug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes .zdebug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges .zdebug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}


==================================================
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o
attempt to open /tmp/ccq42Suv.o succeeded
/tmp/ccq42Suv.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.a succeeded
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so 
succeeded
-lgcc_s (/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so)
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libc.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so succeeded
opened script file /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so
opened script file /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so
attempt to open /lib/libc.so.6 succeeded
/lib/libc.so.6
attempt to open /usr/lib/libc_nonshared.a succeeded
(/usr/lib/libc_nonshared.a)elf-init.oS
(/usr/lib/libc_nonshared.a)stack_chk_fail_local.oS
attempt to open /lib/ld-linux.so.2 succeeded
/lib/ld-linux.so.2
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.a succeeded
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so 
succeeded
-lgcc_s (/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so)
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o
ld-linux.so.2 needed by /lib/libc.so.6
found ld-linux.so.2 at /lib/ld-linux.so.2
-- 
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to