Linux: libraries in verborgen map

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Berichten: 246

Linux: libraries in verborgen map

Ik heb een numeriek programma gecompileerd met een fortran compiler op Linux. Het uitvoerbare bestand is klein, ik kopieer het doorgaans naar de afzonderlijke mappen waarin de invoerbestanden zich bevinden. Zodra ik het programma start verschijnt er een verborgen map genaamd './lib', hierin staan kennelijk hulpbestanden.
 
Zojuist heb ik de map met de broncode van het gecompileerde programma gekopieerd, zodat ik zelf aan de code kan gaan sleutelen. Ik kreeg bij het kopieren een vraag over 'symlinks', en weet niet meer precies welke optie ik toen gekozen heb. Maar het had tot gevolg dat de hulpbestanden in elke './lib' niet meer gevonden werden, ook al stonden ze er wel als ik zelf keek.
 
Toen ik opnieuw gecompileerd had en het programma opnieuw kopieerde naar de invoerbestanden was het weer okee.
 
Het is misschien een beetje een vaag verhaal maar heeft iemand een idee wat hier gaande is? Wat is de logica achter de ./lib mappen? Waarom kan ik de gecompileerde broncode niet kopieren/plakken?
Help wetenschappers aan rekenkracht: Verbindt jouw PC binnen 10 minuten met de meest krachtige supercomputer op aarde!

Sluit je aan bij het Wetenschapsforum team (nr: 48658) en steun onderzoek naar alzheimer, kanker en andere ziektes. Meer info: folding.standford.edu

Berichten: 12.262

Re: Linux: libraries in verborgen map

Ik vermoed dat de optie is om automatisch een symlink te maken van ./lib relatief aan het pad waar je je programma neer zet, en die symlink zal dan verwijzen naar een vaste locatie waar de libraries daadwerkelijk staan. 
 
Als je vervolgens wel het programma kopieert maar niet de symlink kan het programma de libraries niet meer vinden en werkt het niet meer. 
Victory through technology


Gebruikersavatar
Berichten: 246

Re: Linux: libraries in verborgen map

Bedankt, zo kom ik weer een stapje verder!
Dus bij 'static linking' zitten de libraries in het uitvoerbare bestand zelf, en zodra ik het uitvoer worden ze uitgepakt naar een verborgen map?
 
En dan nog snap ik niet wat er aan de hand is want het programma zelf kopieren gaat prima. Het was pas toen ik een kopie van de gecompileerde code maakte dat het fout ging.
Help wetenschappers aan rekenkracht: Verbindt jouw PC binnen 10 minuten met de meest krachtige supercomputer op aarde!

Sluit je aan bij het Wetenschapsforum team (nr: 48658) en steun onderzoek naar alzheimer, kanker en andere ziektes. Meer info: folding.standford.edu

Berichten: 7.068

Re: Linux: libraries in verborgen map

Is 'static linking' dan zo ingericht dat de libraries in een verborgen map aan het uitvoerbare bestand worden gekoppeld?
Nee. Als je de "static link"-optie gebruikt zou alles in 1 file moeten komen. Is dit niet zo als je dit probeert?
 
En dan nog snap ik niet wat er aan de hand is want het programma zelf kopieren gaat prima. Het was pas toen ik een kopie van de gecompileerde code maakte dat het fout ging.
Ik snap niet wat je hier zegt en het is me dus niet helemaal duidelijk wat je precies gedaan hebt.

Reageer