Your message dated Tue, 21 Feb 2012 09:49:52 +0000
with message-id <[email protected]>
and subject line Bug#660546: Removed package(s) from unstable
has caused the Debian Bug report #641286,
regarding ldapdns: FTBFS with ld that defaults to --as-needed: bad link order
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
641286: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641286
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ldapdns
Version: 2.06-3.4
Severity: important
Tags: patch
User: [email protected]
Usertags: origin-ubuntu ubuntu-patch oneiric

ldapdns fails to build with a linker that defaults to --as-needed, as
shown in this Ubuntu bug report:

  https://bugs.launchpad.net/ubuntu/+source/ldapdns/+bug/770748

This is because of incorrect link ordering: it puts libraries before the
objects that use them rather than after.  See:

  http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

The following patch fixes this.

  * Fix link order to list libraries after the objects that require them.

--- ldapdns-2.06.orig/debian/patches/005-link_order.patch
+++ ldapdns-2.06/debian/patches/005-link_order.patch
@@ -0,0 +1,100 @@
+diff -ru ldapdns-2.06.orig/Makefile.defs ldapdns-2.06/Makefile.defs
+--- ldapdns-2.06.orig/Makefile.defs    2002-11-16 04:12:11.000000000 +0000
++++ ldapdns-2.06/Makefile.defs 2011-09-12 13:19:40.000000000 +0100
+@@ -4,9 +4,9 @@
+ 
+ all: ldapdns ldapaxfr
+ ldapdns: udpserver.o $(CORE)
+-      $(CC) $(CFLAGS) $(LFLAGS) -o $@ udpserver.o $(CORE)
++      $(CC) $(CFLAGS) -o $@ udpserver.o $(CORE) $(LFLAGS)
+ ldapaxfr: tcpserver.o $(CORE)
+-      $(CC) $(CFLAGS) $(LFLAGS) -o $@ tcpserver.o $(CORE)
++      $(CC) $(CFLAGS) -o $@ tcpserver.o $(CORE) $(LFLAGS)
+ 
+ error.o: error.c version.h str.h
+ udpserver.o: udpserver.c env.h config.h ldapdns.h
+diff -ru ldapdns-2.06.orig/configure ldapdns-2.06/configure
+--- ldapdns-2.06.orig/configure        2004-12-31 03:15:21.000000000 +0000
++++ ldapdns-2.06/configure     2011-09-12 13:19:13.000000000 +0100
+@@ -252,12 +252,12 @@
+ #include <pthread.h>
+ int main(int argc, char *argv[]) { pthread_create(0,0,0,0); return 0; }
+ __test_1_eof
+-if $CC $LIBS $CFLAGS -o test_1 test_1.c >/dev/null 2>&1; then
++if $CC $CFLAGS -o test_1 test_1.c $LIBS >/dev/null 2>&1; then
+       echo "ok"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lc_r >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lc_r >/dev/null 2>&1; then
+       echo "-lc_r"
+       LIBS="$LIBS -lc_r"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lpthread >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lpthread >/dev/null 2>&1; then
+       echo "-lpthread"
+       LIBS="$LIBS -lpthread"
+ else
+@@ -270,7 +270,7 @@
+ #include <pthread.h>
+ int main(int argc, char *argv[]) { pthread_kill_other_threads_np(); return 0; 
}
+ __test_1_eof
+-if $CC $LIBS $CFLAGS -o test_1 test_1.c >/dev/null 2>&1; then
++if $CC $CFLAGS -o test_1 test_1.c $LIBS >/dev/null 2>&1; then
+       echo "pthread_kill_other_threads_np"
+       CFLAGS="$CFLAGS -DHAVE_pthread_kill_other_threads_np"
+ else
+@@ -285,36 +285,36 @@
+ #include <lber.h>
+ int main(int argc, char *argv[]) { LDAP *x = ldap_open(0,0); bind(0,0,0); 
connect(0,0,0); return 0; }
+ __test_1_eof
+-if $CC $LIBS $CFLAGS -o test_1 test_1.c >/dev/null 2>&1; then
++if $CC $CFLAGS -o test_1 test_1.c $LIBS >/dev/null 2>&1; then
+       echo "ok"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket >/dev/null 2>&1; then
+       echo "-lsocket"
+       LIBS="$LIBS -lsocket"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket -lnsl -lssl >/dev/null 
2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket -lnsl -lssl >/dev/null 
2>&1; then
+       echo "-lsocket -lnsl"
+       LIBS="$LIBS -lsocket -lnsl"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket -lnsl >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket -lnsl >/dev/null 2>&1; then
+       echo "-lsocket -lnsl"
+       LIBS="$LIBS -lsocket -lnsl"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lresolv >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lresolv >/dev/null 2>&1; then
+       echo "-lresolv"
+       LIBS="$LIBS -lresolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lrt -lresolv >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lrt -lresolv >/dev/null 2>&1; then
+       echo "-lrt -lresolv"
+       LIBS="$LIBS -lrt -lresolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lrt -lresolv -lssl >/dev/null 
2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lrt -lresolv -lssl >/dev/null 
2>&1; then
+       echo "-lrt -lresolv"
+       LIBS="$LIBS -lrt -lresolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket -lresolv >/dev/null 2>&1; 
then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket -lresolv >/dev/null 2>&1; 
then
+       echo "-lsocket -lresolv"
+       LIBS="$LIBS -lsocket -resolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket -lnsl -lresolv >/dev/null 
2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket -lnsl -lresolv >/dev/null 
2>&1; then
+       echo "-lsocket -lnsl -lresolv"
+       LIBS="$LIBS -lsocket -lnsl -resolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lsocket -lnsl -lresolv -lssl 
>/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lsocket -lnsl -lresolv -lssl 
>/dev/null 2>&1; then
+       echo "-lsocket -lnsl -lresolv"
+       LIBS="$LIBS -lsocket -lnsl -resolv"
+-elif $CC $LIBS $CFLAGS -o test_1 test_1.c -lcrypto -lssl -lrt -lresolv 
-lsocket -lnsl >/dev/null 2>&1; then
++elif $CC $CFLAGS -o test_1 test_1.c $LIBS -lcrypto -lssl -lrt -lresolv 
-lsocket -lnsl >/dev/null 2>&1; then
+       echo "-lcrypto -lssl -lrt -lresolv -lsocket -lnsl"
+       LIBS="$LIBS -lcrypto -lssl -lrt -lresolv -lsocket -lnsl"
+ else
+@@ -329,7 +329,7 @@
+ #include <lber.h>
+ int main(int argc, char *argv[]) { ldap_enable_cache(0, 1, 0); }
+ __test_1_eof
+-if $CC $LIBS $CFLAGS -o test_1 test_1.c >/dev/null 2>&1; then
++if $CC $CFLAGS -o test_1 test_1.c $LIBS >/dev/null 2>&1; then
+       echo "yes"
+       CFLAGS="$CFLAGS -DACCELERATE_CACHE"
+ else

-- 
Colin Watson                                       [[email protected]]



--- End Message ---
--- Begin Message ---
Version: 2.06-3.4+rm

Dear submitter,

as the package ldapdns has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see http://bugs.debian.org/660546

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].

Debian distribution maintenance software
pp.
Ansgar Burchardt (the ftpmaster behind the curtain)


--- End Message ---

Reply via email to