[M3devel] A strange link time warning using cm3]

Rodney M. Bates rodney.bates at wichita.edu
Fri Aug 17 22:26:02 CEST 2007




I usually just manually edit my old cm3.cfg files, because I usually
have to merge my local library locations, etc.  And I haven't done a
cminstall in a while.  So I don't have the official version.

Right now, I have none of the libraries dynamically linked.  I just
didn't realize there were some of them that would not work on.

 From my cm3.cfg on the machine where I got the quoted message
(running Linux Mandrake 10.2):

------------------------------------------------------------------------
SYSTEM_LIBS = {
   "LIBC"       : [ "-lm" ],
% "LEX-YACC"   : [ "-L/usr/lib", "-ll" ], %-- not on most Linux platforms
   "FLEX-BISON" : [ "-L/usr/lib", "-lfl" ],
   "POSTGRES95" : [ "-L/usr/local/postgres95/lib", "-lpq" ],
   "OPENGL"     : [ "-L/usr/lib", "-lGLU", "-lGL", "-lXext" ],
   "MOTIF"      : [ "-L/usr/X11R6/lib", "-lXm" ],
   "X11"        : [ "-L/usr/X11R6/lib", "-lXaw", "-lXmu", "-lXext",
                         "-lXt", "-lSM", "-lICE", "-lX11" ],
   "PTHREAD"    : [ "-L/usr/lib", "-lpthread" ],
   "TCP"        : [ ]
}
------------------------------------------------------------------------

Even so, the warning only happens when I compile a program with
build_standalone ( ) in the m3makefile.

I guess I'll put back the -Xlinker -Bdynamic in the libraries that
Stefan's diff shows.  Will this change anything other than getting
rid of the warning message?

<comment>
After I read about dynamic linking in the 60's on the Multics system,
I always thought it was a great idea.  After decades of waiting, I gave
up ever seeing it in anything but a research OS.  Now that it has become
universal, I have often wondered if we would be better to put that genie
back in the bottle.  Library version skew, when moving from machine to
machine can be a nightmare, even when your OS does allow multiple versions
to be installed simultaneously.  But at least, I thought, the option to do
full static linking was still there, for those who chose it.  So it is a
bit of a shock to learn that that option is now gone.
</comment>

Olaf Wagner wrote:
> On Fri, August 17, 2007 14:19, Stefan Sperling wrote:
> 
>>On Fri, Aug 17, 2007 at 09:54:42AM +0200, Olaf Wagner wrote:
>>
>>>Stefan, I thought we had resolved this issue at least for Linux and
>>>Solaris setups with the last release. Did we miss something?
>>
>>We link system libraries dynamically on these platforms.
>>
>>It could be that Rodney's own program does not link
>>libraries dynamically, so he gets the warning.
>>
>>This is the diff that introduced dynamic linking on Linux.
>>Note that we explicitly enable dynamic linking on a per-library
>>basis... maybe we should enforce dynamic linking in general?
> 
> [diff removed]
> 
> No, I only want to find out why Rodney gets those warnings.
> Either he hasn't the cm3.cfg changes from the last release, or
> some other packages (Trestle?) import more libraries which cause
> the problem. Rodney, could you please check that?
> 
> Olaf

-- 
-------------------------------------------------------------
Rodney M. Bates, retired assistant professor
Dept. of Computer Science, Wichita State University
Wichita, KS 67260-0083
316-978-3922
rodney.bates at wichita.edu





More information about the M3devel mailing list