Ubuntu 10.04 a G++/GCC - linker LD +lib

Krzysztof Mularski krzysztof.mularski w gmail.com
Wto, 4 Maj 2010, 22:31:33 BST


Witam szanowne grono.

W wielkich bulach zainstalowałem nową wersję Ubuntu 10.04 ... miała być 
tylko aktualizacja, ale posypał mi się CAŁY system (wówczas doskonale 
spisujący się 9.10) ... Jako że posypało się dosłownie wszystko, z innej 
maszyny pobrałem obraz płyty i zainstalowałem nowy system na tej samej 
partycji.

Przetrwało prawie wszystko, tylko niektóre aplikacje trzeba było 
przeinstalować/doinstalować - najważniejsze że konfiguracja z ~ 
przetrwała ;)

Ale do rzeczy - po wszystkich tych trudnościach przyszło do kompilowania 
mojego projektu - aplikacji napisanej w C++

Problem pojawia się kiedy wpiszę jedno z:
make
g++
gcc

Otrzymuję identyczne komunikaty, np. gdy kompiluję z poleceniem

# g++ -L/usr/lib/ -lpthread {tu-moje-pliki.o} ./c/main.cpp -o {nazwa-app}
lub (efekt jest ten sam)
# g++ -lpthread {tu-moje-pliki.o} ./c/main.cpp -o {nazwa-app}

/usr/bin/ld: skipping incompatible /usr/lib//libpthread.so when 
searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib//libpthread.a when searching 
for -lpthread
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/libpthread.so when 
searching for -lpthread
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/libpthread.a when 
searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libpthread.so when 
searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libpthread.a when 
searching for -lpthread
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libpthread.so when searching 
for -lpthread
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libpthread.a when searching 
for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching 
for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching 
for -lpthread
/usr/bin/ld: cannot find -lpthread
collect2: ld returned 1 exit status


lub inna aplikacja, zwykle kompilująca się bez problemu, bo nie zawiera 
niczego co nie jest standardowe

# g++ string-tester.cpp -o string-tester.out
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/libm.so when searching 
for -lm
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/libm.a when searching 
for -lm
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.so when 
searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.a when searching 
for -lm
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libm.so when searching for -lm
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libm.a when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/libm.a when searching for -lm
/usr/bin/ld: cannot find -lm
collect2: ld returned 1 exit status


w folderze  /etc/ld.so.conf.d/ dodałem plik o zawartości wskazującej 
ścieżkę do /usr/lib

-- 
Pozdrawiam
Krzysztof Mularski





Więcej informacji o liście dyskusyjnej ubuntu-pl