1826405 Members
4072 Online
109692 Solutions
New Discussion

Re: Where is libXmu.sl?

 
Bill Calver
Advisor

Where is libXmu.sl?

I'm trying to link to libXmu.

On my system I have /usr/lib/X11R4/libXmu.sl and /usr/lib/libXmu.2 which points to /usr/contrib/X11R6/lib/libXmu.2.

Why is there no /usr/lib/libXmu.sl pointing to /usr/lib/libXmu.2?

Also, when linking I'm specifying "-L/usr/lib -l: libXmu.2" but it's not picking it up. Is this incorrect?

TIA,
Bill
8 REPLIES 8
Aussan
Respected Contributor

Re: Where is libXmu.sl?

/usr/lib/libXmu.2 is pointing to /usr/contrib/X11R6/lib/libXmu.2

and /usr/lib/X11R4/libXmu.sl is pointing to nothing

that's in our system

hope you find this helpful
The tongue weighs practically nothing, but so few people can hold it
Bill Calver
Advisor

Re: Where is libXmu.sl?

Can anyone tell me how they typically link to libXmu.2?
Aussan
Respected Contributor

Re: Where is libXmu.sl?

http://www1.itrc.hp.com/service/cki/docDisplay.do?docLocale=en_US&docId=200000079999258
The tongue weighs practically nothing, but so few people can hold it
Bill Calver
Advisor

Re: Where is libXmu.sl?

Thanks Aussan, that helps a bit but I'm still having trouble getting the compiler to pick up libXmu.2.

How do you do it?

Dennis Handly
Acclaimed Contributor

Re: Where is libXmu.sl?

One possible reason for not having a .sl link is that you aren't suppose to be using that lib, only existing applications can use it. Or you have to purchase a development product that has the link.

>but I'm still having trouble getting the compiler to pick up libXmu.2.

(This has nothing to do with the compiler, it is the linker.)
You do the obvious, as root, add a symlink. Or
you link with -l:libXmu.2.
Rick Beldin
HPE Pro

Re: Where is libXmu.sl?

/usr/lib/X11R4/libXmu.sl is truly ancient, probably dating back to 10.20 or even 10.01. It is left around for compatiblity with old apps that may have linked against libXmu.2.

Only the developer's kit 'delives' the .sl links that allow you to link to the binary.

In any case, you should not use the X11R4 version for new apps. Use the one in X11R6.
Necessary questions: Why? What? How? When?
Bill Calver
Advisor

Re: Where is libXmu.sl?

Dennis, Rick,
Thanks for the replies.

I guess I should have been more clear:

I'm compiling a package from source that is looking for -lXmu. I don't want it to use libXmu.sl under X11R4; I want it to pick up the lib from under X11R6.

In /usr/lib I only have libXmu.a and libXmu.2. I don't know why there isn't a libXmu.sl linked to libXmu.2 like so many other libs have. Aussan verified this as well. Also, as mentioned above, my /usr/lib/libXmu.2 points to /usr/contrib/X11R6/lib/libXmu.2 (not X11R4).

I have two machines: on one I have root and on the other I don't. On the one that I do I did create the link and everything was fine. But ultimately this (build script) will be delivered to customers who will not be expected to have root and it needs to build without error.

...
Ok, looking at my output more closely I see that the root of the problem is that in my final link I have < -L/usr/lib -l:libXmu.2 > listed before < -lXmu >. The -lXmu screws everything up. Without -lXmu it works.

But why would -lXmu override the -L -l: construct?

(btw, it's no different if -lXmu is before or after. If it's there, it fails.)
Dennis Handly
Acclaimed Contributor

Re: Where is libXmu.sl?

>But why would -lXmu override the -L -l: construct?

It doesn't. That's a completely different lib.

>(it's no different if -lXmu is before or after. If it's there, it fails.)

You need to replace -lXmu with -l:libXmu.2.

Looking back at what you initially said, it seems you used "-l: libXmu.2", other than the space, it should work.