monotone: mtn: Symbol has different size in shared object, consider re-linking

Bug #1696883 reported by DouglasDD
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
monotone (Ubuntu)
New
Undecided
Unassigned

Bug Description

Monotone commands run, and return success, but every invocation spews linking warnings to stderr:

0 $ /usr/bin/mtn --version
/usr/bin/mtn: Symbol `_ZTVN5Botan17DataSource_MemoryE' has different size in shared object, consider re-linking
monotone 1.0 (base revision: a7c3a1d9de1ba7a62c9dd9efee17252234bb502c)

(I've worked around this by putting a pre-built binary from <monotone.ca> into /usr/local/bin/
    BUT reported & documented this bug for the sake of fixing
    whatever tools and process led to this state)

#### Summary
/usr/bin/mtn 1.0-12 (amd64) on trusty 14.04.5 LTS
Linking issue with libbotan 1.10.5-1+deb7u1ubuntu0.14.04.1
    vtable for Botan::DataSource_Memory

#### Debugging & Details
I've run `sudo apt-get update` and `sudo apt-get upgrade` today.

### Distro
0 $ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

## STDERR & success:
0 $ /usr/bin/mtn --version 2>/dev/null && echo True
monotone 1.0 (base revision: a7c3a1d9de1ba7a62c9dd9efee17252234bb502c)
True

## Version
0 $ dpkg -l | egrep 'mtn|monotone'
ii monotone 1.0-12 amd64 Distributed version (revision) control system
ii monotone-extras 1.0-12 all Distributed version (revision) control system - extras

## Find the problem shared library
0 $ apt-cache show monotone | grep ^Depend
Depends: libbotan-1.10-0, libc6 (>= 2.15), libgcc1 (>= 1:4.1.1), libidn11 (>= 1.13), liblua5.1-0, libpcre3, libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 4.6), zlib1g (>= 1:1.1.4), bash (>= 4.0)

0 $ dpkg -l | grep libbotan\\b
ii libbotan-1.10-0 1.10.5-1+deb7u1ubuntu0.14.04.1 amd64 multiplatform crypto library

0 $ dpkg -L libbotan-1.10-0 | egrep \\.so | xargs ls -l
lrwxrwxrwx 1 root root 20 Aug 20 2016 /usr/lib/libbotan-1.10.so.0 -> libbotan-1.10.so.0.5
-rw-r--r-- 1 root root 3098696 Aug 20 2016 /usr/lib/libbotan-1.10.so.0.5

0 $ objdump -T /usr/lib/libbotan-1.10.so.0.5 | grep '_ZTVN5Botan17DataSource_MemoryE'
00000000004e1dc0 w DO .data.rel.ro 0000000000000048 Base _ZTVN5Botan17DataSource_MemoryE

0 $ objdump -TC /usr/lib/libbotan-1.10.so.0.5 | egrep '\bDataSource.*Memory\b'
000000000013fde0 g DF .text 000000000000000f Base Botan::DataSource_Memory::check_available(unsigned long)
0000000000140d50 w DF .text 0000000000000063 Base Botan::DataSource_Memory::~DataSource_Memory()
00000000004e1d70 w DO .data.rel.ro 0000000000000018 Base typeinfo for Botan::DataSource_Memory
0000000000140b90 g DF .text 000000000000013f Base Botan::DataSource_Memory::DataSource_Memory(std::string const&)
00000000004e1dc0 w DO .data.rel.ro 0000000000000048 Base vtable for Botan::DataSource_Memory
0000000000140a50 g DF .text 000000000000013f Base Botan::DataSource_Memory::DataSource_Memory(unsigned char const*, unsigned long)
0000000000140cd0 w DF .text 0000000000000071 Base Botan::DataSource_Memory::~DataSource_Memory()
0000000000140580 g DF .text 000000000000014f Base Botan::DataSource_Memory::DataSource_Memory(Botan::MemoryRegion<unsigned char> const&)
000000000026ddb0 w DO .rodata 000000000000001c Base typeinfo name for Botan::DataSource_Memory
0000000000140cd0 w DF .text 0000000000000071 Base Botan::DataSource_Memory::~DataSource_Memory()
0000000000140b90 g DF .text 000000000000013f Base Botan::DataSource_Memory::DataSource_Memory(std::string const&)
000000000013fdd0 g DF .text 000000000000000c Base Botan::DataSource_Memory::end_of_data() const
0000000000140580 g DF .text 000000000000014f Base Botan::DataSource_Memory::DataSource_Memory(Botan::MemoryRegion<unsigned char> const&)
0000000000140a50 g DF .text 000000000000013f Base Botan::DataSource_Memory::DataSource_Memory(unsigned char const*, unsigned long)
000000000013fe50 g DF .text 000000000000003c Base Botan::DataSource_Memory::peek(unsigned char*, unsigned long, unsigned long) const
000000000013fe10 g DF .text 000000000000003b Base Botan::DataSource_Memory::read(unsigned char*, unsigned long)

## Matching the address offset finds the specific source of the complaint:
00000000004e1dc0 w DO .data.rel.ro 0000000000000048 Base vtable for Botan::DataSource_Memory

## Paranoia:
0 $ sha1sum /usr/bin/mtn
746d0f6352e7c9af312e93e4ac875e0909945110 /usr/bin/mtn

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.