Linux - EnterpriseThis forum is for all items relating to using Linux in the Enterprise.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
We have RHEL 7 and we need to get librsync installed.
Would you guys be able to help us?
When we try installing an application, we receive the following error:
checking librsync.h usability... no
checking librsync.h presence... no
checking for librsync.h... no
checking for rs_delta_begin in -lrsync... no
Please install librsync
The rpm command you ran shows you have librsync designed for RHEL5 (the "el5" portion of the package name).
You'd need to find librsync for RHEL7 instead. You can't just copy rpm's from system to system when going between major releases.
You could run command to search repositories defined on you RHEL7 system.
To see if there is a package of that name:
yum list librsync
To see if there are files that contain that name in other packages:
yum provides "*/librsync*"
Generally speaking if you're running RHEL you want to get the packages from RedHat's repositories as those would be the "supported" ones. On occasion there are packages you want even though they're not "supported" by RedHat. In which case you need to find a trusted source to get them such as the EPEL or you can find the source code for the package, download the source and compile your own.
[root@localhost tmp]# yum install /tmp/librsync-1.0.0-1.el7.x86_64.rpm
Loaded plugins: langpacks, product-id, subscription-manager
This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
Examining /tmp/librsync-1.0.0-1.el7.x86_64.rpm: librsync-1.0.0-1.el7.x86_64
Marking /tmp/librsync-1.0.0-1.el7.x86_64.rpm as an update to librsync-1.0.0-1.el5.x86_64
Resolving Dependencies
--> Running transaction check
---> Package librsync.x86_64 0:1.0.0-1.el5 will be updated
---> Package librsync.x86_64 0:1.0.0-1.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================== ==================================================================================================== ============================================================
Package Arch Version Repository Size
==================================================================================================== ==================================================================================================== ============================================================
Updating:
librsync x86_64 1.0.0-1.el7 /librsync-1.0.0-1.el7.x86_64 124 k
Total size: 124 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : librsync-1.0.0-1.el7.x86_64 1/2
Cleanup : librsync-1.0.0-1.el5.x86_64 2/2
Verifying : librsync-1.0.0-1.el7.x86_64 1/2
Verifying : librsync-1.0.0-1.el5.x86_64 2/2
Updated:
librsync.x86_64 0:1.0.0-1.el7
Complete!
But still, when I run the ./configure, I still get the following:
checking librsync.h usability... no
checking librsync.h presence... no
checking for librsync.h... no
checking for rs_delta_begin in -lrsync... no
Please install librsync
Try installing librsync-devel. The librsync package contains the library, and the librsync-devel is the development package, with the header files and development libraries.
Try installing librsync-devel. The librsync package contains the library, and the librsync-devel is the development package, with the header files and development libraries.
why are you installing it from a downloaded file in your temp folder ?
...
contact redhat and TURN ON the redhat repos
1) As noted earlier in thread librsync and librsync-devel are not in the RHEL7 repositories so he downloaded from the EPEL. He COULD have set the EPEL as a defined repository but I generally do what he did. Download the file and I need and install locally rather than defining 3rd party repositories so as not to pollute my RHEL install with possibly unsupported versions of software when supported RHEL versions DO exist in the RHEL repositories. (If one doesn't care then why use RHEL at all?)
2) You don't "contact redhat" to turn on the RHEL repositories. You register the RHEL server from the RHEL server itself (assuming you have open entitlements) and manage your repositories at host level.
What application is this for? Maybe they have a recommendation to help with the install.
Also you can try yum local install.
OP's issue wasn't with yum installation. It was with attempting to configure another package. That was failing because it couldn't find librsync header file which aren't on RHEL7 by default and aren't in its repositories so he needs to install librsync-devel (and has already installed librsync itself).
Many packages that aren't bundled for the distro's preferred package manager (RPM in the case of RHEL) require you to compile them.
Typically such bundles tar.gz (or tgz) bundles that you download and extract to a directory. You then run a configure script in the extracted directory and that will try to determine if you have what it needs to be compiled and where it is on your distro then generates a makefile (or multiple makefiles). You then run make on the makefile to do the compilation. (Some will also have other makefiles such as makefile.in to run a make against to install the binaries it compiled as well as any other required files into the appropriate directories.
It appears the OP was on the configure step of some such process and it failed because it couldn't find librsync headers, hence the recommendations that followed to get librsync and librsync-devel packages from the EPEL.
By the way for installing downloaded rpms one can use "rpm -i ...." and yum isn't really required though may help in resolving dependencies. I typically do rpm -i because often enough downloaded rpms from 3rd parties have additional dependencies that also are not in the default RHEL repositories. It lets me choose how far I want to go even though it does sometimes run into the "dependency hell" folks used to deal with before the advent of yum.
Last edited by MensaWater; 06-18-2015 at 08:17 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.