On Thu, Aug 06, 2009 at 04:15:56PM -0400, John W. Eaton wrote:
On 6-Aug-2009, David Grundberg wrote:
| John W. Eaton skrev:
| > On 6-Aug-2009, David Grundberg wrote:
| >
| > | I've rearranged the GraphicsMagick++ configuration. I had some
trouble | > | since I'm running a custom GraphicsMagick installation. The
Octave build | > | system was running GraphicsMagick++-config during make.
It was missing | > | ldflags and using only the basename of the config
executable (as opposed | > | to a full path).
| > | | > | I've changed it so that GraphicsMagick++-config is only run
in the | > | configure script. Also introduced MAGICK_CONFIG as a precious
variable.
| >
| > I removed --ldflags to fix the following mysterious problem on my
| > system:
| >
| >
https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-July/012879.html
| >
| > So I don't think I can put it back without breaking __magick_read__
| > again, at least for me and other Debian users.
| >
| > What are -Wl,-z,relro and -pie doing in the ldflags anyway? Are
those
| > arguments not present on your system? Maybe they are present on
mine
| > because of the way Debian builds the graphics magick library
package?
| > Perhaps these flags make sense for creating the graphics magick
| > library itself, but I can't see any reason for them to be required
to
| > link the graphics magick library with __magick_read__.oct.
| >
| > jwe
| > | So that's why --ldflags was taken away! I don't have that
problem. This | is the output from my config (where I'm building):
| | $ |
octave-patching/dependencies/graphicsmagick-install/bin/GraphicsMagick++-config
| --ldflags --libs
|
-L/Home/staff/davidg/octave-patching/dependencies/graphicsmagick-install/lib
| -L/usr/lib -L/usr/lib
| -lGraphicsMagick++ -lGraphicsMagick -llcms -ltiff -lfreetype -ljasper
| -ljpeg -lpng -lwmflite -lXext -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm |
-lgomp -lpthread
| | My ubuntu 9.04 box says this about the managed package (haven't
tried | building against it):
| address@hidden:~$ GraphicsMagick++-config --ldflags --libs
| -L/usr/lib -Wl,-Bsymbolic-functions -L/usr/lib/X11 -L/usr/lib
-L/usr/lib
| -lGraphicsMagick++ -lGraphicsMagick -llcms -ltiff -lfreetype -ljasper
| -ljpeg -lpng -lwmflite -lXext -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm |
-lpthread
So what should we do about this?
These are different versions. The Ubuntu version is 1.1.11-something,
your Debian versions is 1.3.5-something.
around it by filtering out everything except -L options from the
--ldflags output, but I'd rather see it fixed in graphics magick.
What should graphics magick really be storing in the config script
for --ldflags? Should options like -pie and -Wl,-z,relro really
appear there? Or is this just a Debian packaging problem?
The Debian packaging adds the -pie and -Wl options when building
GraphicsMagick to the LDFLAGS. GraphicsMagick then copies LDFLAGS into
its
--ldflags output. Looking at Ubuntu's build logs, the same is already
happening with newer versions of graphicsmagick.
I'll ask the Debian maintainer of GraphicsMagick about it.