/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
libs i non-default dir.
Fra : Kasper S Nielsen


Dato : 25-08-05 18:09


Hej

Jeg har en linux installation (OpenWRT).

libs installeres normalt i /lib og /usr/lib

Nu ligger landet således, at jeg grundet pladsmangel i / har mounted en
disk på /opt

Når jeg installerer pakker dertil, kommer libs typisk til at ligge i
/opt/usr/lib

De libs kan mine programmer ikke finde. En løsning er, manuelt, at
oprette symlinks i /usr/lib til alle filer i /opt/usr/lib - men det
virker NOGET tåbeligt at gøre det på den måde.

Findes der en bedre måde?

Evt. en måde hvorpå man kan "symlinke" hele indholder af /opt/usr/lib så
filerne kan accesses vha kald til /usr/lib ?

Eller kan man slet og ret fortælle min linux et eller andet sted, at den
skal kigge i /opt/lib og /opt/usr/lib også når den leder efter libs?


 
 
Peter Makholm (25-08-2005)
Kommentar
Fra : Peter Makholm


Dato : 25-08-05 18:23

Kasper S Nielsen <ksn@get2net.dk> writes:

> Når jeg installerer pakker dertil, kommer libs typisk til at ligge i
> /opt/usr/lib
>
> De libs kan mine programmer ikke finde. En løsning er, manuelt, at
> oprette symlinks i /usr/lib til alle filer i /opt/usr/lib - men det
> virker NOGET tåbeligt at gøre det på den måde.
>
> Findes der en bedre måde?

Indsæt /opt/usr/libs i /etc/ld.so.conf og kør ldconfig. Læs
manualsiden ldconfig(8).

--
Peter Makholm | Perhaps that late-night surfing is not such a
peter@makholm.net | waste of time after all: it is just the web
http://hacking.dk | dreaming
| -- Tim Berners-Lee

Kasper S Nielsen (25-08-2005)
Kommentar
Fra : Kasper S Nielsen


Dato : 25-08-05 18:33

>>De libs kan mine programmer ikke finde. En løsning er, manuelt, at
>>oprette symlinks i /usr/lib til alle filer i /opt/usr/lib - men det
>>virker NOGET tåbeligt at gøre det på den måde.
>>Findes der en bedre måde?

> Indsæt /opt/usr/libs i /etc/ld.so.conf og kør ldconfig. Læs
> manualsiden ldconfig(8).

Der er bare ingen ld.so.conf eller for den sags skyld ldconfig



Peter Makholm (25-08-2005)
Kommentar
Fra : Peter Makholm


Dato : 25-08-05 19:02

Kasper S Nielsen <ksn@get2net.dk> writes:

>> Indsæt /opt/usr/libs i /etc/ld.so.conf og kør ldconfig. Læs
>> manualsiden ldconfig(8).
>
> Der er bare ingen ld.so.conf eller for den sags skyld ldconfig

Det kan godt være at der ikke er en /etc/ld.so.conf i forvejen, men
hvis du ikke har /sbin/ldconfig, så er din linuxinstallation
underlig.

Jeg kender ikke openWRT, med ldconfig er en del af glibc6 som er en
meget central del af langt de fleste linuxdistributioner. Der kan godt
være nogle specielle (minimale) distributioner der er baseret på ulibc
eller dietlibc og hvad du så gør har jeg ingen anelse om.

--
Peter Makholm | If you can't do any damage as root, are you still
peter@makholm.net | really root?
http://hacking.dk | -- Derek Gladding about SELinux

Kasper S Nielsen (25-08-2005)
Kommentar
Fra : Kasper S Nielsen


Dato : 25-08-05 21:33

>
> Jeg kender ikke openWRT, med ldconfig er en del af glibc6 som er en
> meget central del af langt de fleste linuxdistributioner. Der kan godt
> være nogle specielle (minimale) distributioner der er baseret på ulibc
> eller dietlibc og hvad du så gør har jeg ingen anelse om.
>

OpenWRT er til routere der er Broadcom baserede (oprindeligt til Linksys).

www.openwrt.org

Jeg mener de bruger en ulibc af en art :)



Kasper Dupont (26-08-2005)
Kommentar
Fra : Kasper Dupont


Dato : 26-08-05 08:30

Kasper S Nielsen wrote:
>
> Hej
>
> Jeg har en linux installation (OpenWRT).
>
> libs installeres normalt i /lib og /usr/lib
>
> Nu ligger landet således, at jeg grundet pladsmangel i / har mounted en
> disk på /opt
>
> Når jeg installerer pakker dertil, kommer libs typisk til at ligge i
> /opt/usr/lib
>
> De libs kan mine programmer ikke finde. En løsning er, manuelt, at
> oprette symlinks i /usr/lib til alle filer i /opt/usr/lib - men det
> virker NOGET tåbeligt at gøre det på den måde.
>
> Findes der en bedre måde?
>
> Evt. en måde hvorpå man kan "symlinke" hele indholder af /opt/usr/lib så
> filerne kan accesses vha kald til /usr/lib ?
>
> Eller kan man slet og ret fortælle min linux et eller andet sted, at den
> skal kigge i /opt/lib og /opt/usr/lib også når den leder efter libs?

En løsning er at sætte en LD_LIBRARY_PATH environment
variabel til at pege på de ekstra direcotires, der
skal kigges i. Altså burde den her kommando hjælpe:
export LD_LIBRARY_PATH=/opt/usr/lib

Hvis du af en eller anden grund vil have, at den først
kigger i /lib og /usr/lib før den kigger i /opt/usr/lib
bliver du nødt til at skrive:
export LD_LIBRARY_PATH=/lib:/usr/lib:/opt/usr/lib

Alternativt kan du sørge for at angie den rigtige path,
når du compilerer de programmer, der skal bruge
libraries fra /opt/usr/lib

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste