Hi Michael,
On 03/05/2023 14:07, Michael Tremer wrote:
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.
Just before the various packages are checked to exist the configure also checks that pkg-config is existing.
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.
libcap currently keeps the library files in /lib/ but makes a symlink to one of them in /usr/lib/. Libcap doesn't have a configure line. There is a sed command on the Makefile to stop it building static libs and then it goes straight to make and then make install
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?
The other .pc files that are in /lib/pkgconfig/ are libkeyutils, libproc-2, libpsx and libsysfs
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