Я анализировал gcc -v main.c -Wl, --verbose
, когда понял, что несколько путей, упомянутых в переменной LIBRARY_PATH
, были смехотворно избыточны (предполагая, что ../
относится к родительскому каталогу).
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
Для Например, посмотрите на это:
:/usr/lib/../lib/
Почему это существует? Какой смысл входить в lib
, затем выходить из него и снова возвращаться в? Учитывая, что /usr/lib
также включен в конце.