btnx version 0.4.11-3ubuntu1 failed to build on i386

Bug #730121 reported by Tarun K. Mall
26
This bug affects 2 people
Affects Status Importance Assigned to Milestone
btnx (Ubuntu)
Fix Released
High
Unassigned
Oneiric
Fix Released
High
Unassigned

Bug Description

Binary package hint: btnx

Package failed to build on Natty machine.
Here is the error log:

i686-linux-gnu-gcc -Wall -Werror -W -Wunused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wswitch -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls `pkg-config --cflags libdaemon` -Wall -g -O2 `pkg-config --libs libdaemon` -Wl,-z,defs -o btnx btnx.o config_parser.o device.o revoco.o uinput.o
btnx.o: In function `config_switch':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:224: undefined reference to `daemon_log'
btnx.o: In function `command_execute':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:191: undefined reference to `daemon_log'
btnx.o: In function `config_switch':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:229: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:231: undefined reference to `daemon_signal_done'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:232: undefined reference to `daemon_pid_file_remove'
btnx.o: In function `main':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:351: undefined reference to `daemon_ident_from_argv0'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:352: undefined reference to `daemon_log_use'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:351: undefined reference to `daemon_log_ident'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:351: undefined reference to `daemon_pid_file_ident'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:362: undefined reference to `daemon_pid_file_is_running'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:363: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:364: undefined reference to `daemon_pid_file_kill_wait'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:374: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:411: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:414: undefined reference to `daemon_fork'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:424: undefined reference to `daemon_pid_file_create'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:433: undefined reference to `daemon_signal_init'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:439: undefined reference to `daemon_signal_fd'
btnx.o: In function `main_args':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:317: undefined reference to `daemon_log_use'
btnx.o: In function `main':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:393: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:379: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:434: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:530: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:533: undefined reference to `daemon_signal_done'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:535: undefined reference to `daemon_pid_file_remove'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:471: undefined reference to `daemon_signal_next'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:480: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:457: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:485: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:425: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:530: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:533: undefined reference to `daemon_signal_done'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:465: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:472: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:365: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:366: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:368: undefined reference to `daemon_pid_file_remove'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:415: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:357: undefined reference to `daemon_pid_file_kill_wait'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:358: undefined reference to `daemon_log'
btnx.o: In function `main_args':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:310: undefined reference to `daemon_log'
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:322: undefined reference to `daemon_log'
btnx.o: In function `main':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:419: undefined reference to `daemon_log'
btnx.o: In function `main_args':
/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:302: undefined reference to `daemon_log'
btnx.o:/home/tarun/source/btnx/btnx-0.4.11/src/btnx.c:387: more undefined references to `daemon_log' follow
collect2: ld returned 1 exit status
make[3]: *** [btnx] Error 1
make[3]: Leaving directory `/home/tarun/source/btnx/btnx-0.4.11/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/tarun/source/btnx/btnx-0.4.11'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/tarun/source/btnx/btnx-0.4.11'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1335:

Related branches

Tarun K. Mall (c2tarun)
Changed in btnx (Ubuntu):
status: New → Confirmed
assignee: nobody → Tarun K. Mall (c2tarun)
Tarun K. Mall (c2tarun)
Changed in btnx (Ubuntu):
status: Confirmed → In Progress
Tarun K. Mall (c2tarun)
Changed in btnx (Ubuntu):
assignee: Tarun K. Mall (c2tarun) → nobody
status: In Progress → Confirmed
Changed in btnx (Ubuntu):
assignee: nobody → Chris Coulson (chrisccoulson)
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thanks, but this fix is not correct.

Your change patches a correctly generated Makefile.in, which means that your changes will be overwritten next time someone runs automake, and it's not something that could be accepted upstream.

The real bug here is that the output of "pkg-config --libs libdaemon" is assigned to btnx_LDFLAGS in src/Makefile.am. This should be btnx_LDADD instead, and then the linker flags will be ordered correctly in src/Makefile.in

Changed in btnx (Ubuntu):
assignee: Chris Coulson (chrisccoulson) → Tarun K. Mall (c2tarun)
status: Confirmed → Incomplete
Changed in btnx (Ubuntu):
status: Incomplete → In Progress
Tarun K. Mall (c2tarun)
Changed in btnx (Ubuntu):
assignee: Tarun K. Mall (c2tarun) → nobody
status: In Progress → Confirmed
Revision history for this message
Tarun K. Mall (c2tarun) wrote :
Revision history for this message
Dave Walker (davewalker) wrote :

As discussed with Tarun, as the Natty toolchain has reverted the "ld --as-needed" option - this package no longer FTBFS. However, when the next development cycle opens - this will be an issue. The patch has been submitted to Debian, which will hopefully be applied - and we can sync next cycle.

unsubscribing ~ubuntu-sponsors.

Thanks for your work Tarun!

summary: - pacakge btnx_0.4.11-3ubuntu1 failed to build from source
+ pacakge btnx_0.4.11-3ubuntu1 failed to build from source with "ld --as-
+ needed"
Revision history for this message
Stefano Rivera (stefanor) wrote : Re: pacakge btnx_0.4.11-3ubuntu1 failed to build from source with "ld --as-needed"

Dave: *Has* This patch been submitted to Debian? I don't see it in the BTS...

Unfortunatly this patch isn't enough for it to build. It's now running into unused-but-set:

x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Werror -W -Wunused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wswitch -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls `pkg-config --cflags libdaemon` -Wall -g -O2 -MT uinput.o -MD -MP -MF .deps/uinput.Tpo -c -o uinput.o uinput.c
uinput.c: In function 'uinput_init':
uinput.c:37:10: error: variable 'ignore' set but not used [-Werror=unused-but-set-variable]

tags: added: ftbfs ld-as-needed unused-but-set
tags: added: patch
summary: - pacakge btnx_0.4.11-3ubuntu1 failed to build from source with "ld --as-
- needed"
+ btnx version 0.4.11-3ubuntu1 failed to build on i386
Changed in btnx (Ubuntu):
importance: Undecided → High
Revision history for this message
Matthias Klose (doko) wrote :

incomplete patch

tags: removed: patch
Revision history for this message
Matthias Klose (doko) wrote :

uploaded with CFLAGS += -Wno-error=unused-but-set-variable

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package btnx - 0.4.11-3ubuntu2

---------------
btnx (0.4.11-3ubuntu2) oneiric; urgency=low

  * src/Makefile.am: btnx_LDFLAGS->btnx_LDADD fix FTBFS (LP: #730121)
 -- Tarun Kumar Mall <email address hidden> Tue, 08 Mar 2011 08:28:34 +0000

Changed in btnx (Ubuntu Oneiric):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.