How to install Clang and LLVM 3.9 on CentOS 7 - clang

I have taken rpm packages from
https://copr-be.cloud.fedoraproject.org/results/alonid/llvm-3.9.0/epel-7-x86_64/00505197-clang-3.9.0/ for Clang 3.9.
I am installing the rpm packages by the command
rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.src.rpm
But when I do
rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
I get the following error :
error: Failed dependencies:
clang-3.9.0-libs(x86-64) = 3.9.0-3.1.el7.centos.alonid is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libLLVM-3.9.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclang.so.3.9()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangAST.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangBasic.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangCodeGen.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangDriver.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangFormat.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangFrontendTool.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangIndex.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangRewrite.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangRewriteFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangStaticAnalyzerFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangTooling.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
libclangToolingCore.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
Where should I install all these dependencies from?

By enabling the SCL repository you can install Clang 5.0.1 on CentOS 7 using the llvm-toolset-7 package.
$ sudo yum install centos-release-scl
$ sudo yum install llvm-toolset-7
Enable llvm-toolset-7:
$ scl enable llvm-toolset-7 bash
You can now check you clang version with:
$ clang --version
See this Red Hat blog post for more information.
For more information about SCL, see this page.

There was a much easier way to achieve this:
Add the Alonid's repo to /etc/yum.repos.d/epel.repo (assuming you have epel repo installed)
echo "[alonid-llvm-3.9.0]
name=Copr repo for llvm-3.9.0 owned by alonid
baseurl=https://copr-be.cloud.fedoraproject.org/results/alonid/llvm-
3.9.0/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/alonid/llvm-
3.9.0/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1" >> /etc/yum.repos.d/epel.repo
Then just sudo yum install clang-3.9.0

I am the author of the RPM repository you mention.
Follow from the main Copr page of the repository:
https://copr.fedorainfracloud.org/coprs/alonid/llvm-3.9.0/
If you have any question, you can contact me from there. Thanks!

Just open your link and look around, also go one level higher and find all necessary .rpm's. The following sequence worked for me:
yum install compiler-rt-3.9.0-3.9.0-3.el7.centos.alonid.x86_64.rpm
yum install clang-3.9.0-libs-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
yum install clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-libs-3.9.0-7.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-3.9.0-7.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-devel-3.9.0-7.el7.centos.alonid.x86_64.rpm
By just doing yum install without any flags Clang and LLVM will be installed to /opt/llvm-3.9.0:
$ ls -l /opt/llvm-3.9.0
total 12
drwxr-xr-x 2 root root 4096 Jun 3 23:48 bin
drwxr-xr-x 3 root root 4096 Jun 3 23:23 include
drwxr-xr-x 3 root root 4096 Jun 3 23:27 lib64
Also notice that there are other packages like -devel, -static, -debuginfo.
Useful tip: Without installing -devel packages you only get bin and lib64 folders where only the executables like bin/clang and libraries like lib64/libLLVM-3.9.0.so are located. If you also want to develop something with LLVM/Clang you will need corresponding -devel packages. Then you will also get include/ folder with headers.
By the way, thanks to the maintainers of this repo. Nice to have LLVM 3.9 out of the box.

A complete installation process is provided by Red Hat, please refer to Red Hat documents.

Related

how to solve the glm problem when installing pymol?

I am trying to install pymol in CentOS 7 system. I installed the dependency glm-devel-0.9.6.3-1.el7.noarch by yum:
sudo yum install glm-devel.
During compiling I got an error related to glm as following:
layer1/SceneView.cpp:34:61: error: no matching function for call to ‘equal(const vec3&, const vec3&, float)’
Could anyone tell why this error appears?
I will appreciate any help!
Best regards.
install pymol in CentOS 7
Build example with updated glm-devel
# yum install mmtf-cpp-devel.x86_64 glew-devel.x86_64 libpng-devel freetype-devel msgpack-devel libxml2-devel python36-qt5-devel.x86_64 freeglut-devel mesa-libGL-devel.x86_64 python3-devel
# yum install ./glm-devel-0.9.9.6-6.el7.noarch.rpm
## works with the default python3 (3.6.8) and g++ -4.8.5
Link, glm-devel-0.9.9.6-6.el7 https://drive.google.com/file/d/1BXygEWqpvlbZg867dsXuW47T67Z0V0Q8/view?usp=sharing
https://github.com/schrodinger/pymol-open-source →
https://github.com/schrodinger/pymol-open-source/blob/master/INSTALL
git clone https://github.com/schrodinger/pymol-open-source.git
cd pymol-open-source/
python3 setup.py build
# python3 setup.py install
pymol ## the pymol GUI opens OK
There is also a binary version available, with python 3.7 included : https://pymol.org/2/ →
https://pymol.org/installers/PyMOL-2.5.2_293-Linux-x86_64-py37.tar.bz2 → tar xvf PyMOL-2.5.2_293-Linux-x86_64-py37.tar.bz2
cd pymol/ && ./pymol

