GCC linkelés, nem találhato .so

Kezdőlap Fórumok Programozás GCC linkelés, nem találhato .so

9 bejegyzés megtekintése - 31-39 / 39
  • Szerző
    Bejegyzés
  • #2117431
    gabaman
    Felhasználó

      Hmm, nem biztos, hogy a fordítással van a gond. Lehet akár Ubuntu feature is (pl. ha ki van kapcsolva az ld.so.cache frissítése). Az

      # ldconfig -p |grep libpurple

      megmondja, hogy az ldconfig látja-e a libet. Ha igen, már csak az a kérdés, hogy mikor frissült a gyorstár:

      $ ls -l /etc/ld.so.cache

      #2117432
      gabaman
      Felhasználó

        Hmm, nem biztos, hogy a fordítással van a gond. Lehet akár Ubuntu feature is (pl. ha ki van kapcsolva az ld.so.cache frissítése). Az

        # ldconfig -p |grep libpurple

        megmondja, hogy az ldconfig látja-e a libet. Ha igen, már csak az a kérdés, hogy mikor frissült a gyorstár:

        $ ls -l /etc/ld.so.cache

        #2117433
        sevi
        Felhasználó

          Az első nem ad vissza semmit, viszont a cache most volt frissítve.

          #2117434
          sevi
          Felhasználó

            Az első nem ad vissza semmit, viszont a cache most volt frissítve.

            #2117435
            gabaman
            Felhasználó

              Összegezve, beírtad az ld.so.conf-ba egy üres sorba az /usr/local/lib sort, és az ldconfig lefutása után az ‘ldconfig -p’ nem találja meg a libet. Ez érdekes. Már az első válasz (uzsolt) tartalmazta az általánosan működő megoldást, és mégsem megy. Nincs más ötletem. Egyértelműen az ldconfig körül van a probléma.

              #2117436
              gabaman
              Felhasználó

                Összegezve, beírtad az ld.so.conf-ba egy üres sorba az /usr/local/lib sort, és az ldconfig lefutása után az ‘ldconfig -p’ nem találja meg a libet. Ez érdekes. Már az első válasz (uzsolt) tartalmazta az általánosan működő megoldást, és mégsem megy. Nincs más ötletem. Egyértelműen az ldconfig körül van a probléma.

                #2117437
                sevi
                Felhasználó

                  Hi!

                  Újraolvastam a topicot és megint megcsináltam mindent, és most jó. Biztos elböktem valamit az előbb. Bocsi a vaklármáért.

                  Köszönöm mindenkinek a segítséget és a gyors válaszokat! Azért felírom valami ubuntu forumra mert jo lenne ha esetleg mas ember rendszeren is működne 🙂

                  #2117438
                  sevi
                  Felhasználó

                    Hi!

                    Újraolvastam a topicot és megint megcsináltam mindent, és most jó. Biztos elböktem valamit az előbb. Bocsi a vaklármáért.

                    Köszönöm mindenkinek a segítséget és a gyors válaszokat! Azért felírom valami ubuntu forumra mert jo lenne ha esetleg mas ember rendszeren is működne 🙂

                    #1886541
                    csaba
                    Felhasználó

                      Hi!

                      Ezzel a paranccsal próbálom lefordítani a kódot (C):
                      gcc *.c `pkg-config ewl glib-2.0 [b]purple[/b] –libs –cflags` -o elaborate
                      [/CODE]

                      A fordítás rendben lemegy, de futtatásnál nem találja a libpurple.so.0 fájlt, ami az /usr/local/lib-ben leledzik.

                      [CODE=red,2,300]$ pkg-config purple –libs –cflags
                      -I/usr/local/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  [b]-L/usr/local/lib[/b] [b]-lpurple[/b] -lglib-2.0 
                      [/CODE]

                      Ha linkelem az /usr/lib-be, ott megtalálja, de ez nem valami elegáns. A pidgin működik (az is libpurple-t használ) szóval nem értem hogy az én binárisom miért nem találja meg.

                      [CODE=red,2,300]$ ldd ./elaborate |grep purple
                        libpurple.so.0 => not found
                      [/CODE]

                      ldconfig nem segít (igazából nem tudom mit csinál de szokott segíteni más alkalmazásoknál ha ez a probléma).

                      Csak autodidakta módon tanulom a C-t úgyhogy valószínűleg nem vagyok egy pár dologgal tisztában a linkeléssel, de nem a gcc írja bele, hogy hol fogja találni a fájlt? Márpedig a gcc tudja, hogy hol van mert különben nem fordítaná le.

                      Előre is köszönöm a segítséget!

                      [i]Nagyon jól néz ki az Office2007 ikon a jobb felső sarokban ^^ éljen a linux.[/i][CODE=red,2,300]gcc *.c `pkg-config ewl glib-2.0 purple –libs –cflags` -o elaborate
                      [/CODE]

                      A fordítás rendben lemegy, de futtatásnál nem találja a libpurple.so.0 fájlt, ami az /usr/local/lib-ben leledzik.

                      $ pkg-config purple –libs –cflags
                      -I/usr/local/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  [b]-L/usr/local/lib[/b] [b]-lpurple[/b] -lglib-2.0 
                      [/CODE]

                      Ha linkelem az /usr/lib-be, ott megtalálja, de ez nem valami elegáns. A pidgin működik (az is libpurple-t használ) szóval nem értem hogy az én binárisom miért nem találja meg.

                      [CODE=red,2,300]$ ldd ./elaborate |grep purple
                        libpurple.so.0 => not found
                      [/CODE]

                      ldconfig nem segít (igazából nem tudom mit csinál de szokott segíteni más alkalmazásoknál ha ez a probléma).

                      Csak autodidakta módon tanulom a C-t úgyhogy valószínűleg nem vagyok egy pár dologgal tisztában a linkeléssel, de nem a gcc írja bele, hogy hol fogja találni a fájlt? Márpedig a gcc tudja, hogy hol van mert különben nem fordítaná le.

                      Előre is köszönöm a segítséget!

                      [i]Nagyon jól néz ki az Office2007 ikon a jobb felső sarokban ^^ éljen a linux.[/i][CODE=red,2,300]$ pkg-config purple –libs –cflags
                      -I/usr/local/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -L/usr/local/lib -lpurple -lglib-2.0 
                      [/CODE]

                      Ha linkelem az /usr/lib-be, ott megtalálja, de ez nem valami elegáns. A pidgin működik (az is libpurple-t használ) szóval nem értem hogy az én binárisom miért nem találja meg.

                      $ ldd ./elaborate |grep purple
                        libpurple.so.0 => not found
                      [/CODE]

                      ldconfig nem segít (igazából nem tudom mit csinál de szokott segíteni más alkalmazásoknál ha ez a probléma).

                      Csak autodidakta módon tanulom a C-t úgyhogy valószínűleg nem vagyok egy pár dologgal tisztában a linkeléssel, de nem a gcc írja bele, hogy hol fogja találni a fájlt? Márpedig a gcc tudja, hogy hol van mert különben nem fordítaná le.

                      Előre is köszönöm a segítséget!

                      [i]Nagyon jól néz ki az Office2007 ikon a jobb felső sarokban ^^ éljen a linux.[/i][CODE=red,2,300]$ ldd ./elaborate |grep purple
                        libpurple.so.0 => not found
                      [/CODE]

                      ldconfig nem segít (igazából nem tudom mit csinál de szokott segíteni más alkalmazásoknál ha ez a probléma).

                      Csak autodidakta módon tanulom a C-t úgyhogy valószínűleg nem vagyok egy pár dologgal tisztában a linkeléssel, de nem a gcc írja bele, hogy hol fogja találni a fájlt? Márpedig a gcc tudja, hogy hol van mert különben nem fordítaná le.

                      Előre is köszönöm a segítséget!

                      Nagyon jól néz ki az Office2007 ikon a jobb felső sarokban ^^ éljen a linux.

                    9 bejegyzés megtekintése - 31-39 / 39
                    • Be kell jelentkezni a hozzászóláshoz.