Subject: problem with libtool? multiple definitions in .libs/libextmod.so
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 08/02/2006 11:40:34
I am trying to troubleshoot a build problem with wip/xorg-server.

It does not have the following problem if I extract and then manually run 
configure and then make in the work directory.

But when using pkgsrc, in .libs/libextmod.so I get many multiple 
definitions:

  /.libs/libXextmodule.a(lt1-shape.o)(.text+0x0): In function 
  `ShapeExtensionInit':
  : multiple definition of `ShapeExtensionInit'
  /home/packages/tmp-pkgsrc/wip/xorg-server/work.glacier/xorg-server-1.1.99.3/Xext/.libs/libXextmodule.a(shape.o)(.text+0x0): 
  first defined here
  /home/packages/tmp-pkgsrc/wip/xorg-server/work.glacier/xorg-server-1.1.99.3/Xext/.libs/libXextmodule.a(lt1-shape.o)(.text+0x11ac): 
  In function `SendShapeNotify':
  : multiple definition of `SendShapeNotify'
...

Here is one example from objdump -x of Xext/.libs/libXextmodule.a:

  shape.o:     file format elf32-i386
  00000000 g     F .text  0000009d ShapeExtensionInit

  lt1-shape.o:     file format elf32-i386
  00000000 g     F .text  0000009d ShapeExtensionInit

  lt4-lt1-shape.o:     file format elf32-i386
  00000000 g     F .text  0000009d ShapeExtensionInit

This is with xorg-xserver 1.1.99.3 and also with previous official 
version.

This is under NetBSD with gcc 3.3.3.

But with my successul (no pkgsrc) I have:

  shape.o:     file format elf32-i386

But no lt1-shape.o and no lt4-lt1-shape.o.

The source includes:
  ltmain.sh (GNU libtool) 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 
  22:14:06)

While with pkgsrc it is:
  ltmain.sh (GNU libtool) 1.5.18 (1.1220.2.245 2005/05/16 08:55:27)

Many, many differences between these libtool versions.

What is creating or using these problem lt1-shape.o and lt4-lt1-shape.o 
objects?

Thanks,

Jeremy C. Reed