Bug#671016: ax25-tools: FTBFS with ld --as-needed
Package: ax25-tools
Version: 0.0.10-rc2+cvs20120204-3
Severity: normal
User: debian-gcc@lists.debian.org
Usertags: ld-as-needed
Tags: patch
Hello,
trying to build your package in Ubuntu failed as the linking doesn't
respect the needed argument order for linking with ld --as-needed:
,----[ https://launchpadlibrarian.net/103676001/buildlog_ubuntu-quantal-i386.ax25-tools_0.0.10-rc2%2Bcvs20120204-3_FAILEDTOBUILD.txt.gz ]-
| g++ -g -O2 -lX11 -lfltk -lGL -lSM -lICE -lXi -lXext -lX11 ../hdrvcomm.o -o xfsmmixer xfsmmixer.o xfsmmixer_main.o
| xfsmmixer_main.o: In function `main':
| /build/buildd/ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/xfsmmixer_main.cxx:321: undefined reference to `Fl::arg(int, char**, int&)'
| /build/buildd/ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/xfsmmixer_main.cxx:416: undefined reference to `Fl_Slider::bounds(double, double)'
| /build/buildd/ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/xfsmmixer_main.cxx:418: undefined reference to `Fl_Valuator::value(double)'
| /build/buildd/ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/xfsmmixer_main.cxx:420: undefined reference to `Fl_Slider::bounds(double, double)'
| /build/buildd/ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/xfsmmixer_main.cxx:422: undefined reference to `Fl_Valuator::value(double)'
`----
Attached is a patch to fix it but it would be nice if someone more
experienced with autotools double checked it (I also patched Makefile.in
instead of regenerating it to keep the changes small).
Regards,
Michael
diff -u ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/Makefile.in ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/Makefile.in
--- ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/Makefile.in
+++ ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/Makefile.in
@@ -50,16 +50,16 @@
am_xfhdlcchpar_OBJECTS = xfhdlcchpar.$(OBJEXT) \
xfhdlcchpar_main.$(OBJEXT)
xfhdlcchpar_OBJECTS = $(am_xfhdlcchpar_OBJECTS)
-xfhdlcchpar_LDADD = $(LDADD)
+xfhdlcchpar_LDADD = $(LDADD) ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
am_xfhdlcst_OBJECTS = xfhdlcst.$(OBJEXT) xfhdlcst_main.$(OBJEXT)
xfhdlcst_OBJECTS = $(am_xfhdlcst_OBJECTS)
-xfhdlcst_LDADD = $(LDADD)
+xfhdlcst_LDADD = $(LDADD) ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
am_xfsmdiag_OBJECTS = xfsmdiag.$(OBJEXT) xfsmdiag_main.$(OBJEXT)
xfsmdiag_OBJECTS = $(am_xfsmdiag_OBJECTS)
-xfsmdiag_LDADD = $(LDADD)
+xfsmdiag_LDADD = $(LDADD) ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
am_xfsmmixer_OBJECTS = xfsmmixer.$(OBJEXT) xfsmmixer_main.$(OBJEXT)
xfsmmixer_OBJECTS = $(am_xfsmmixer_OBJECTS)
-xfsmmixer_LDADD = $(LDADD)
+xfsmmixer_LDADD = $(LDADD) ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -184,8 +184,6 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = $(X_CFLAGS) -I$(srcdir)/..
-LDDADD = ../hdrvcomm.o
-AM_LDFLAGS = $(X_LIBS) -lX11 $(FLTK_LIB) $(LDDADD)
xfsmmixer_SOURCES = xfsmmixer.cxx xfsmmixer_main.cxx xfsmmixer.h
xfhdlcchpar_SOURCES = xfhdlcchpar.cxx xfhdlcchpar_main.cxx xfhdlcchpar.h
xfhdlcst_SOURCES = xfhdlcst.cxx xfhdlcst_main.cxx xfhdlcst.h
--- ax25-tools-0.0.10-rc2+cvs20120204.orig/hdlcutil/fl/Makefile.am
+++ ax25-tools-0.0.10-rc2+cvs20120204/hdlcutil/fl/Makefile.am
@@ -4,12 +4,15 @@
endif
AM_CPPFLAGS = $(X_CFLAGS) -I$(srcdir)/..
-LDDADD = ../hdrvcomm.o
-AM_LDFLAGS = $(X_LIBS) -lX11 $(FLTK_LIB) $(LDDADD)
xfsmmixer_SOURCES = xfsmmixer.cxx xfsmmixer_main.cxx xfsmmixer.h
xfhdlcchpar_SOURCES = xfhdlcchpar.cxx xfhdlcchpar_main.cxx xfhdlcchpar.h
xfhdlcst_SOURCES = xfhdlcst.cxx xfhdlcst_main.cxx xfhdlcst.h
xfsmdiag_SOURCES = xfsmdiag.cxx xfsmdiag_main.cxx xfsmdiag.h xfsmdiag_main.h
+xfsmmixer_LDADD = ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
+xfhdlcchpar_LDADD = ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
+xfhdlcst_LDADD = ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
+xfsmdiag_LDADD = ../hdrvcomm.o $(X_LIBS) -lX11 $(FLTK_LIB)
+
hdrvcomm.o: ../hdrvcomm.o
Reply to: