building fortran

Vadim Gutnik gutnik@impinj.com
Wed Aug 23 21:43:00 GMT 2006


On Wed, Aug 23, 2006 at 01:25:45PM -0700, Kai Ruottu wrote:

>  Please look those executables, which should use these shared libs
>  in the '/impinj/uns/amd64_2.4/lib/', with the 'objdump -p'
>  command... Your use > of the '-rpath' option should have added a
>  RPATH entry seen in the output!

Well, that does seem to be the problem. I don't think the rpath
options got passed down into the configuration.

Here's what I see. (I include objdump from gfortran, f951, and
octave-2.1.73, which I built with the same options. There is no RPATH
set in the gfortran or f951 executables, but it is set in octave.)

I can't tell if this is a bug in the build process or if I'm doing
something wrong. I set LDFLAGS at the very top level, before configure
and make of gcc.

	  Vadim


% objdump -p `which gfortran`

/impinj/uns/amd64_2.4/bin/gfortran:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr 0x0000000000400200 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**20
         filesz 0x0000000000020054 memsz 0x0000000000020054 flags r-x
    LOAD off    0x0000000000020058 vaddr 0x0000000000520058 paddr 0x0000000000520058 align 2**20
         filesz 0x0000000000000c50 memsz 0x00000000000012b0 flags rw-
 DYNAMIC off    0x0000000000020080 vaddr 0x0000000000520080 paddr 0x0000000000520080 align 2**3
         filesz 0x0000000000000190 memsz 0x0000000000000190 flags rw-
    NOTE off    0x000000000000021c vaddr 0x000000000040021c paddr 0x000000000040021c align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off    0x000000000001ea40 vaddr 0x000000000041ea40 paddr 0x000000000041ea40 align 2**2
         filesz 0x000000000000044c memsz 0x000000000000044c flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED      libc.so.6
  INIT        0x401780
  FINI        0x416e74
  HASH        0x400240
  STRTAB      0x400c88
  SYMTAB      0x4004a8
  STRSZ       0x29f
  SYMENT      0x18
  DEBUG       0x0
  PLTGOT      0x520218
  PLTRELSZ    0x708
  PLTREL      0x7
  JMPREL      0x401078
  RELA        0x401000
  RELASZ      0x78
  RELAENT     0x18
  VERNEED     0x400fd0
  VERNEEDNUM  0x1
  VERSYM      0x400f28

Version References:
  required from libc.so.6:
    0x0d696913 0x00 03 GLIBC_2.3
    0x09691a75 0x00 02 GLIBC_2.2.5

% objdump -p /impinj/uns/amd64_2.4/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/f951

/impinj/uns/amd64_2.4/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/f951:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr 0x0000000000400200 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**20
         filesz 0x000000000056a2a4 memsz 0x000000000056a2a4 flags r-x
    LOAD off    0x000000000056a2a8 vaddr 0x0000000000a6a2a8 paddr 0x0000000000a6a2a8 align 2**20
         filesz 0x00000000000085e0 memsz 0x000000000009e218 flags rw-
 DYNAMIC off    0x000000000056a2d0 vaddr 0x0000000000a6a2d0 paddr 0x0000000000a6a2d0 align 2**3
         filesz 0x00000000000001a0 memsz 0x00000000000001a0 flags rw-
    NOTE off    0x000000000000021c vaddr 0x000000000040021c paddr 0x000000000040021c align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off    0x000000000050bc20 vaddr 0x000000000090bc20 paddr 0x000000000090bc20 align 2**2
         filesz 0x0000000000012e14 memsz 0x0000000000012e14 flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED      libgmp.so.3
  NEEDED      libc.so.6
  INIT        0x403400
  FINI        0x80d104
  HASH        0x400240
  STRTAB      0x401958
  SYMTAB      0x400758
  STRSZ       0x7e3
  SYMENT      0x18
  DEBUG       0x0
  PLTGOT      0xa6a478
  PLTRELSZ    0x1098
  PLTREL      0x7
  JMPREL      0x402368
  RELA        0x4022f0
  RELASZ      0x78
  RELAENT     0x18
  VERNEED     0x4022c0
  VERNEEDNUM  0x1
  VERSYM      0x40213c

Version References:
  required from libc.so.6:
    0x0d696913 0x00 03 GLIBC_2.3
    0x09691a75 0x00 02 GLIBC_2.2.5

% objdump -p `which octave-2.1.73`

/impinj/uns/amd64_2.4/bin/octave-2.1.73:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr 0x0000000000400200 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**20
         filesz 0x0000000000ba4304 memsz 0x0000000000ba4304 flags r-x
    LOAD off    0x0000000000ba4308 vaddr 0x00000000010a4308 paddr 0x00000000010a4308 align 2**20
         filesz 0x00000000000048d8 memsz 0x0000000000063780 flags rw-
 DYNAMIC off    0x0000000000ba6320 vaddr 0x00000000010a6320 paddr 0x00000000010a6320 align 2**3
         filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-
    NOTE off    0x000000000000021c vaddr 0x000000000040021c paddr 0x000000000040021c align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off    0x0000000000a00fe0 vaddr 0x0000000000e00fe0 paddr 0x0000000000e00fe0 align 2**2
         filesz 0x00000000000296ec memsz 0x00000000000296ec flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED      libreadline.so.5
  NEEDED      libncurses.so.5
  NEEDED      libgfortran.so.1
  NEEDED      libm.so.6
  NEEDED      libgcc_s.so.1
  NEEDED      libstdc++.so.6
  NEEDED      libc.so.6
  RPATH       /impinj/uns/amd64_2.4/lib:/impinj/uns/amd64_2.4/lib64:/impinj/uns/amd64_2.4/lib/octave-2.1.73
  INIT        0x408968
  FINI        0xd78ab4
  HASH        0x400240
  STRTAB      0x403810
  SYMTAB      0x400d80
  STRSZ       0x2389
  SYMENT      0x18
  DEBUG       0x0
  PLTGOT      0x10a6530
  PLTRELSZ    0x2490
  PLTREL      0x7
  JMPREL      0x4064d8
  RELA        0x405ff8
  RELASZ      0x4e0
  RELAENT     0x18
  VERNEED     0x405f28
  VERNEEDNUM  0x4
  VERSYM      0x405b9a

Version References:
  required from libgcc_s.so.1:
    0x0b792650 0x00 10 GCC_3.0
    0x09275a60 0x00 09 GCC_4.0.0
  required from libm.so.6:
    0x09691a75 0x00 05 GLIBC_2.2.5
  required from libc.so.6:
    0x09691973 0x00 06 GLIBC_2.3.3
    0x09691a75 0x00 03 GLIBC_2.2.5
  required from libstdc++.so.6:
    0x02297f86 0x00 08 GLIBCXX_3.4.6
    0x0bafd171 0x00 07 CXXABI_1.3.1
    0x08922974 0x00 04 GLIBCXX_3.4
    0x056bafd3 0x00 02 CXXABI_1.3



More information about the Gcc-help mailing list