Autor Wątek: Eclipse/GLFW error while loading shared libraries  (Przeczytany 2022 razy)

Offline IgI

  • Użytkownik

# Sierpień 27, 2013, 13:28:15
Witam
Postanowiłem niedawno się przerzucić na Debiana wheezy i jak na razie jestem bardzo zadowolony. Postanowiłem też pobawić się OpenGL-em. Zbudowałem sobie ze źródeł najnowsze wersje glew i glfw, stworzyłem projekt w Eclipse CDT Kepler, skopiowałem przykładowy kod ze strony glfw i wszystko ładne zbudowałem. Niestety przy odpalaniu dostaję:

/home/igor/Dokumenty/Eclipse/OpenGLSandbox/Debug/OpenGLSandbox: error while loading shared libraries: libglfw.so.3: cannot open shared object file: No such file or directory

Nie wiem co dalej z tym zrobić. W ustawieniach projektu dodaje do library search path:

/usr/local/lib

A w libraries:

glfw

W folderze lib mamy pliki:
 - libglfw.so dowiązany do libglfw.so.3,
 - libglfw.so.3 dowiązany do libglfw.so.3.0,
 - libglfw.so.3.0,
 - libglfw3.a,
 - katalogi do innych bibliotek, ale to nie istotne.

Macie może pomysły? Bo albo ja coś przeoczyłem, albo eclipse i debian jakoś inaczej działają, niż się spodziewam.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline hfjh

  • Użytkownik

  • +2
# Sierpień 27, 2013, 13:35:17
Ustaw zmienną środowiskową LD_LIBRARY_PATH na /usr/local/lib albo uruchom ldconfig. Z tego co pamiętam zmienne środowiskowe używane przy uruchamianiu programów z Eclipse można ustawić gdzieś w właściwościach projektu.
« Ostatnia zmiana: Sierpień 27, 2013, 13:38:16 wysłana przez hfjh »

Offline IgI

  • Użytkownik

# Sierpień 27, 2013, 14:50:56
Odpaliłem
ldconfig -v
i wszytko śmiga.
Wielkie dzięki :)

Offline Anton Chigurh

  • Użytkownik

# Sierpień 28, 2013, 22:52:08
Na przyszłość: LD_LIBRARY_PATH zadziała, ale służy tylko do tymczasowej zmiany konfiguracji.
Tutaj wystąpił problem ze skryptem instalacyjnym, który nie wywołał na koniec ldconfig - zdarza się.
Raz miałem też sytuację, gdzie w jakiejś dystrybucji (nie pamiętam jakiej), domyślnie czytane były biblioteki tylko z /usr/lib ale już nie z /usr/local/lib, czyli niewidoczne były biblioteki instalowane "from the finger" - w takim przypadku trzeba poprawić zawartość /etc/ld.so.conf