Otrzymałem wiele ostrzeżeń o tym formularzu (dodano podział wiersza dla czytelności):
libtool: link: warning: `/usr/local/gcc-5.2.0/lib/gcc/x86_64-unknown-linux-gnu/
5.2.0/../../../../lib64/libstdc++.la" seems to be moved
i nie mogłem dowiedzieć się, dlaczego ostrzeżenie jest ważne. Pamiętaj, że obie ścieżki prowadzą do tej samej lokalizacji.
Odpowiedzi:
2 dla odpowiedzi № 1Okazuje się, że niestandardowa instalacja gcc-5.2.0 zainstalowała libstdc ++. La z następującymi libdir
linia:
libdir="/usr/local/gcc-5.2.0/lib/../lib64"
Ale kiedy libtool łączy się z libstdc++.la
, wykorzystuje ścieżkę zgłoszoną w ostrzeżeniu (która również jest częścią g++ --print-search-dirs
wyjście - prawdopodobnie jest to związane).
Rozwiązaniem jest zmiana libdir
wartość w libstdc++.la
do dokładnej ścieżki, którą libstdc++.la
jest przeszukiwany przez libtool:
libdir="/usr/local/gcc-5.2.0/lib/gcc/x86_64-unknown-linux-gnu/5.2.0/../../../../lib64"
Najwyraźniej libtool nie „normalizuje ani nie kanonizuje ścieżek i porównuje je jako ciągi, a więc błąd. Zobacz także pokrewny wątek na liście mailingowej libtool z 2006 roku.