[MDEV-20392] Build Failure on rhel 8.0: CMake Error at /build/cmake/do_abi_check.cmake:82 Created: 2019-08-20 Updated: 2021-06-22 Resolved: 2021-06-10 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling |
| Affects Version/s: | 10.4.6 |
| Fix Version/s: | 10.2.40, 10.3.31, 10.4.21, 10.5.12, 10.6.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Vitthal Bagal | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
OS : Red Hat Enterprise Linux 8.0 (Ootpa) |
||
| Attachments: |
|
| Description |
|
I am trying to build mariadb(v10.4.6) from source on rhel 8.0 and Observed build failure as below:
I have followed below steps :
Please help me to resolve this failure. Also let me know if i missed anything ? |
| Comments |
| Comment by Sergei Golubchik [ 2019-08-20 ] | |||||
|
You've probably used wrong revisions for submodules or something. If you download sources from github, better use git clone, not wget https://github.com/MariaDB/server/archive. Or download sources from downloads.mariadb.org — then you won't need git at all. | |||||
| Comment by Vitthal Bagal [ 2019-08-22 ] | |||||
|
@Sergei Golubchik Thanks for quick reply. As per your comment I have tried both ways: Please find below steps that I followed: second way : | |||||
| Comment by Sergei Golubchik [ 2019-08-23 ] | |||||
|
Okay, so if you're getting the same failure, it should be
Could you please diff them manually? Just paste or attach the output of
May be a truncated output, if it's long. | |||||
| Comment by Vitthal Bagal [ 2019-08-27 ] | |||||
|
@Sergei Golubchik Now I could build mariadb in fresh RHEL 8.0 container using both ways that you have suggested. | |||||
| Comment by Otto Kekäläinen [ 2021-05-30 ] | |||||
|
I am reopening the "bug", or rather usability error. This is still happening on latest MariaDB and googling on the error brings up thousands of pages where people complain about it. The root cause is that the binary 'diff' is missing from the system, and CMake gets an exit code which it thinks was from diff, but in reality it was that diff was not even found. Workaround: apt/yum install diffutils Proper fix: extend CMake code to check for binary diff and emit a proper error message if it was not found at all | |||||
| Comment by Otto Kekäläinen [ 2021-05-30 ] | |||||
|
serg Fix available at https://github.com/MariaDB/server/pull/1846, please merge. | |||||
| Comment by Sergei Golubchik [ 2021-05-31 ] | |||||
|
otto, how did you know that the root cause was missing diff? I wasn't able to find it any hints in the logs. | |||||
| Comment by Otto Kekäläinen [ 2021-05-31 ] | |||||
|
serg Because Vittal posted his exact steps and nothing in them installs diffutils. He tried to compile MariaDB out of pristine sources and this is what happens 100% of the time if one does so without diffutils. See my PR for proof. Vittal never replied to your request to diff the files. It would have most likely shown that there is no diff, but diff itself was missing. This error message has 1600 hits on Google, it is very common. But it is fixed now from 10.6 onwards if you approve my PR. | |||||
| Comment by Sergei Golubchik [ 2021-06-10 ] | |||||
|
Pushed. Thanks, otto! |