Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a workstation and a server. Both running RHEL 6. I have a user who is trying to compile on the server a piece of code that uses X11 libraries. This same code compiles on the workstation, but complains it:
Quote:
/usr/bin/ld: cannot find -lX11
The Makefile has:
Quote:
-L/usr/lib64 -lX11
Everything is identical as far as the source code on both machines. I even tried it on a second workstation, and it compiles there too. I have looked in /usr/lib64 on both machines and compared the contents, as well as using "yum list installed" to compare the machines. I have an executable on one machine, the other creates all of the object files, but doesn't link becuase it can't find the x11 library. So my question is, how can I find the exact library the Makefile is looking for?
I have a workstation and a server. Both running RHEL 6. I have a user who is trying to compile on the server a piece of code that uses X11 libraries. This same code compiles on the workstation, but complains it:
The Makefile has:
Everything is identical as far as the source code on both machines. I even tried it on a second workstation, and it compiles there too. I have looked in /usr/lib64 on both machines and compared the contents, as well as using "yum list installed" to compare the machines. I have an executable on one machine, the other creates all of the object files, but doesn't link becuase it can't find the x11 library. So my question is, how can I find the exact library the Makefile is looking for?
Depending on where you installed it.
As in the example: -L/usr/X11R6.4/lib -lX11 -lICE -lSM
did you read the README and INSTALL files for this unknown software you are trying to build
also servers normally DO NOT have x11/xorg installed , there is no need for a GUI and having a GUI installed is a HUGE security risk
the easiest way is to use the rhel RHN repo and do a groupinstall
Code:
su -
yum grouplist
---- then from that list -----
yum groupinstall "X Window System"
and likely gcc
yum groupinstall "Development Tools"
but this is a big , VERY BIG security risk on a server
having a GUI ( xorg) AND HAVING GCC INSTALLED is not recommended
so REMOVE GCC AND THE XORG AS SOON AS POSSIBLE !!!
We are not using gcc to compile the software, we are using Portland Group compilers. Here is what I did find with some more work. The software didn't come with a readme. It compiles on two workstations, but not on the server. This server was purchased to replace an only ROCKS cluster that the software also compiles on called bean. So I tarred up the sources from bean and moved them to my machine, compiled it, and ran it. I'm a system administrator, not a programer. The user's original request was to install the missing X11 libraries. So after I was able to build the executable on my machine, I was able to run it on the server. I still need to find out what the software expect as an input, but I ran ldd on the executable and all of the libraries are there:
are you running this Microsoft Windows program through wine ?
what version and how was wine installed ?
No, this in on a Linux system. When the Portland Compiler, in this case Fortran, produces an executable, it gives it the .exe entension, why, I have no idea, but it run directly on the Linux machine.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.