Magick++ library broken in Ubuntu 11.10: wrong signature of Magick::Geometry::Geometry
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
imagemagick (Debian) |
Fix Released
|
Unknown
|
|||
imagemagick (Ubuntu) |
Fix Committed
|
Undecided
|
Unassigned |
Bug Description
The signature of the Magick::Geometry's constructor has changed between Ubuntu 11.04 and 11.10, even though there was no change in the library version numbers, and no change in the upsteam code. This breaks any application that depends on that function.
Upstream code, from https:/
Geometry ( size_t width_,
size_t height_,
::ssize_t xOff_ = 0,
::ssize_t yOff_ = 0,
bool xNegative_ = false,
bool yNegative_ = false );
Ubuntu 11.04 code, in /usr/include/
Geometry ( size_t width_,
size_t height_,
ssize_t xOff_ = 0,
ssize_t yOff_ = 0,
bool xNegative_ = false,
bool yNegative_ = false );
Ubuntu 11.10 code, in /usr/include/
Geometry ( unsigned int width_,
unsigned int height_,
unsigned int xOff_ = 0,
unsigned int yOff_ = 0,
bool xNegative_ = false,
bool yNegative_ = false );
Note the change from size_t to int. The header and the /usr/lib/
Here's a sample program:
#include <Magick+
int main() {
Magick:
return 0;
}
It won't link on Ubuntu 11.10:
$ g++ -I /usr/include/
/tmp/ccghEH0m.o: In function `main':
test_magick.
test_magick.
collect2: ld returned 1 exit status
When compiled on Ubuntu 11.04, it will crash on Ubuntu 11.10:
$ ~/test_magick
/home/dima/
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: libmagick++3 8:6.6.0.4-3ubuntu1 [modified: usr/share/
Uname: Linux 3.0.3 x86_64
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
Date: Thu Nov 3 13:02:03 2011
ProcEnviron:
LANGUAGE=en_US:en
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: imagemagick
UpgradeStatus: Upgraded to oneiric on 2011-09-02 (61 days ago)
Changed in imagemagick (Debian): | |
status: | Unknown → Fix Released |
Changed in imagemagick (Ubuntu): | |
status: | New → Fix Committed |