How do I get apt-get to ignore ros-kinetic-opencv3?

I would like to install sudo apt-get install ros-kinetic-cv-bridge but at the some time ignore install ros-kinetic-opencv3
when using this command sudo apt-get install ros-kinetic-cv-bridge, it istall both like this output:
sudo apt-get install ros-kinetic-cv-bridge
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
binutils-aarch64-linux-gnu cpp-5-aarch64-linux-gnu cpp-aarch64-linux-gnu g++-5-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-5-aarch64-linux-gnu gcc-5-aarch64-linux-gnu-base gcc-5-cross-base
gcc-aarch64-linux-gnu libasan2-arm64-cross libatomic1-arm64-cross libc6-arm64-cross libc6-dev-arm64-cross libflann-dev libflann1.8 libfreenect-dev libfreenect0.5 libgcc-5-dev-arm64-cross
libgcc1-arm64-cross libgomp1-arm64-cross libitm1-arm64-cross libpcl-apps1.7 libpcl-common1.7 libpcl-dev libpcl-features1.7 libpcl-filters1.7 libpcl-io1.7 libpcl-kdtree1.7 libpcl-keypoints1.7
libpcl-octree1.7 libpcl-outofcore1.7 libpcl-people1.7 libpcl-recognition1.7 libpcl-registration1.7 libpcl-sample-consensus1.7 libpcl-search1.7 libpcl-segmentation1.7 libpcl-surface1.7
libpcl-tracking1.7 libpcl-visualization1.7 libpcl1.7 libprotoc9v5 libqhull-dev libqhull7 libstdc++-5-dev-arm64-cross libstdc++6-arm64-cross libubsan0-arm64-cross linux-libc-dev-arm64-cross
ros-kinetic-costmap-2d ros-kinetic-libg2o ros-kinetic-pcl-conversions ros-kinetic-pcl-msgs ros-kinetic-pcl-ros ros-kinetic-qt-gui ros-kinetic-qt-gui-cpp ros-kinetic-tf2-eigen ros-kinetic-voxel-grid
tango-icon-theme
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
ros-kinetic-opencv3
The following NEW packages will be installed:
ros-kinetic-cv-bridge ros-kinetic-opencv3
0 upgraded, 2 newly installed, 0 to remove and 14 not upgraded.
Need to get 0 B/22.8 MB of archives.
After this operation, 131 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package ros-kinetic-opencv3.
(Reading database ... 280801 files and directories currently installed.)
Preparing to unpack .../ros-kinetic-opencv3_3.3.1-5xenial-20190607-165251-0800_amd64.deb ...
Unpacking ros-kinetic-opencv3 (3.3.1-5xenial-20190607-165251-0800) ...
Selecting previously unselected package ros-kinetic-cv-bridge.
Preparing to unpack .../ros-kinetic-cv-bridge_1.12.8-0xenial-20190608-051419-0800_amd64.deb ...
Unpacking ros-kinetic-cv-bridge (1.12.8-0xenial-20190608-051419-0800) ...
Processing triggers for libc-bin (2.23-0ubuntu11) ...
Setting up ros-kinetic-opencv3 (3.3.1-5xenial-20190607-165251-0800) ...
Setting up ros-kinetic-cv-bridge (1.12.8-0xenial-20190608-051419-0800) ...
Processing triggers for libc-bin (2.23-0ubuntu11) ..
how to ignore apt-get install ros-kinetic-opencv3?
As #user10455554 pointed out,
"Find the list of packages that are not meeting dependency.
Download the .deb file with apt-get download. Then use
sudo dpkg -i --ignore-depends=<package(s) to ignore> package.deb "

docker-ee-selinux conflicts with 2:container-selinux-2.21-1.el7.noarch

