ELF file OS ABI invalid

1,300 views
Skip to first unread message

David Lopes

unread,
May 28, 2015, 5:37:53 PM5/28/15
to codersh...@googlegroups.com
I'm trying to setup a MySQL 5.6 cluster using Galera. 

Since I don't have root access in the virtual machines where I will deploy the cluster I installed everything by hand. The VMs are running Debian.
I downloaded MySQL binary from the official site, as well as Galera 3 wresp-provider. I placed everything in the proper directories and tried to start the first cluster member with:

"bin/mysqld_safe --defaults-file=my.cnf --wsrep-new-cluster"

However, the following error appears:

2015-05-28 18:23:04 25520 [Note] WSREP: Read nil XID from storage engines, skipping position init
2015-05-28 18:23:04 25520 [Note] WSREP: wsrep_load(): loading provider library '/local/dp.lopes/galera/usr/lib/galera/libgalera_smm.so'
2015-05-28 18:23:04 25520 [ERROR] WSREP: wsrep_load(): dlopen(): /local/dp.lopes/galera/usr/lib/galera/libgalera_smm.so: ELF file OS ABI invalid
2015-05-28 18:23:04 25520 [ERROR] WSREP: wsrep_load(/local/dp.lopes/galera/usr/lib/galera/libgalera_smm.so) failed: Invalid argument (22). Reverting to no provider.
2015-05-28 18:23:04 25520 [Note] WSREP: Read nil XID from storage engines, skipping position init
2015-05-28 18:23:04 25520 [Note] WSREP: wsrep_load(): loading provider library 'none'

I confirmed that the library is in place. In fact, I think the library is found, but for some reason Galera fails to load the file. 

Can anyone tell me what is going on?

Thanks,
David

Philip Stoev

unread,
May 28, 2015, 11:30:29 PM5/28/15
to David Lopes, codersh...@googlegroups.com
Hello,

It seems to me that you are using an older Linux and/or glibc version:

http://stackoverflow.com/questions/7647818/glibc-elf-file-os-abi-invalid

If you have no control over the servers that would allow you to upgrade
glibc, you may try to compile Galera from scratch:

git clone https://github.com/codership/galera.git
cd galera
./scripts/build.sh

You will end up with a libgalera_smm.so file in the current directory, which
you can then try loading into the server.

Note that the galera library requires various dependencies to compile, e.g.
boost, check, scons, openssl, which you will need to satisfy.

Thank you.

Philip Stoev
--
You received this message because you are subscribed to the Google Groups
"codership" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to codership-tea...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Allen Wang

unread,
May 29, 2015, 3:52:41 AM5/29/15
to codersh...@googlegroups.com
If the existing binary is built by a lower version glibc, and you install this binary to a host with high version glibc, then maybe meet  the "ELF file OS ABI invalid" error.
so, do not use the existing binary file, and recompile it from source code on your own environment, it's the better way.



在 2015年5月29日星期五 UTC+8上午5:37:53,David Lopes写道:

David Lopes

unread,
May 30, 2015, 7:28:12 AM5/30/15
to codersh...@googlegroups.com
Ok, so:

I've installed everything by hand (scons, boost, check, etc) and I think I'm pretty close to be able to compile the galera lib in the cluster.

However, I still got this error:

Error: library boost_program_options does not exist

I'm pretty sure it exist, because I can see the file inside "/local/dp.lopes/apps/boost/lib" (actually, there are a lot more libraries there, I installed every optional library just in case).

I had to change the CPPFLAGS, LDFLAGS and LD_LIBRARY_PATH environment variables in .bashrc to include boost headers:

export CPPFLAGS="-I/local/dp.lopes/apps/boost/include"
export LDFLAGS="-L/local/dp.lopes/apps/boost/lib"
export LD_LIBRARY_PATH=/local/dp.lopes/apps/boost/lib:$LD_LIBRARY_PATH

Still, the compiler says it can't find the boost_program_options library.

Any suggestion?

Thanks,
David

David Lopes

unread,
May 30, 2015, 9:14:41 AM5/30/15
to codersh...@googlegroups.com
PS: it is able to find the boost headers, but not the libraries..

Checking for C header file sys/epoll.h... yes
Checking for C header file byteswap.h... yes
Checking for C header file endian.h... yes
Checking for C++ header file boost/shared_ptr.hpp... yes
Checking for C++ header file unordered_map... no
Checking for C++ header file tr1/unordered_map... yes
Checking for C++ library boost_program_options... no
Error: library boost_program_options does not exist

Philip Stoev

unread,
Jun 1, 2015, 5:33:47 AM6/1/15
to David Lopes, codersh...@googlegroups.com
Hello,

In the Galera directory you will find a file named config.log that shows the
actual tests that Scons performs when looking for various components and the
actual failure that happened. This will allow you to diagnose the problem
further.

Thank you.

Philip Stoev

-----Original Message-----
From: David Lopes

David Lopes

unread,
Jun 1, 2015, 9:23:27 AM6/1/15
to codersh...@googlegroups.com, david....@gmail.com
I've made some developments. Now I'm able to compile, but I'm getting some errors..

Running suite(s): gu::Atomic
66%: Checks: 3, Failures: 1, Errors: 0
galerautils/tests/gu_atomic_test.cpp:25:F:sanity:test_sanity_c:0: Failure 'i != -7' occured
Running suite(s): gu::Vector
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): gu::String
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): gu::vlq
100%: Checks: 4, Failures: 0, Errors: 0
Running suite(s): gu::Hash
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): gu::MemPool
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): gu::Allocator
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): gu::RecordSet
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): String Utils
100%: Checks: 3, Failures: 0, Errors: 0
Running suite(s): galerautils++ URI
100%: Checks: 5, Failures: 0, Errors: 0
Running suite(s): gu::Config
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): galerautils++ Networking
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): gu::datetime
100%: Checks: 4, Failures: 0, Errors: 0
Running suite(s): gu::Histogram
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): gu::Stats
100%: Checks: 1, Failures: 0, Errors: 0
Total tests failed: 1
scons: *** [galerautils/tests/gu_tests++.passed] Error 1
scons: building terminated because of errors.

Any idea why?

Thanks,
David
Reply all
Reply to author
Forward
0 new messages