Or something in the build environment?
* I've looked throught logs a bit and saw a different gcc/g++ version
  on hurd-i386.
* More promising: in my i386 sid cowbuilder chroot, the build
  succeeds with binutils-gold installed and fails without it.
heh it's usually the other way round ;) I guess I must have had binutils-gold
installed when I was prepping the patch.

The problem seems to be wrong ordering of arguments on the linker command line. It seems that with the link options this package uses and with regular ld that if a static library needs symbols provided by another libary* then the libary that needs the
symbols must be before the libary providing them on the linker command line.

A patch reordering the linking is attatched, please add it to the quilt series. I can confirm that with this patch the package builds with both regular binutils and
binutils.gold.

*Unfortunately static libraries unlike dynamic libraries do not have an internal dependency
list :(
Index: libdecodeqr-0.9.3/src/sample/simple/Makefile.in
===================================================================
--- libdecodeqr-0.9.3.orig/src/sample/simple/Makefile.in	2012-01-08 00:09:37.000000000 +0000
+++ libdecodeqr-0.9.3/src/sample/simple/Makefile.in	2012-01-08 00:09:37.000000000 +0000
@@ -20,7 +20,7 @@
 
 LIBCV=@LIBCV@
 LIBHIGHGUI=@LIBHIGHGUI@
-LIBS=$(LIBHIGHGUI) -lcxcore -ldecodeqr $(LIBCV)
+LIBS=-ldecodeqr $(LIBHIGHGUI) -lcxcore $(LIBCV)
 
 LDFLAGS=@LDFLAGS@ -L$(LIBDECODEQR_DIR)
 
Index: libdecodeqr-0.9.3/src/sample/webcam/Makefile.in
===================================================================
--- libdecodeqr-0.9.3.orig/src/sample/webcam/Makefile.in	2012-01-08 00:09:37.000000000 +0000
+++ libdecodeqr-0.9.3/src/sample/webcam/Makefile.in	2012-01-08 00:11:41.000000000 +0000
@@ -20,7 +20,7 @@
 
 LIBCV=@LIBCV@
 LIBHIGHGUI=@LIBHIGHGUI@
-LIBS=$(LIBHIGHGUI) -lcxcore -ldecodeqr $(LIBCV)
+LIBS=-ldecodeqr $(LIBHIGHGUI) -lcxcore $(LIBCV)
 
 LDFLAGS=@LDFLAGS@ -L$(LIBDECODEQR_DIR)
 

Reply via email to