Public bug reported:

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

** Affects: monotone (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1696883

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/monotone/+bug/1696883/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to