Having problems installing mysql 5.7.12 with boost ELF 32 bit, wrong ELF Class
Hi, I get the following error when compiling mysql-5.7.12 on Nexenta 4.0.4 OS ( Formerly known as Open Solaris / Illumos ). How do I fix the compile options or get the necessary files required to make the compile successful? Thanks and Regards, Mariano The files libboost_system.so and libboost_chrono.so are the wrong ELF class: ELFCLASS32. root@nex-01-test:/volumes# file /root/boost_1_59_0/stage/lib/libboost_system.so /root/boost_1_59_0/stage/lib/libboost_system.so: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available root@nex-01-test:/volumes# file /root/boost_1_59_0/stage/lib/libboost_system.so /root/boost_1_59_0/stage/lib/libboost_system.so: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available Error Message: [ 95%] Linking CXX executable ../mysqlpump cd /root/mysql-5.7.12/client/dump && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/mysqlpump.dir/link.txt --verbose=1 /usr/bin/g++ -w -fpermissive -m64 -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -R'$ORIGIN/../lib' -R/usr/lib/amd64 CMakeFiles/mysqlpump.dir/program.cc.o -o ../mysqlpump libmysqlpump_lib.a -lboost_system -lboost_chrono ../base/libclient_base.a ../../libmysql/libmysqlclient.a -lsocket -lnsl -lm ../../extra/liblz4_lib.a ld: fatal: file /root/boost_1_59_0/stage/lib/libboost_system.so: wrong ELF class: ELFCLASS32 ld: fatal: file /root/boost_1_59_0/stage/lib/libboost_chrono.so: wrong ELF class: ELFCLASS32 ld: fatal: file processing errors. No output written to ../mysqlpump collect2: ld returned 1 exit status gmake[2]: *** [client/mysqlpump] Error 1 gmake[2]: Leaving directory `/root/mysql-5.7.12' gmake[1]: *** [client/dump/CMakeFiles/mysqlpump.dir/all] Error 2 gmake[1]: Leaving directory `/root/mysql-5.7.12’ gmake: *** [all] Error 2
On 24/05/2016 22:13, Mariano Apilado wrote:
Hi,
I get the following error when compiling mysql-5.7.12 on Nexenta 4.0.4 OS ( Formerly known as Open Solaris / Illumos ). How do I fix the compile options or get the necessary files required to make the compile successful?
Thanks and Regards, Mariano
The files libboost_system.so and libboost_chrono.so are the wrong ELF class: ELFCLASS32.
Mariano, I'd recommend that you build Boost as 64-bit library, using: b2 architecture=x86 address-model=64 <options you already used> (The architecture= should not be needed in current version, but it was needed 1.59 if I remember correctly). You can check that the produced libraries are indeed 64-bit by using the readelf tool, e.g. readelf -h libboost_system.so It should report "Class: ELF64" pretty much at the start. HTH, -- Vladimir Prus http://vladimirprus.com
participants (2)
-
Mariano Apilado
-
Vladimir Prus