Package: muddleftpd
Version: 1.3.13.1-4.2
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch oneiric

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

  https://bugs.launchpad.net/ubuntu/+source/muddleftpd/+bug/771107

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.

--- muddleftpd-1.3.13.1.orig/src/Makefile.in
+++ muddleftpd-1.3.13.1/src/Makefile.in
@@ -87,19 +87,19 @@
        $(CC) $(CFLAGS) -DDATESTR="\"$(shell date)\"" -c $(@:.o=.c) -o $@
 
 $(WHOPROG): $(WHOOBJ)
-       $(CC) $(CFLAGS) $(LIBS) -o $(WHOPROG) $(WHOOBJ)
+       $(CC) $(CFLAGS) -o $(WHOPROG) $(WHOOBJ) $(LIBS)
 
 $(MUDPASSWDPROG): $(MUDPASSWDOBJ)
-       $(CC) $(CFLAGS) $(LIBS) -o $(MUDPASSWDPROG) $(MUDPASSWDOBJ)
+       $(CC) $(CFLAGS) -o $(MUDPASSWDPROG) $(MUDPASSWDOBJ) $(LIBS)
 
 $(RATIOTOOLPROG): $(RATIOTOOLOBJ)
-       $(CC) $(CFLAGS) $(LIBS) -o $(RATIOTOOLPROG) $(RATIOTOOLOBJ)
+       $(CC) $(CFLAGS) -o $(RATIOTOOLPROG) $(RATIOTOOLOBJ) $(LIBS)
 
 $(MUDOUTPROG): $(OBJ)
-       $(CC) $(CFLAGS) $(LIBS) -o $(MUDOUTPROG) $(OBJ)
+       $(CC) $(CFLAGS) -o $(MUDOUTPROG) $(OBJ) $(LIBS)
 
 $(MUDLOGD): $(MUDLOGDOBJ)
-       $(CC) $(CFLAGS) $(LIBS) -o $(MUDLOGD) $(MUDLOGDOBJ)
+       $(CC) $(CFLAGS) -o $(MUDLOGD) $(MUDLOGDOBJ) $(LIBS)
 
 install: all
        mkdir -p $(BINDIR)

Thanks,

-- 
Colin Watson                                       [cjwat...@ubuntu.com]



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to