2

I' trying to setup mycoin on my digitalocen vps (ubuntu 16 bit 64)and in-counted following error

i have search solution for 2 days and nothing resolved this issue

boost version : 1.54

Error : /usr/bin/bitgamecoind: symbol lookup error: /usr/bin/bitgamecoind: undefined symbol: _ZN5boost15program_options11to_internalERKSs

Please find the relative details below

root@bitgamecoin-seed-node-01:~# ldd -r -d /usr/bin/bitgamecoind 
    linux-vdso.so.1 =>  (0x00007ffd47f57000)
    libboost_system.so.1.54.0 => /usr/local/lib/libboost_system.so.1.54.0 (0x00007f0089fb2000)
    libboost_filesystem.so.1.54.0 => /usr/local/lib/libboost_filesystem.so.1.54.0 (0x00007f0089d99000)
    libboost_program_options.so.1.54.0 => /usr/local/lib/libboost_program_options.so.1.54.0 (0x00007f0089b1a000)
    libboost_thread.so.1.54.0 => /usr/local/boost/lib/libboost_thread.so.1.54.0 (0x00007f00898fa000)
    libdb_cxx-5.3.so => /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so (0x00007f0089525000)
    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f00892bb000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f0088e77000)
    libminiupnpc.so.8 => /usr/lib/x86_64-linux-gnu/libminiupnpc.so.8 (0x00007f0088c6a000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0088a4c000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f00886ca000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f00883c1000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f00881aa000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0087de1000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0087bd9000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f00879d4000)
    /lib64/ld-linux-x86-64.so.2 (0x000055c6ac308000)
undefined symbol: _ZN5boost15program_options11to_internalERKSs  (/usr/bin/bitgamecoind)
undefined symbol: _ZN5boost15program_options6detail27common_config_file_iteratorC2ERKSt3setISsSt4lessISsESaISsEEb   (/usr/bin/bitgamecoind)

Result for env command

root@bitgamecoin-seed-node-01:~# env
XDG_SESSION_ID=29
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=112.134.102.172 33210 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=/root
LANG=en_US.UTF-8
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=112.134.102.172 33210 138.197.213.168 22
LESSOPEN=| /usr/bin/lesspipe %s
XDG_RUNTIME_DIR=/run/user/0
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/env

I just checked and i found this

sudo updatedb && locate "libboost_program_options"
/usr/lib/x86_64-linux-gnu/libboost_program_options.a
/usr/lib/x86_64-linux-gnu/libboost_program_options.so
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.58.0
/usr/local/boost/lib/libboost_program_options.a
/usr/local/boost/lib/libboost_program_options.so
/usr/local/boost/lib/libboost_program_options.so.1.54.0
/usr/local/lib/libboost_program_options.a
/usr/local/lib/libboost_program_options.so
/usr/local/lib/libboost_program_options.so.1.54.0
DarshanaK
  • 155
  • 1
  • 3
  • 9
  • 1
    Looks like a library version mismatch. Did you compile `bitgamecoind` yourself? – xhienne Jan 18 '17 at 15:43
  • nop. it's precompiled one just need to untar and cp to /usr/bin – DarshanaK Jan 18 '17 at 16:24
  • first use packeg manger and it installed 1.58 version but program required 1.54 version so installed it using source – DarshanaK Jan 18 '17 at 16:26
  • 1
    It seems like the signatures of some Boost methods (e.g. `boost::program_options::to_internal`) differ between your 1.54 version, and the Boost version used to compile `bitgamecoind`. – xhienne Jan 18 '17 at 16:29
  • I just execute following command (sudo updatedb && locate "libboost_program_options") and got that result – DarshanaK Jan 18 '17 at 16:54
  • 1
    Your program_options library is found (see the output of `ldd`). What I understand is that there is a mismatch in the method signatures. – xhienne Jan 18 '17 at 16:59
  • "mismatch in the method signatures" could you explain this to me please i'm newbie to linux – DarshanaK Jan 19 '17 at 04:33

1 Answers1

2

The error you get (symbol lookup error: /usr/bin/bitgamecoind: undefined symbol: _ZN5boost15program_options11to_internalERKSs) means that your executable bitgamecoind was linked dynamically and that your dynamic linker (ld-2.19.so) was unable to find that symbol in any of the libraries it was linked to.

What that means is that the libraries on your disk don't exactly match the libraries used to compile bitgamecoind. There is a slight difference in the signature of two methods (see name mangling on Wikipedia) from libboost_program_options.so.

From the output of ldd, I can see that the dynamic loader uses a custom shared library /usr/local/lib/libboost_program_options.so.1.54.0. Instead, you must use the library provided by Ubuntu (/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.54.0, which is not installed).

Therefore, the solution to your problem is to install the Boost library v. 1.54 with the Ubuntu packages:

# apt-get install libboost-program-options1.54.0

And you should do the same with the other Boost shared libraries in /usr/local/lib.

xhienne
  • 17,075
  • 2
  • 52
  • 68