[FTBFS] Package cryptkeeper 0.9.4-1 in natty

Bug #697031 reported by Mahyuddin Susanto
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cryptkeeper (Debian)
Fix Released
Unknown
cryptkeeper (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: cryptkeeper

Tried to build your package and it fails to build with GNU binutils-gold. The
important difference is that --no-add-needed is the default behavior of of GNU
binutils-gold. Please provide all needed libraries to the linker when building
your executables.

Log:
http://people.ubuntuwire.org/~lucas/ubuntu-nbs/32/cryptkeeper_0.9.4-1_lubuntu32.buildlog

Last Log:
g++ -g -O2 -g -Wall -O2 -pthread -DORBIT2=1 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -Wl,-Bsymbolic-functions -o cryptkeeper encfs_wrapper.o ConfigDialog.o ImportStashWizard.o CreateStashWizard.o PasswordChangeDialog.o main.o gtkstatusicon.o gtktrayicon-x11.o PasswordEntryDialog.o lsof.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lgconf-2 -lglib-2.0
/usr/bin/ld: gtktrayicon-x11.o: undefined reference to symbol 'XFlush'
/usr/bin/ld: note: 'XFlush' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[3]: *** [cryptkeeper] Error 1
make[3]: Leaving directory `/build/user-cryptkeeper_0.9.4-1-i386-MFtb8q/cryptkeeper-0.9.4/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/user-cryptkeeper_0.9.4-1-i386-MFtb8q/cryptkeeper-0.9.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/build/user-cryptkeeper_0.9.4-1-i386-MFtb8q/cryptkeeper-0.9.4'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Related branches

Changed in cryptkeeper (Ubuntu):
status: New → In Progress
assignee: nobody → Mahyuddin Susanto (udienz)
Revision history for this message
Mahyuddin Susanto (udienz) wrote :
Changed in cryptkeeper (Ubuntu):
assignee: Mahyuddin Susanto (udienz) → nobody
status: In Progress → Confirmed
Revision history for this message
Bhavani Shankar (bhavi) wrote :

Thanks for your work there

processing it now

regards

Revision history for this message
Bhavani Shankar (bhavi) wrote :
Download full text (20.6 KiB)

Hello mahyuddin

I found a change

+unit_test_LDADD = @LDADD@ -lX11 -lXext

in src/Makefile.*

can you please explain why is this change required?

I am able to build the package here without this change

tail of my log

cd . && CFLAGS="-g -O2 -g -Wall -O2" CXXFLAGS="-g -O2 -g -Wall -O2" CPPFLAGS="" LDFLAGS="-Wl,-Bsymbolic-functions" /tmp/buildd/cryptkeeper-0.9.4/./configure --build=i686-linux-gnu --prefix=/usr --includedir="\${prefix}/include" --mandir="\${prefix}/share/man" --infodir="\${prefix}/share/info" --sysconfdir=/etc --localstatedir=/var --libexecdir="\${prefix}/lib/cryptkeeper" --disable-maintainer-mode --disable-dependency-tracking --disable-silent-rules --srcdir=.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEP... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
touch debian/stamp-autotools
msgfmt -c --statistics -o po/tr.gmo po/tr.po
50 translated messages, 2 fuzzy translations.
/usr/bin/make -C .
make[1]: Entering directory `/tmp/buildd/cryptkeeper-0.9.4'
/usr/bin/make all-recursive...

Changed in cryptkeeper (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Mahyuddin Susanto (udienz) wrote : Re: [Bug 697031] Re: [FTBFS] Package cryptkeeper 0.9.4-1 in natty

On 01/04/2011 01:03 PM, Bhavani Shankar wrote:

> dpkg-deb: warning: 'debian/cryptkeeper/DEBIAN/control' contains user-defined field 'Original-Maintainer'
> dpkg-deb: building package `cryptkeeper' in `../cryptkeeper_0.9.4-1ubuntu1_i386.deb'.
> dpkg-deb: warning: ignoring 1 warning about the control file(s)
>
> dpkg-genchanges >../cryptkeeper_0.9.4-1ubuntu1_i386.changes

it's Ubuntu version, that mean src/Makefile* already patched. last
version is not cryptkeeper_0.9.4-1ubuntu1, but cryptkeeper_0.9.4

udienz@canopus:/tmp/cryptkeeper-0.9.4$ head -n1 debian/changelog
cryptkeeper (0.9.4-1) unstable; urgency=low

if src/Makefile* is not changed i got errors

/usr/bin/ld: note: 'XFlush' is defined in DSO /usr/lib/libX11.so.6 so
try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[3]: *** [cryptkeeper] Error 1
make[3]: Leaving directory `/tmp/cryptkeeper-0.9.4/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/cryptkeeper-0.9.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/cryptkeeper-0.9.4'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
udienz@canopus:/tmp/cryptkeeper-0.9.4$

And if applied my patch,
udienz@canopus:/tmp/cryptkeeper-0.9.4$ wget
http://launchpadlibrarian.net/61592235/cryptkeeper_0.9.4-1ubuntu1.dsc.debdiff
udienz@canopus:/tmp/cryptkeeper-0.9.4$ patch -p1 <
cryptkeeper_0.9.4-1ubuntu1.dsc.debdiff
patching file debian/changelog
patching file debian/control
patching file debian/patches/binutils-gold.patch
udienz@canopus:/tmp/cryptkeeper-0.9.4$ rm
cryptkeeper_0.9.4-1ubuntu1.dsc.debdiff
udienz@canopus:/tmp/cryptkeeper-0.9.4$ dpkg-buildpackage -rfakeroot
dpkg-deb: warning: 'debian/cryptkeeper/DEBIAN/control' contains
user-defined field 'Original-Maintainer'
dpkg-deb: building package `cryptkeeper' in
`../cryptkeeper_0.9.4-1ubuntu1_i386.deb'.
dpkg-deb: warning: ignoring 1 warning about the control file(s)

 signfile cryptkeeper_0.9.4-1ubuntu1.dsc

You need a passphrase to unlock the secret key for
user: "Mahyuddin Susanto <email address hidden>"
1024-bit DSA key, ID 8E7A9CB0, created 2009-05-11

gpg: gpg-agent is not available in this session

 dpkg-genchanges >../cryptkeeper_0.9.4-1ubuntu1_i386.changes
dpkg-genchanges: not including original source code in upload
 signfile cryptkeeper_0.9.4-1ubuntu1_i386.changes

You need a passphrase to unlock the secret key for
user: "Mahyuddin Susanto <email address hidden>"
1024-bit DSA key, ID 8E7A9CB0, created 2009-05-11

gpg: gpg-agent is not available in this session

 dpkg-source --after-build cryptkeeper-0.9.4
dpkg-buildpackage: binary and diff upload (original source NOT included)
udienz@canopus:/tmp/cryptkeeper-0.9.4$ lsb_release -r -c
Release: 11.04
Codename: natty

Success!

--
Mahyuddin Susanto (udienz)
https://launchpad.net/~udienz

Revision history for this message
Bhavani Shankar (bhavi) wrote :
Download full text (20.7 KiB)

Addendum

btw without the src/Makefile.am change of

cryptkeeper_LDADD = @LDADD@ -lX11 -lXext

it builds fine

PS: I made the changes by hand to the debian package cryptkeeper-0.9.4 and tested it out

tail of my pbuilder log

cd . && CFLAGS="-g -O2 -g -Wall -O2" CXXFLAGS="-g -O2 -g -Wall -O2" CPPFLAGS="" LDFLAGS="-Wl,-Bsymbolic-functions" /tmp/buildd/cryptkeeper-0.9.4/./configure --build=i686-linux-gnu --prefix=/usr --includedir="\${prefix}/include" --mandir="\${prefix}/share/man" --infodir="\${prefix}/share/info" --sysconfdir=/etc --localstatedir=/var --libexecdir="\${prefix}/lib/cryptkeeper" --disable-maintainer-mode --disable-dependency-tracking --disable-silent-rules --srcdir=.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEP... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
touch debian/stamp-autotools
msgfmt -c --statistics -o po/tr.gmo po/tr.po
50 translated messages, 2 fuzzy translations.
/usr/bin/make -C .
make[1]: Entering directory `/tmp/buildd/cryptkeeper-0.9.4'
/usr/bin/make all-rec...

Revision history for this message
Mahyuddin Susanto (udienz) wrote :

I think it not good idea to leave Makefile.am unchanged, because Makefile.in produced from Makefile.am.

Revision history for this message
Bhavani Shankar (bhavi) wrote :

yes mahyuddin

sorry for that

regards

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

This bug was fixed in the package cryptkeeper - 0.9.4-1ubuntu1

---------------
cryptkeeper (0.9.4-1ubuntu1) natty; urgency=low

  [ Mahyuddin Susanto <email address hidden> ]
  * debian/patches/binutils-gold.patch
    - fix FTBFS with ld --no-add-needed. (LP: #697031)

  [ Bhavani Shankar <email address hidden> ]
  * Remove unneeded unit_test_LDADD hunk in the above patch
    - Refresh debian/patches/binutils-gold.patch
 -- Mahyuddin Susanto <email address hidden> Tue, 04 Jan 2011 06:40:02 +0700

Changed in cryptkeeper (Ubuntu):
status: Incomplete → Fix Released
Changed in cryptkeeper (Debian):
status: Unknown → New
Changed in cryptkeeper (Debian):
status: New → Fix Released
Changed in cryptkeeper (Debian):
status: Fix Released → New
Changed in cryptkeeper (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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