Closes #2049 (closed)
For any normal Unix, this is the output of a pkg-config:
$ pkg-config --libs /usr/local/lib/pkgconfig/libyang.pc -L/usr/local/lib -lyang
For Fedora 34, with the same .pc file:
$ pkg-config --libs /usr/lib64/pkgconfig/libyang.pc -lyang
-L is missing.
For any normal Unix, the final flags end up being:
-L/usr/local/lib -lyang -Wl,-R/usr/local/lib -lyang -L/usr/local/lib -lyang-cpp -Wl,-R/usr/local/lib -lyang-cpp
Notice the rpath flags
But because -L is missing, which is used to take the location from to be passed to
-Wl,-R, on Fedora, these are:
-lsysrepo -Wl,-R -lyang -Wl,-R -lyang-cpp -Wl,-R -lsysrepo-cpp -Wl,-R
-Wl,-R is causing
undefined reference to std::ios_base::Init::Init(). I don't know why exactly, but I tested this on a separate file, and removing the empty flag gets rid of the linking error.
I also made sure YANG repo in created in hammer in a separate commit.
Test run with these changes (watch for Fedora 34 especially): https://jenkins.aws.isc.org/view/Kea-manual/job/kea-manual/job/ut-extended/82/