thecodeteam / mesos-module-dvdi

Mesos Docker Volume Driver Isolator module
Apache License 2.0
77 stars 16 forks source link

Can't load lib on Ubuntu 16.04 #127

Closed andrewl3wis closed 6 years ago

andrewl3wis commented 7 years ago

When I try to add the module to mesos it fails to start and spits out:

Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: WARNING: Logging before InitGoogleLogging() is written to STDERR
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: I0113 03:00:01.719745 29605 main.cpp:243] Build: 2016-11-16 01:30:49 by ubuntu
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: I0113 03:00:01.719815 29605 main.cpp:244] Version: 1.1.0
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: I0113 03:00:01.719827 29605 main.cpp:247] Git tag: 1.1.0
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: I0113 03:00:01.719835 29605 main.cpp:251] Git SHA: a44b077ea0df54b77f05550979e1e97f39b15873
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: I0113 03:00:01.723484 29605 logging.cpp:194] INFO level logging started!
Jan 13 03:00:01 ip-10-0-4-73 mesos-slave[29629]: Error loading modules: Error opening library: 'libmesos_dvdi_isolator-1.1.0.so': Could not load library 'libmesos_dvdi_isolator-1.1.0.so': /usr/lib/libmesos_dvdi_isolator-1.1.0.so: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv
Jan 13 03:00:01 ip-10-0-4-73 systemd[1]: mesos-slave.service: Main process exited, code=exited, status=1/FAILURE 
dvonthenen commented 7 years ago

Hi @andrew-t-l

Can you do an ldd on libmesos_dvdi_isolator-1.1.0.so just to verify first?

When you installed mesos, apt-get should have installed all the prerequisite libraries including libprotobuf. Give this a try:

sudo apt-get install libprotobuf-dev
andrewl3wis commented 7 years ago

Hey thanks for getting back to me, libprotobuf-dev is/was already installed and here is the output of ldd:

ldd /usr/lib/libmesos_dvdi_isolator-1.1.0.so

linux-vdso.so.1 =>  (0x00007ffdbad1d000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6ded454000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6ded08b000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6dece74000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6decb6b000)
/lib64/ld-linux-x86-64.so.2 (0x0000558591d53000)

Also for what it's worth, everything seems to run fine on Centos 7.

dvonthenen commented 7 years ago

Thanks for the feedback. Will need to stand up an environment for me to debug. We build the binary on Ubuntu 14.04 and it should be compatible with 16.04, but we don't test or verify on that platform at all.

dvonthenen commented 7 years ago

@andrew-t-l here is one last effort before I stand up an environment. Please give this a try. I number of people on 16.04 have reported these libs dont get installed by default and are the correct ones.

sudo apt-get purge libprotobuf-lite9v5 sudo apt-get install libprotobuf-lite9v5

You may need a reboot after installing the libs.

andrewl3wis commented 7 years ago

No dice, same error. Worked fine with CentOS 7, so might be able to use that for now.

dvonthenen commented 7 years ago

@andrew-t-l: Thanks for the info. I will stand up a 16.04 environment and let you know what I find.

dvonthenen commented 6 years ago

Please see: https://github.com/codedellemc/mesos-module-dvdi/issues/132

Will reopen if still have issues.