Package: nilfs-tools
Version: 2.1.0~rc2-1
Severity: serious
Tags: upstream patch
Justification: fails to build from source (but built successfully in the past)
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Hello,

The package fails to build when --as-needed linker option is enabled,
because of incorrect order of parameters passed to ld. Here's the log of
failed build:
https://launchpad.net/~randomaction/+archive/ppa/+build/2883275/+files/buildlog_ubuntu-precise-i386.nilfs-tools_2.1.0%7Erc2-1build1%7Eppa1_FAILEDTOBUILD.txt.gz

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

Attached patch was used in Ubuntu to fix the problem.

-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric-updates
  APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 
'oneiric-proposed'), (500, 'oneiric'), (100, 'oneiric-backports')
Architecture: i386 (i686)

Kernel: Linux 3.0.0-13-generic (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Description: fix FTBFS with as-needed linker option
 libnilfscleaner.so uses symbols from libnilfs.so, so it should come first in
 the argument list
Author: Ilya Barygin <randomact...@ubuntu.com>
--- nilfs-tools-2.1.0~rc2.orig/sbin/nilfs-clean/Makefile.am
+++ nilfs-tools-2.1.0~rc2/sbin/nilfs-clean/Makefile.am
@@ -2,8 +2,8 @@
 
 AM_CFLAGS = -Wall
 AM_CPPFLAGS = -I$(top_srcdir)/include
-LDADD = $(top_builddir)/lib/libnilfs.la \
-       $(top_builddir)/lib/libnilfscleaner.la
+LDADD = $(top_builddir)/lib/libnilfscleaner.la \
+       $(top_builddir)/lib/libnilfs.la
 
 sbin_PROGRAMS = nilfs-clean
 
--- nilfs-tools-2.1.0~rc2.orig/sbin/nilfs-clean/Makefile.in
+++ nilfs-tools-2.1.0~rc2/sbin/nilfs-clean/Makefile.in
@@ -182,8 +182,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AM_CFLAGS = -Wall
 AM_CPPFLAGS = -I$(top_srcdir)/include
-LDADD = $(top_builddir)/lib/libnilfs.la \
-       $(top_builddir)/lib/libnilfscleaner.la
+LDADD = $(top_builddir)/lib/libnilfscleaner.la \
+       $(top_builddir)/lib/libnilfs.la
 
 nilfs_clean_SOURCES = nilfs-clean.c
 all: all-am

Reply via email to