Problems using "make" and executing program
Hello everyone,
I am from Germany and very new to Linux. In school I had some courses with programming in Java and i did some work with Matlab etc. Further than this i have no experience with programming etc. For a project I need Linux to run the program FEAP, I got some files including "makefile". Because of that I installed Linux Mint Sonya 64bit on my "old" notebook Toshiba A200. Installation went well. Additionally I installed Intel Fortran Compiler (because I need it). After some problems with the program itself i could fix myself, I am now facing some problems:
Thanks in advance! Maybe the questions are "stupid" or if there are some informations missing: Sorry |
The make message is a warning, not an error, so it shouldn't affect your build. The second message is the important one.
Error messages in Linux tend to be very informative once you have learned to look at them properly and this is a case in point. It tells you that libguide.so, one of the libraries which feap is supposed to link to, can't be found. You will have to find out what package this library belongs to (try googling the name) and install it. There are no stupid questions! There are only stupid people who won't learn. You have given your post a reasonable title and quoted the messages you received, so you strike me as an intelligent person who should be able to learn from this. |
Hi matti_chr and welcome to LQ.
Your system should have an environment variable named LD_LIBRARY_PATH set. If not, then this should be set to point to the system directories. Please search your system for libguide.so to see if it is already there, or if you need to install it. If it is there, then check to see if you have the LD_LIBRARY_PATH environment variable and whether or not it includes a path to where this library resides. It should be there because this is part of the Intel FORTRAN compiler. What I recommend is that you check the documentation for that compiler to determine if it recommends you update your LD_LIBRARY_PATH once you've installed the compiler, so as to include the library directories which were installed. Additionally if you're going to perform FORTRAN programming, you should become familiar with the compiler documentation, https://software.intel.com/sites/def...6366-ifort.txt I'm moving this question to the Programming forum to get it additional exposure. |
Thank you both for your quick friendly reply and help.
1) I thought that this warning is "just a warning", thank you for the confirmation, so I can focus on the error. 2) I read the Error message Linux gave me. I looked for the lipguide.so, it exists. So my next thought that probably I need to "tell" where to find. On this point I decided to ask for help. So I think I need to set the LD_LIBRARY_PATH, right? But how? Maybe the answer is simple... Thank you! |
This should be in your .bashrc file located in your user home directory.
You can see that file using the 'ls -a' command. You should be able to edit it with whichever editor you are normally using. If there is no variable saying this, then do recommend you check your documentation for the tools to inform you how to set that up, however a line such as: Code:
LD_LIBRARY_PATH=/lib:/usr/lib |
You may need to run ldconfig.
|
@OP: Exactly where did you find this libguide.so in your filesystem?
|
Ok, the program is running. What I did for the LD_LIBRARY_PATH, I used the following command in the terminal:
export LD_LIBRARY_PATH=/home/matti/Dokumente/feap81/lib @NevemTeve: above you can the the directory of the libguide.so Thank you all so far for your help from all over the world, I really appreciate that!:thumbsup: |
I wouldn't do it that way. If you have LD_LIBRARY_PATH set, it should include all the library paths that you use. Otherwise, other programs might start playing up.
By default, /lib and /usr/lib are always searched for libraries. If you have other library locations on your system (for example /opt/lib), they need to be specified somewhere. Another way would be to put these paths into /etc/ld.so.conf and then run ldconfig. That way you don't need LD_LIBRARY_PATH. You might find this reference useful. |
For my understanding:
Quote:
Quote:
What would be the "best" (or not problem causing) solution? Following quote is from your link: Quote:
|
@OP: So you have installed this 'feap' program manually into your own home-directory? Then it is no wonder that it doesn't find its own shared libraries.
You could try something like this (if the executable is /home/matti/Dokumente/feap81/bin/feap): Code:
cd /home/matti/Dokumente/feap81/bin |
@NevemTeve:
I am thankful for every hint. I was given some files on USB-Stick for the feap program. Those files include the libguide.so and the makefile. I copied this files to /home/matti/dokumente/feap81.
Thank you for the code, but would you maybe comment what it will do before I just copy and paste? I understand that it will "move" (mv) someway... |
Quote:
Quote:
Quote:
Quote:
|
@OP: This thing is called loader script or launcher script: it sets some environment-variables, then executes the actual binary program.
If it is properly created, running /home/matti/Dokumente/feap81/bin/feap will start the launcher script, that will set LD_LIBRARY_PATH then execute the binary program. Note: you have to correct the file-names so they match your installation. |
All times are GMT -5. The time now is 05:22 AM. |