Hello Adolf,
Normally you should not need to add anything extra for this to work. The compiler should know where to search for libraries.
If pkg-config is being used, this might be a little bit different.
On 3 May 2023, at 13:02, Adolf Belka adolf.belka@ipfire.org wrote:
Hi All,
There is a new version for rng-tools so I thought I would do an update but it kept stopping saying that it required libcap and could not find it.
I noted that the libcap libs are in /lib and not in /usr/lib as the other packages that rng-tools looks for have their libs. (openssl, libxml2, curl, jansson)
The new version has a flag for the ./configure called libcap_LIBS which can be used to override pkg-config.
I tried that in various ways such as libcap_LIBS="/lib" or libcap_LIBS="/lib/libcap.so.2.67" and others, but none of them worked. The ./configure still ended up with the message
checking for libcap... no configure: error: libcap is required
I then noticed that libcap.pc is in /lib/pkgconfig/ while all the other packages being searched for are in /usr/lib/pkgconfig/
This should indeed be installed to /usr/lib/pkgconfig.
I don’t have a problem with simply changing —-prefix=/ to —-prefix=/usr for libcap, because we don’t support a split /usr directory anyways. That should make it easier.
I then manually did a copy of libcap.pc to /usr/lib/pkgconfig/ and then re ran just the rng-tools build and it then successfully found libcap and completed the build. So the problem is definitely to do withy the unusual location for the library files of libcap.
Do we have any other packages that install .pc files into funny places?
So the question I have is what is the best way to deal with this.
Should I add into the libcap lfs a line that copies the libcap.pc to /usr/lib/pkgconfig/ or
is can someone tell me what I am doing wrong with the libcap_LIBS flag for ./configure
Regards,
Adolf.
-Michael