Build bug (ppc-linux)

Stefan Bruda bruda at cs.ubishops.ca
Mon Mar 1 15:19:51 EST 2004


This is a long-standing problem (at least since 21.4.13) having a very
simple solution.  When building under Linux on a PowerPC architecture
with the default `configure' script and GCC 3.x.x one gets slapped
with the following linking error:

  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x1e): In function
  `__libc_csu_init':
  : undefined reference to `__init_array_start'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x22): In function
  `__libc_csu_init':
  : undefined reference to `__init_array_end'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x26): In function
  `__libc_csu_init':
  : undefined reference to `__init_array_start'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x2a): In function
  `__libc_csu_init':
  : undefined reference to `__init_array_end'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x82): In function
  `__libc_csu_fini':
  : undefined reference to `__fini_array_start'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x86): In function
  `__libc_csu_fini':
  : undefined reference to `__fini_array_end'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x8a): In function
  `__libc_csu_fini':
  : undefined reference to `__fini_array_start'
  /usr/lib/libc_nonshared.a(elf-init.oS)(.text+0x8e): In function
  `__libc_csu_fini':
  : undefined reference to `__fini_array_end'

The problem is a "magic" for ppc systems which is no longer relevant;
in fact, once eliminated the build process works without a hitch.  To
the point, one should edit the configure script and delete the
following line:

  test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"

As far as I know the line is needed for GCC 2.x.x but crashes later
versions.

Cheers,
Stefan

-- 
If it was so, it might be; and if it were so, it would be; but as
it isn't, it ain't. That's logic.
    --Lewis Carroll, Through the Looking-Glass




More information about the XEmacs-Beta mailing list