You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PATHS are just additional paths to search after it's done searching the
default paths([1]) so these additional paths are useless. Comparing the
paths between old and new by changing the libname from `bcc` to
`pancake` and using:
```
/usr/local/bin/cmake .. -DCMAKE_FIND_DEBUG_MODE=true 2>&1 1>/dev/null | \
grep LIBBCC_LIBRARIES -A 40
```
Shows that the only diff is
```
➜ /tmp diff -u old new
--- old 2021-05-13 21:55:12.000000000 +0200
+++ new 2021-05-13 21:55:07.000000000 +0200
@@ -25,5 +25,3 @@
/opt/lib/(lib)pancake(\.so|\.a)
/opt/(lib)pancake(\.so|\.a)
/usr/lib/X11/(lib)pancake(\.so|\.a)
-/opt/local/lib/(lib)pancake(\.so|\.a)
-/sw/lib/(lib)pancake(\.so|\.a)
```
The full list considered is:
```
/usr/local/sbin/(lib)pancake(\.so|\.a)
/usr/local/bin/(lib)pancake(\.so|\.a)
/usr/sbin/(lib)pancake(\.so|\.a)
/usr/bin/(lib)pancake(\.so|\.a)
/sbin/(lib)pancake(\.so|\.a)
/bin/(lib)pancake(\.so|\.a)
/usr/games/(lib)pancake(\.so|\.a)
/usr/local/games/(lib)pancake(\.so|\.a)
/snap/bin/(lib)pancake(\.so|\.a)
/usr/local/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/usr/local/lib/(lib)pancake(\.so|\.a)
/usr/local/(lib)pancake(\.so|\.a)
/usr/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/usr/lib/(lib)pancake(\.so|\.a)
/usr/(lib)pancake(\.so|\.a)
/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/lib/(lib)pancake(\.so|\.a)
/usr/X11R6/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/usr/X11R6/lib/(lib)pancake(\.so|\.a)
/usr/X11R6/(lib)pancake(\.so|\.a)
/usr/pkg/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/usr/pkg/lib/(lib)pancake(\.so|\.a)
/usr/pkg/(lib)pancake(\.so|\.a)
/opt/lib/x86_64-linux-gnu/(lib)pancake(\.so|\.a)
/opt/lib/(lib)pancake(\.so|\.a)
/opt/(lib)pancake(\.so|\.a)
/usr/lib/X11/(lib)pancake(\.so|\.a)
```
When we want to also search a subdir we should set `PATH_SUFFIXES`
instead, for libelf this changes the searchpath from
```
/usr/local/sbin/(lib)elf(\.so|\.a)
/usr/local/bin/(lib)elf(\.so|\.a)
/usr/sbin/(lib)elf(\.so|\.a)
/usr/bin/(lib)elf(\.so|\.a)
/sbin/(lib)elf(\.so|\.a)
/bin/(lib)elf(\.so|\.a)
/usr/games/(lib)elf(\.so|\.a)
/usr/local/games/(lib)elf(\.so|\.a)
/snap/bin/(lib)elf(\.so|\.a)
/usr/local/lib/x86_64-linux-gnu/(lib)elf(\.so|\.a)
/usr/local/lib/(lib)elf(\.so|\.a)
/usr/local/(lib)elf(\.so|\.a)
```
```
/usr/local/sbin/libelf/(lib)elf(\.so|\.a)
/usr/local/sbin/(lib)elf(\.so|\.a)
/usr/local/bin/libelf/(lib)elf(\.so|\.a)
/usr/local/bin/(lib)elf(\.so|\.a)
/usr/sbin/libelf/(lib)elf(\.so|\.a)
/usr/sbin/(lib)elf(\.so|\.a)
/usr/bin/libelf/(lib)elf(\.so|\.a)
/usr/bin/(lib)elf(\.so|\.a)
/sbin/libelf/(lib)elf(\.so|\.a)
/sbin/(lib)elf(\.so|\.a)
/bin/libelf/(lib)elf(\.so|\.a)
/bin/(lib)elf(\.so|\.a)
/usr/games/libelf/(lib)elf(\.so|\.a)
/usr/games/(lib)elf(\.so|\.a)
/usr/local/games/libelf/(lib)elf(\.so|\.a)
/usr/local/games/(lib)elf(\.so|\.a)
/snap/bin/libelf/(lib)elf(\.so|\.a)
/snap/bin/(lib)elf(\.so|\.a)
/usr/local/lib/x86_64-linux-gnu/libelf/(lib)elf(\.so|\.a)
/usr/local/lib/x86_64-linux-gnu/(lib)elf(\.so|\.a)
/usr/local/lib/libelf/(lib)elf(\.so|\.a)
/usr/local/lib/(lib)elf(\.so|\.a)
/usr/local/libelf/(lib)elf(\.so|\.a)
/usr/local/(lib)elf(\.so|\.a)
/usr/lib/x86_64-linux-gnu/libelf/(lib)elf(\.so|\.a)
```
Users that do want their software in /opt or /sw for whatever reason
should instead modify the cmake search path, e.g. using
`-DCMAKE_LIBRARY_PATH=/sw/junk` the search turns into
```
find_library considered the following locations:
/sw/junk/(lib)bcc(\.so|\.a)
/usr/local/sbin/(lib)bcc(\.so|\.a)
/usr/local/bin/(lib)bcc(\.so|\.a)
```
0 commit comments