On Mon, Jul 21, 2014 at 2:49 PM, Les Mikesell lesmikesell@gmail.com wrote:
On Mon, Jul 21, 2014 at 2:19 PM, Jonathan Billings billings@negate.org wrote:
On Mon, Jul 21, 2014 at 12:16:39PM -0500, Les Mikesell wrote:
I'm getting errors: '/lib64/libc.so.6: version `GLIBC_2.14' not found' and '/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found'. Is there a way to make a backward-compatible binary?
If not, is there a sane way to build something that needs gcc 4.8+/boost 1.5.3+/cmake 2.8 on Centos6? I found the devtoolset-2 software collection with a usable gcc, but no boost. And cmake 2.8 installs as cmake28 whereas the project expects the normal cmake/ccmake names.
I've found that the easiest way is to package your software and use software like 'mock' (http://fedoraproject.org/wiki/Projects/Mock) to build the software for other platforms. Mock builds the software in a chrooted shell built up using the packages for that distribution, so you it'd use CentOS6's GCC, boost, cmake and glibc.
If it would build easily with Centos6's native tools, I wouldn't be asking the question... I think it was originally built on Centos5 but with locally compiled up-rev gcc/boost/cmake versions and delivered with some alternative .so's and a scheme to set LD_LIBRARY_PATH. Aside from not knowing the exact build environment it expects, I was hoping it could be done in a more standard way. It turns out that it does build on Centos7 - which I guess doesn't really help when the runtime target is 6.
I haven't gotten back to this yet, but I think the right answer to this question would have been to install the compat-glibc package:
Description : This package contains stub shared libraries and static libraries : from CentOS Linux 6. : : To compile and link against these compatibility libraries, use : gcc -fgnu89-inline \ : -I /usr/lib/x86_64-redhat-linux6E/include \ : -B /usr/lib/x86_64-redhat-linux6E/lib64/