[GRASS5] Re: [bug #2544] (grass) grass libs built with paths to source tree, not install dir

William K woklist at charter.net
Sat Jul 23 11:39:57 EDT 2005


Whoops, and double whoops.  Sent reply before I started typing.

Forgot about CC, sorry, and that bugs don't automatically forward to  
the list.  Though I must send from a different email address (my list  
addr) for CC to work.

It's still a problem for 5.4/5.7, but unless someone really cares  
about fixing it there and moving it to 6.0/6.1 will get it fixed  
faster, I'd say move it to 6.0/6.1.

Here's a copy of the message, for the list:

I just asked on the Mac OS X-UNIX porting list about this.  -install- 
name is a standard and normal and expected thing to do when creating  
a Mac dynamic library (the current/compability versions are optional,  
but a good idea).  In fact, versions of libtool back to at least  
1.3.x provide this functionality.  Mac OS X dynamic libraries use the  
mach-o format, not the linux elph format, and they expect a full path  
and name embedded in the library.  If one is not provided at build  
time, the default is embedded as the build location (ie in the source).

The patch has changed yet again.  I hope this doesn't become a  
regular occurrence.  Maybe attention should be paid to changing  
environment variables, and make sure the right ones are used (someone  
who knows the setup a little better could figure this out).   
Somewhere along the 6.1 CVS changes, LIB_RUNTIME_DIR changed (or  
disappeared), so it doesn't refer to the install library directory,  
and maybe LIB_RUNTIME_DIR wasn't the right choice in the first place.

Currently - this works for both 6.0 and 6.1 CVS - I have:

         SHLIB_CFLAGS="-fno-common"
         SHLIB_LD="cc -dynamiclib -flat_namespace - 
compatibility_version \${GRASS_VERSION_MAJOR}.\${GRASS_VERSION_MINOR}  
-current_version \${GRASS_VERSION_MAJOR}.\${GRASS_VERSION_MINOR} - 
install_name \${INST_DIR}/lib/lib\${LIB_NAME}\${SHLIB_SUFFIX}"

Note again that Mac OS library versions must only be integers, up to  
three dot-separated (ie major.minor.release for current, usually  
major.minor for compatibility).  Care should be taken that at least  
the major and minor versions are just numbers.  I left out the  
release version in the current-version, since in GRASS CVS versions  
this is a string, not a number.  Maybe some variable can be provided  
to specify an alternate format release version?  But that's not  
critical.


On Jul 23, 2005, at 6:22 AM, Maciek Sieczka via RT wrote:

> William
>
> Great that you care to manage your bugreports. But - if you want  
> your comments
> to be taken under consideration, please CC grass5 at grass.itc.it and  
> Folks who
> you think might be helpfull and interested in the issue (delimit  
> emails with
> commas). Otherwise it might take infinity till somebody looks again  
> into this
> bugreport, epecially that it is assigned to 5.7 area, cause 'reply'  
> and
> 'comment' in the bugtracker are not forwarded to the list  
> automatically, shame.
>
> Could you forward your remarks where applies?
>
> Shall we change the bug assignation to 6.1?
>

-----
William Kyngesburye <kyngchaos at kyngchaos.com>
http://www.kyngchaos.com/

[Trillian]  What are you supposed to do WITH a maniacally depressed  
robot?

[Marvin]  You think you have problems?  What are you supposed to do  
if you ARE a maniacally depressed robot?  No, don't try and answer,  
I'm 50,000 times more intelligent than you and even I don't know the  
answer...

- HitchHiker's Guide to the Galaxy




More information about the grass-dev mailing list