How to build recent Clang RPMs for Red Hat 7? - clang

I need to provide recent versions of Clang (5, 6 or 7 for test) to developers teams working on RH7.x boxes (today they are using the EPEL release 3.4.2)
I would like to build same packages as the EPEL ones:
(And the ability to change the RPM release if I need to rebuild them)
clang-devel-6.0.0-1.el7.x86_64.rpm
clang-6.0.0-1.el7.x86_64.rpm
llvm-6.0.0-1.el7.x86_64.rpm
llvm-libs-6.0.0-1.el7.x86_64.rpm
...
What is the best way to do that?
Where I am:
I follow build instructions here: https://clang.llvm.org/get_started.html
Then I tried: cpack -G RPM with various options (-DCPACK_RPM_PACKAGE_RELEASE=1) but result is always the same, I have one 'big' RPM like LLVM-7.0.0svn-Linux.rpm
Many thanks for your help.

Related

Is it required to build LLVM in order to build hipSYCL?

I'm running Centos 7 and am trying to build hipSYCL (see here)
The issue is that hipSYCL needs to have cmake info from the LLVM build (via the LLVM_DIR cmake variable).
This is problematic for me because building LLVM requires a massive 35Gb for the libraries and exes. I don't have that much memory to spare.
I did find a build of llvm-toolset-8.0 online for Centos 7 and installed it, but to my surprise, that didn't seem to work with LLVM_DIR because there's no cmake files (since I didn't build it locally).
So, my question would be, is there a way to build hipSYCL using pre-built LLVM-clang?
If I'm missing or misunderstanding something, I'd appreciate any help.
LLVM publishes the necessary cmake files, and the binary OS packages I've seen include it, generally in a directory called /usr/lib/llvm*/lib/cmake and in a package called something like llvm-*-dev.

problem installing orocos_toolchain in ros melodic

I have some problems following the tutorial "http://wiki.ros.org/Industrial/Tutori...". I have installed ROS Melodic and i want to use an slave ethercat like the "IO rack: EtherCAT Couper, 8 DI, & 8DO (all Beckhoff)" but different brand (Omron), and when i try to follow the step 1: Install OROCOS toolchain for ROS it return a error when i follow the tutorial "http://wiki.ros.org/orocos_toolchain" and execute the command "rosdep install orocos_toolchain" the error is the next: ERROR: Rosdep cannot find all required resources to answer your query Missing resource orocos_toolchain.
I use ROS 1 Distro: melodic SO: Ubuntu 18:04
Someone can i help me, please. I was searching another ways to install OROCOS toolchain but i didn't have success.
Most of the readily available documentation for installing / using Orocos is out of date. For example, that page you were at is (at timeof writing) 6 years old, for an end-of-life distro.
The up-to-date info is on their github and website (The website, for you right now, is probably less useful, but this page still is). Respectively, you should now install that fat stack as sudo apt install ros-melodic-rtt-ros-integration, aka install from binary sources. Make sure to pay careful attention to Building ROS-Based Orocos Components, because they have their own system which changes the CMake process. There's also other packages that they/others keep from other stacks, you can see the whole list by trying to autocomplete apt install ros-melodic-rtt-

clickhouse-server install failed on CentOS6 with libbfd package error

I'm testing clickhouse. Finally I installed ClickHouse on my virtual machine. But I've got some problem to make it.
--> Finished Dependency Resolution
Error: Package: clickhouse-server-1.1.54236-4.el6.x86_64 (clickhouse)
Requires: libbfd-2.20.51.0.2-5.44.el6.so()(64bit)
But, I already have this "binutils-2.20.51.0.2-5.47". (More recent version)
[root#node01 ~]# rpm -qa | grep "binutils"
binutils-2.20.51.0.2-5.47.el6_9.1.x86_64
So, I removed binutils-2.20.51.0.2-5.47 and install binutils-2.20.51.0.2-5.44, it works well.
Is this common issue?
Thanks.
Chan.
The BFD libraries are only intended for internal use by binutils and related tools. There is no ABI stability even within the same release of CentOS (or Red Hat Enterprise Linux). This is why the library name can change from minor release to minor release, breaking RPM dependencies in this way.
You need to talk to whoever builds clickhouse. They need to bundle their own version of BFD if they truly need it, or use supported libraries such as libelf from elfutils if they need only a tiny subset.

Homebrew version of macports `port select --set`

One of the reasons I'm still using macports is that it is easy to switch between versions of things you download. For example, if I want to change my GCC version to 4.8 all I have to do is
sudo port set --select gcc mp-gcc48
No mucking around in environmental variables. I see that there are multiple versions of gcc to be got from homebrew, but is there an easy way to activate and deactivate versions of things? I didn't notice anything in the documentation.
Option 1 is that you install multiple versioned packages in parallel. Then you'd call gcc-4.7 or gcc-4.8, etc.
Option 2 is to selectively brew link and brew unlink the package versions that you prefer to use. Note that an "unlinked" package is still installed and usable from /usr/local/opt/<package>/, it's just not in the default path.
Which one you use depends on how the individual packages are set up and how often you need to switch around. It's perhaps not quite as clear-cut as with MacPorts, but it works just fine.

Is there a stable release build of non-Java Hamcrest matcher libraries?

Clearly the hamcrest Java library has a stable release, but as far as I can tell the hamcrest-php, hamcrest-python and hamcrest-as3 (and presumably others, but those are the ones I care about at the moment) do not; you can only acquire them in source code form. This is, putting it mildly, a bit of a pain when I have to deploy a versioned copy of a library to a production machine.
Does the community around these libraries have any plan to make stable releases of them?
The PHP Hamcrest library is available via PEAR:
pear channel-discover hamcrest.googlecode.com/svn/pear
pear install hamcrest/Hamcrest
While the latest version is 0.3.0, it's very stable, and my company has been using it with PHPUnit since the summer. Once I get some time to commit a few local additions I have been working on, I'll release a 1.0.0 version.

Resources