[CMake] How to build CMake so it works on an older Linux?

Juan E. Sanchez juan.e.sanchez at gmail.com
Thu Apr 5 16:15:21 EDT 2018


The example I just sent was for building in centos 6, because 5 is gone.

docker run -it  --name centos6 centos:6 /bin/bash

Regards,

Juan

On 4/5/18 3:13 PM, Juan E. Sanchez wrote:
> Hello,
> 
> Centos 5, Redhat 5 is EOL as of March 31, 2017.
> 
> Building cmake in docker:
> 
> cd /root;
> curl -L -O https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz;
> tar xzvf cmake-3.11.0.tar.gz;
> yum install -y centos-release-scl;
> yum install -y devtoolset-6-gcc devtoolset-6-gcc-c++ 
> devtoolset-6-libquadmath-devel devtoolset-6-gcc-gfortran;
> source /opt/rh/devtoolset-6/enable;
> cd cmake-3.11.0;
> ./bootstrap --prefix=/root/cmake --parallel=4;
> make -j4;
> make install;
> cd /root;
> tar czvf cmake.tgz;
> 
> Please note that cmake will silently ignore features for packages that 
> haven't been installed into the image, (ncurses, curl).
> 
> Regards,
> 
> Juan
> 
> On 4/5/18 2:50 PM, Ben Sferrazza wrote:
>>
>>
>> On Thu, Apr 5, 2018 at 12:30 PM, Alexander Neundorf <neundorf at kde.org 
>> <mailto:neundorf at kde.org>> wrote:
>>
>>     On 2018 M04 5, Thu 21:24:40 CEST Alexander Neundorf wrote:
>>     > On 2018 M04 5, Thu 16:15:17 CEST suzuki toshiya wrote:
>>     > > Dear Eric,
>>     > >
>>     > > # if anybody think "how C++11 environment should be prepared
>>     > > # on legacy GNU/Linux" is off-topic and should be discussed
>>     > > # in off-list, please let me know. I will do so.
>>     > >
>>     > > Eric Wing wrote:
>>     > > > Thanks for the responses. Yes, I just need this to run on 
>> Ubuntu 12.04
>>     > > > (and some other old Linux's in that era). Yes, I think the 
>> probably is
>>     > > > the libstdc++ dependency.
>>     > > >
>>     > > > As pointed out, it is really hard to get a newer compiler on 
>> Ubuntu
>>     > > > 12.04. I've been down this road before, and if memory 
>> serves, the gcc
>>     > > > bootstrapping process to get a newer compiler doesn't seem 
>> to work
>>     > > > with a compiler older than gcc 4.8. Same goes for clang, 
>> which also
>>     > > > weirdly relies on gcc 4.8 to bootstrap itself.
>>     > >
>>     > > At least, gcc-4.6.3, the last official gcc for Ubuntu-12.04, 
>> could
>>     > > build gcc-4.8.5 manually (without shared libstdc++, so confused
>>     > > dependency could be avoided). And, I could build cmake-3.11.0 
>> by it.
>>     > > Now I'm checking "make test".
>>     >
>>     > I have recently built a gcc 4.9.5 on Centos 5, i.e. gcc 4.1. 
>> There were no
>>     > issues after getting the configure flags right.
>>
>>     4.9.4 I mean.
>>     You can see the flags here:
>>     
>> https://hub.docker.com/r/aneundorf/docker-centos5-build-svn-gcc/~/dockerfile/ 
>>
>>     
>> <https://hub.docker.com/r/aneundorf/docker-centos5-build-svn-gcc/~/dockerfile/> 
>>
>>     (but the docker image didn't build, it was killed by a dockerhub
>>     timeout).
>>
>>     Alex
>>
>>
>> Were you able to actually build the newer versions of Cmake that 
>> require c++11 on Centos 5? I have built up a bootstrapped toolchain, 
>> following much of the guidance found in Linux From Scratch, on a 
>> Centos 5 system at work (which unfortunately cannot be upgrade due to 
>> the support of legacy software). The toolchain uses the latest gcc 
>> 7.3.0, binutils 2.30, and glibc 2.19 (the latest version of glibc 
>> supported by the 2.6.18 kernel of Centos 5). Yet cmake complains that 
>> my toolchain does not support c++11. Which kernel and glibc version do 
>> you have on your Centos 5 box? Thank you.
>>
>>
> 



More information about the CMake mailing list