No ranlib called on static libraries
When I compile NetworkManager with CC=clang CXX=clang++ CFLAGS="-O3 -flto -fno-omit-frame-pointer -fno-optimize-sibling-calls -g" LDFLAGS="-fsanitize=address -Wl,-z,undefs"
, linking fails with
make all-recursive
make[1]: Entering directory '/src/gnome/NetworkManager-1.18.1/build'
Making all in .
make[2]: Entering directory '/src/gnome/NetworkManager-1.18.1/build'
CCLD clients/cli/nmcli
/usr/local/bin/ld: clients/common/.libs/libnmc-base.a: error adding symbols: archive has no index; run ranlib to add one
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Makefile:10589: clients/cli/nmcli] Error 1
make[2]: Leaving directory '/src/gnome/NetworkManager-1.18.1/build'
make[1]: *** [Makefile:18587: all-recursive] Error 1
make[1]: Leaving directory '/src/gnome/NetworkManager-1.18.1/build'
make: *** [Makefile:8362: all] Error 2
Then I have to run “ranlib find -name '*.a'
&& make” and everything compiles.