Closed ydahhrk closed 7 years ago
pkg-config is a helper that simply tells the building environment where dependencies can be found. It is optional; one can provide this information manually.
Most configure
scripts, particularly the ones made by autoconf, can be queried for info on how to do this:
ydahhrk@ubuntu16:~/Jool/usr$ ./configure --help
...
Some influential environment variables:
...
LIBNLGENL3_CFLAGS
C compiler flags for LIBNLGENL3, overriding pkg-config
LIBNLGENL3_LIBS
linker flags for LIBNLGENL3, overriding pkg-config
Therefore,
./configure LIBNLGENL3_CFLAGS=-I/usr/include/libnl3 LIBNLGENL3_LIBS="-lnl-genl-3 -lnl-3"
Gets the job done without installing pkg-config.
All that's left hanging is, "how do I know the exact value of CFLAGS and LIBS for my library/system?" The answer is "library documentation", apparently. Though in this case, libnl's documentation suggests just installing pkg-config and calling it a day.
Hmm.
I would also have expected autoconf to blow up on Jool 3.4 too. I mean the mechanism pkg-config uses to check libnl-genl-3 (Jool 3.5) is AFAIK the same it used to validate libnl-3 (3.4).
It does blow up as well.
Even on top of that, I would have expected pkg-config to be installed by default on Ubuntu 16.04 anyway.
It is apparently installed by default in Ubuntu Desktop. It is not installed by default in Ubuntu Server.
Ok, going to include this in the docs.
@pierky
See #227