I am trying to install docker on rhel 7.
Step 1
yum remove docker docker-common docker-selinux docker-engine-selinux docker-engine docker-ce
Step 2
yum install -y yum-utils device-mapper-persistent-data lvm2
Step 3
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Step 4
yum install docker-ce
Error I am getting is:
yum install docker-ce
Loaded plugins: langpacks, product-id, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:18.06.1.ce-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-
18.06.1.ce-3.el7.x86_64
--> Processing Dependency: libseccomp >= 2.3 for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Processing Dependency: libseccomp.so.2()(64bit) for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.21-1.el7 will be installed
---> Package libseccomp.x86_64 0:2.3.1-3.el7 will be installed
--> Processing Conflict: docker-ee-selinux-17.03.2.ee.9-1.el7.noarch conflicts docker-selinux
--> Processing Conflict: docker-ee-selinux-17.03.2.ee.9-1.el7.noarch conflicts docker-engine-selinux
--> Finished Dependency Resolution
Error: docker-ee-selinux conflicts with 2:container-selinux-2.21-1.el7.noarch
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I tried both the suggested options, but it didn't work. I know that I should not be using docker-ce on rhel, but it is just for POC.
Any help is appreciated.
TIA
for fixing conflict error just try
yum remove docker-ee-selinux
then install your desired package.
try to remove docker-selinux first and then install the desired package,
yum remove docker-selinux

error package docker-ce requires container-selinux = 2.9 centos 7

Command: yum -y install docker-ce
Result:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:18.06.0.ce-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.06.0.ce-3.el7.x86_64
--> Finished Dependency Resolution
Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2.9
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Resolved with installing container-selinux-2.9 dependency with following command:
sudo yum install ftp://bo.mirror.garr.it/1/slc/centos/7.1.1503/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm
Use below link to install container-selinux from a trust able source
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.55-1.el7.noarch.rpm
Steps to install Docker-CE on RHEL 7.5
https://github.com/dineshsood/dockers/wiki
This docker-ce version worked for me:
sudo yum -y install docker-ce-cli.x86_64 1:19.03.5-3.el7
Best of luck!
You can enable the Extras repository in the path:
/etc/yum.repos.d/CentOS-Base.repo
You need to enable CentOS "extras" repository.
Here's how I did it:
Open /etc/yum.repos.d/CentOS-Base.repo
Duplicate contents of the file, so it becomes twice as long
Replace /os/ in the URL with /extras/
Change the section title in square brackets
E.g.:
[CentOS-Base]
name=CentOS 7 Base Mirror
baseurl=http://mirror.centos.org/centos/7/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[CentOS-Extras]
name=CentOS 7 Extras
baseurl=http://mirror.centos.org/centos/7/extras/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Then try installing docker again
I had to add --nogpgcheck to the selected answer de to an error
Public key for container-selinux-2.9-4.el7.noarch.rpm is not installed

How to install libpthread.a in Ubuntu 14.04?

I'm looking for libpthread.a ( Static library ) for my 64 bit machine.
Now, I have shared library in my system.
/lib/x86_64-linux-gnu/libpthread-2.19.so
/lib/x86_64-linux-gnu/libpthread.so.0
Is there any way to get static libaray with only "apt-get install" ?
Kazu
Apt-get Install
sudo apt-get install libpthread-stubs0-dev
Result:
[sudo] password for administrator:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libntdb1 python-ntdb
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
libpthread-stubs0-dev
0 upgraded, 1 newly installed, 0 to remove and 71 not upgraded.
Need to get 4,068 B of archives.
After this operation, 41.0 kB of additional disk space will be used.
Get:1 http://mirrors.163.com/ubuntu/ trusty/main libpthread-stubs0-dev amd64 0.3-4 [4,068 B]
Fetched 4,068 B in 0s (8,675 B/s)
Selecting previously unselected package libpthread-stubs0-dev:amd64.
(Reading database ... 177941 files and directories currently installed.)
Preparing to unpack .../libpthread-stubs0-dev_0.3-4_amd64.deb ...
Unpacking libpthread-stubs0-dev:amd64 (0.3-4) ...
Setting up libpthread-stubs0-dev:amd64 (0.3-4) ...
Find libpthread.a
ls /usr/lib/x86_64-linux-gnu/ |grep libpthread
Result:
libpthread.a
libpthread_nonshared.a
libpthread.so
On my system:
~$ dpkg -S /usr/lib/x86_64-linux-gnu/libpthread.a
libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/libpthread.a

Resources