Gijo wrote:

Chris Staub wrote:

Gijo wrote:

Hi,


I had some problems in chapter 6 (lfs6.2) and maybe someone can help me out, before i chroot, i did:

echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'

and got:

[Requesting program interpreter: /tools/lib/ld-linux.so.2]

but after entering the chrooted environment i could not use gcc or readelf, which i fixed by linking /lib/ld-linux.so.2 to /tools/lib/ld-linux.so.2
but now when i redo the dummy.c check i get:
[Requesting program interpreter: /lib/ld-linux.so.2]


is this ok or am i doing something wrong?I's not normal to end up with a broken gcc after chp5 right?
thanks in advance...

Gijo


Do not create any symlink (unless of course the book tells you to). If something doesn't work inside chroot without the /lib/ld-linux.so.2 symlink, then you need to find out where the problem is before attempting to go any further. What is the output of "ldd /tools/bin/gcc"?


With all my thinkering i've messed it all up, im going to rebuild again, is there something i can do at the end of chp5 to be sure the chrooted env won't be broken?

Thanks and Best regards,

Gijo

Outside the chrooted env:

lfs:~$ gcc -print-libgcc-file-name
/mnt/lfs/tools/bin/../lib/gcc/i686-pc-linux-gnu/4.0.3/libgcc.a
lfs:~$

Inside chrooted env:

root:/# gcc -print-libgcc-file-name
/tools/lib/gcc/i686-pc-linux-gnu/4.0.3/libgcc.a
root:/#

After rebuilding, gcc seems ok but the rest is the way gcc was before i rebuild the toolchain again...

lfs:~$ readelf -l /tools/bin/sed

Elf file type is EXEC (Executable file)
Entry point 0x80497e0
There are 7 program headers, starting at offset 52

Program Headers:
 Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
 PHDR           0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
 INTERP         0x000114 0x08048114 0x08048114 0x00019 0x00019 R   0x1
     [Requesting program interpreter: /tools/lib/ld-linux.so.2]
 LOAD           0x000000 0x08048000 0x08048000 0x16efc 0x16efc R E 0x1000
 LOAD           0x017000 0x0805f000 0x0805f000 0x003c0 0x053bc RW  0x1000
 DYNAMIC        0x017014 0x0805f014 0x0805f014 0x000c8 0x000c8 RW  0x4
 NOTE           0x000130 0x08048130 0x08048130 0x00020 0x00020 R   0x4
 GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

Section to Segment mapping:
 Segment Sections...
  00
  01     .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_
r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame
  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
  04     .dynamic
  05     .note.ABI-tag
  06
lfs:~$ readelf -l /tools/bin/ld

Elf file type is EXEC (Executable file)
Entry point 0x80497f0
There are 8 program headers, starting at offset 52

Program Headers:
 Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
 PHDR           0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4
 INTERP         0x000134 0x08048134 0x08048134 0x00013 0x00013 R   0x1
    * [Requesting program interpreter: /lib/ld-linux.so.2]*
 LOAD           0x000000 0x08048000 0x08048000 0xaab34 0xaab34 R E 0x1000
 LOAD           0x0aab34 0x080f3b34 0x080f3b34 0x007fc 0x05084 RW  0x1000
 DYNAMIC        0x0aab48 0x080f3b48 0x080f3b48 0x000c8 0x000c8 RW  0x4
 NOTE           0x000148 0x08048148 0x08048148 0x00020 0x00020 R   0x4
 GNU_EH_FRAME   0x0aaabc 0x080f2abc 0x080f2abc 0x0001c 0x0001c R   0x4
 GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

Section to Segment mapping:
 Segment Sections...
  00
  01     .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
  04     .dynamic
  05     .note.ABI-tag
  06     .eh_frame_hdr
  07
lfs:~$ readelf -l /tools/bin/gcc

Elf file type is EXEC (Executable file)
Entry point 0x8049300
There are 8 program headers, starting at offset 52

Program Headers:
 Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
 PHDR           0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4
 INTERP         0x000134 0x08048134 0x08048134 0x00019 0x00019 R   0x1
     [Requesting program interpreter: /tools/lib/ld-linux.so.2]
 LOAD           0x000000 0x08048000 0x08048000 0x14440 0x14440 R E 0x1000
 LOAD           0x014440 0x0805d440 0x0805d440 0x00674 0x00a30 RW  0x1000
 DYNAMIC        0x014454 0x0805d454 0x0805d454 0x000c8 0x000c8 RW  0x4
 NOTE           0x000150 0x08048150 0x08048150 0x00020 0x00020 R   0x4
 GNU_EH_FRAME   0x0143c8 0x0805c3c8 0x0805c3c8 0x0001c 0x0001c R   0x4
 GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

Section to Segment mapping:
 Segment Sections...
  00
  01     .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
  04     .dynamic
  05     .note.ABI-tag
  06     .eh_frame_hdr
  07
lfs:~$ readelf -l /tools/bin/as

Elf file type is EXEC (Executable file)
Entry point 0x80495f0
There are 8 program headers, starting at offset 52

Program Headers:
 Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
 PHDR           0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4
 INTERP         0x000134 0x08048134 0x08048134 0x00013 0x00013 R   0x1
*      [Requesting program interpreter: /lib/ld-linux.so.2]*
 LOAD           0x000000 0x08048000 0x08048000 0x99ab4 0x99ab4 R E 0x1000
 LOAD           0x09a000 0x080e2000 0x080e2000 0x00880 0x0db6c RW  0x1000
 DYNAMIC        0x09a014 0x080e2014 0x080e2014 0x000c8 0x000c8 RW  0x4
 NOTE           0x000148 0x08048148 0x08048148 0x00020 0x00020 R   0x4
 GNU_EH_FRAME   0x099a3c 0x080e1a3c 0x080e1a3c 0x0001c 0x0001c R   0x4
 GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

Section to Segment mapping:
 Segment Sections...
  00
  01     .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
  04     .dynamic
  05     .note.ABI-tag
  06     .eh_frame_hdr
  07
lfs:~$ readelf -l /tools/bin/make

Elf file type is EXEC (Executable file)
Entry point 0x8049980
There are 7 program headers, starting at offset 52

Program Headers:
 Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
 PHDR           0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
 INTERP         0x000114 0x08048114 0x08048114 0x00019 0x00019 R   0x1
     [Requesting program interpreter: /tools/lib/ld-linux.so.2]
 LOAD           0x000000 0x08048000 0x08048000 0x1f874 0x1f874 R E 0x1000
 LOAD           0x01f874 0x08068874 0x08068874 0x00a94 0x0118c RW  0x1000
 DYNAMIC        0x01f888 0x08068888 0x08068888 0x000d0 0x000d0 RW  0x4
 NOTE           0x000130 0x08048130 0x08048130 0x00020 0x00020 R   0x4
 GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

Section to Segment mapping:
 Segment Sections...
  00
  01     .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame
  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
  04     .dynamic
  05     .note.ABI-tag
  06
lfs:~$

some of the binaries got the wong ld-linux.so.2 path, and that's the problem for sure...i just dont know why... Sorry for the long output, but i didn't know what would be relevant or not...

Thanks and Best regards,

Gijo


--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to