[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: