[Fwd: Re: [Mapserver-dev] configure script problems with multiple GD]

Daniel Morissette dmorissette at dmsolutions.ca
Wed Oct 27 09:23:31 EDT 2004


Forwarding to the -dev list

-------- Original Message --------
Subject: Re: [Mapserver-dev] configure script problems with multiple GD
Date: Wed, 27 Oct 2004 08:53:35 +0100 (BST)
From: Dirk Tilger <dirk at advtechme.com>
To: Daniel Morissette <dmorissette at dmsolutions.ca>

  --- Daniel Morissette <dmorissette at dmsolutions.ca>
wrote:
> Sean Gillies wrote:
> > Users continue to report problems with the
> configure script
> > not picking up their own local installations of
> GD.  

My configure script used the right libgd, but my gd
was not in the library path of PHP's execution
environment, so it was linked agains a <2.0.0 version
with result of a frequently crashing PHP (SEGV).

I haven't investigated further, but I should be able
to find what the reason is.

> It's clunky but it works for me with a local copy of
> GD: I always use a 
> local GD since the system GD is always too old. It's
> always possible 
> that it doesn't work in some specific cases, if
> that's the case then a 
> bug should be filed with all the details.

As there is no clever way to ask the runtime linker to
bind to the right library, the mapserver interface
should be at least stable to not to crash even in that
case.

> 
> > I'm also not experienced enough with autoconf to
> fix this
> > myself.  Could we set the right person to this
> task before
> > a final 4.4.0 release?

I don't know if I'm the right person, but I'm familiar
with autoconf and I'm willing to help.

> > Not every user will have the option of removing
> every
> > conflicting GD from their system, or of modifying
> their
> > linker's system search order.
> > 
> 
> Users are only required to remove the -devel part of
> the library in the 
> system dirs. It is possible to keep several runtime
> copies of GD on the 
> system (i.e. several libgd.so.x.y.z) for existing
> programs to continue 
> to run. 

Yes, but you cannot assume that the user is using a
specific operating system and you cannot assume that
the mapserver is linked to the library with the
according header files.

> The problems happen only when you have
> multiple copies of the 
> header files and of libgd.so (e.g. the gd-devel
> RPM).

With sunfreeware for example the header- and the
library files are not always in a separate package.

> Perhaps it would be possible to tweak the makefiles
> and configure script 
> to compile/link with one devel copy of GD in
> preference over the others 
> but we would need someone who has time to research
> and/or knows how to 
> do that.

The other point is that with the current configuration
of autoconf, all the library paths are given on the
command line of gcc. Imagine the following:
The library libxyz has the prefix /usr/here. This is
also the prefix of some old libgd's. Even when the
user gives --with-gd=/usr/there the compiler will use
the version from /usr/here, when the parameters of the
libxyz library are given first to the compiler.

Best regards,
Dirk.





More information about the mapserver-dev mailing list