Is it safe to upgrade cmake to 3.x?

murlyn

Member
Feb 25, 2005
6
1
153
Im trying to install opencv and so I needed to install python3, in the process of adding the requirements to install opencv I am getting this error:

CMake 3.5.1 or higher is required. You are running version 2.8.12.2

Now I know I needed to keep python and run python3 next to it, so Im a bit worried that if I update cmake then that might break cPanel? or is it safe to upgrade it?
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
16,525
2,607
363
cPanel Access Level
Root Administrator
Hey there! I'm not seeing a newer cmake package available in AlmaLinux. While I don't think it would break cPanel tools, installing something outside of what the operating system provides is always risky. On my AlmaLinux 8 machine, there is a long list of dependencies for that tool, so it would seem unlikely that only cmake would need an update:

[root@host /]# yum deplist cmake
Last metadata expiration check: 3:21:12 ago on Tue 05 Sep 2023 08:27:39 AM EDT.
package: cmake-3.20.2-5.el8.x86_64
dependency: cmake-data = 3.20.2-5.el8
provider: cmake-data-3.20.2-5.el8.noarch
dependency: cmake-filesystem(x86-64) = 3.20.2-5.el8
provider: cmake-filesystem-3.20.2-5.el8.x86_64
dependency: cmake-rpm-macros = 3.20.2-5.el8
provider: cmake-rpm-macros-3.20.2-5.el8.noarch
dependency: libarchive.so.13()(64bit)
provider: libarchive-3.3.3-5.el8.x86_64
dependency: libc.so.6(GLIBC_2.17)(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libcurl.so.4()(64bit)
provider: ea-libcurl-8.2.1-1.1.2.cpanel.x86_64
provider: libcurl-7.61.1-30.el8_8.3.x86_64
provider: libcurl-minimal-7.61.1-30.el8_8.3.x86_64
dependency: libdl.so.2()(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libdl.so.2(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libexpat.so.1()(64bit)
provider: expat-2.2.5-11.el8.x86_64
dependency: libform.so.6()(64bit)
provider: ncurses-libs-6.1-9.20180224.el8.x86_64
dependency: libgcc_s.so.1()(64bit)
provider: libgcc-8.5.0-18.el8.alma.x86_64
dependency: libgcc_s.so.1(GCC_3.0)(64bit)
provider: libgcc-8.5.0-18.el8.alma.x86_64
dependency: libm.so.6()(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libm.so.6(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libncurses.so.6()(64bit)
provider: ncurses-libs-6.1-9.20180224.el8.x86_64
dependency: libpthread.so.0()(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-225.el8.x86_64
dependency: libstdc++.so.6()(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(CXXABI_1.3)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.5)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.8)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.9)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
provider: libstdc++-8.5.0-18.el8.alma.x86_64
provider: plesk-libstdc++10.3.0-10.3.0-1centos.8.211223.1252.x86_64
dependency: libtinfo.so.6()(64bit)
provider: ncurses-libs-6.1-9.20180224.el8.x86_64
dependency: libuv.so.1()(64bit)
provider: ea-ruby27-libuv-1:1.46.0-1.1.7.cpanel.x86_64
provider: libuv-1:1.41.1-1.el8_4.x86_64
dependency: libz.so.1()(64bit)
provider: zlib-1.2.11-21.el8_7.x86_64
dependency: make
provider: make-1:4.2.1-11.el8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.28-225.el8.i686
provider: glibc-2.28-225.el8.x86_64

After seeing that list, I personally wouldn't try it.
 

murlyn

Member
Feb 25, 2005
6
1
153
Wow Im not sure why I didn't get a notice that someone replied! I better go check my notifications :) Im not on AlmaLinux at this point, still CentOS, but yeah my guess is that my list won't be any smaller. Now Im trying to figure out how do you run any decent python scripts if I can't upgrade anything! :(

I found this also

Which makes it sound like I could have them run side by side. For example right now cPanel python default is 2.x and I have python 3 installed and can call python3 same with pip and pip3 so sounds like I might be able to do it with this also by running

sudo yum -y install cmake3

Then I would just need to make sure that python3 and pip3 are both using cmake3.. which sounds like this might work:

export CMAKE=/path/to/cmake3

Although it also sounds like I could do some kind of virtual environment, but Im not 100% sure what it's talking about, maybe tmux?
"Additionally, if you only want to use CMake 3 for a specific project, you can set the CMAKE environment variable within the project's virtual environment or before running the specific pip3 install command for that project. This allows you to control the CMake version on a per-project basis."
 
Last edited: