Bugzilla will be upgraded to version 5.0 on December 2, 2018. The outage period for the upgrade will start at 0:00 UTC and have a duration of 12 hours
Bug 166046 - Review Request: libAfterImage - A generic image manipulation library
Review Request: libAfterImage - A generic image manipulation library
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Michael Schwendt
David Lawrence
Depends On:
  Show dependency treegraph
Reported: 2005-08-16 05:16 EDT by Andreas Bierfert
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-08-20 18:31:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Andreas Bierfert 2005-08-16 05:16:52 EDT
Spec Name or Url: http://fedora.lowlatency.de/review/libAfterImage.spec
SRPM Name or Url: http://fedora.lowlatency.de/review/libAfterImage-1.07-1.src.rpm
libAfterImage   is a generic image manipulation library. It was initially
implemented to address AfterStep Window Manager's needs for image handling,
but it evolved into extremely powerfull and flexible software, suitable for
virtually any project that has needs for loading, manipulating, displaying
images, as well as writing images in files. Most of the popular image formats
are supported using standard libraries, with XCF, XPM, PPM/PNM, BMP, ICO,
TGA and GIF being supported internally.

PNG, JPEG and TIFF formats are supported via standard libraries.

Powerfull text rendering capabilities included, providing support for
TrueType fonts using FreeType library, and antialiasing of standard fonts
from X window system.

As the new aterm version makes use of this lib I would like to see it included asap.
Comment 1 Michael Schwendt 2005-08-17 14:59:55 EDT
$ rpmlint libAfterImage-1.07-1.src.rpm 
W: libAfterImage spelling-error-in-description powerfull powerful

> %package devel
> Summary:  Development package for %{name}

Ambiguous. Suggest "Files needed for software development with %{name}"

%defattr missing in -devel %files section.

Suspicious error during %install:
/usr/bin/install -c -m 644 xwrap.h
cd apps; make install; cd ..
make[1]: Entering directory `/home/qa/tmp/rpm/BUILD/libAfterImage-1.07/apps'
make[1]: *** No rule to make target `../../libAfterImage/asimage.c', needed by
`../../libAfterImage/libAfterImage.so'.  Stop.
make[1]: Leaving directory `/home/qa/tmp/rpm/BUILD/libAfterImage-1.07/apps'
+ cd apps

While --enable-gdb may prevent compiler option -g from being removed
from default $RPM_OPT_FLAGS, it enables debug output in the library
(see "grep NO_DEBUG_OUTPUT * -R" and configure.in).

afterimage-config.in includes a hardcoded check for /usr/lib
which is supposed to prevent a standard library search path from
being added to the linker command-line with -L
(on x86_64 this check will fail and add -L/usr/lib64)

I believe the configure script looks for X in /usr/X11R6/lib also
on 64-bit platforms and probably won't find X libraries.

Why --enable-xlocale?

MMX -> This is from the included README:

> !!!!!!!!!!!!!!!!!!!!!!!!! MMX NOTICE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> Note:
> libAfterImage gets compiled with inline MMX assembly enabled.
> If you have CPU that does not support it - you'll
> have to manually turn that off by using --disable-mmx-optimization
> option to configure script.
> Otherwise you gonna get wierd segfaults and Illigal Instruction
> exceptions.
> !!!!!!!!!!!!!!!!!!!!!!!!! MMX NOTICE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Comment 2 Andreas Bierfert 2005-08-18 01:44:49 EDT
All issues fixed except for the spelling error. The description has a powerful
wich is the right spelling and I cannot whatsoever find powerfull anywhere else
(except in one .h file but I don't think patching it is that important).

Comment 3 Ville Skyttä 2005-08-18 10:47:40 EDT
There is one instance of "Powerfull" in the description, in the beginning of 
the last paragraph. 
Comment 4 Andreas Bierfert 2005-08-18 18:51:57 EDT
*narf* never trust a case sensitive grep and a blind packager... thx

Other issues? Otherwise I will add this change upon import...
Comment 5 Michael Schwendt 2005-08-19 21:46:03 EDT
> --- old/libAfterImage.spec      2005-08-20 03:21:51.000000000 +0200
> +++ new/libAfterImage.spec      2005-08-20 03:21:51.000000000 +0200
> @@ -1,6 +1,8 @@
> +%define debug_package %{nil}
> +

No way! ;-P  By doing this, you're shipping unstripped packages.
Correct fix would be to either patch the source (so that it doesn't
remove -g from CFLAGS) or to simulate default build-mode and
add -DNO_DEBUG_OUTPUT to CFLAGS (might increase maintenance efforts
for future versions, though, when developers modify default -D flags).

Anyway, feel free to fix this in CVS.
Comment 6 Andreas Bierfert 2005-08-20 04:15:08 EDT
Makes sense =)

Thx for the review.
Comment 7 Michael Schwendt 2005-08-20 07:53:49 EDT
> gcc -O3 -DNO_DEBUG_OUTPUT -Wall -fexceptions -m32 -march=i386 -mtune=pentium4
>  -f asynchronous-unwind-tables -fPIC  -I/usr/include/freetype2
>   -I/usr/X11R6/include  -c afterbase.c -o afterbase.o

The -O3 in there looks like it mangles the CFLAGS even more than just
dropping -g. RPM_OPT_FLAGS' default -g -O2 ought to be in there.
Comment 8 Andreas Bierfert 2005-08-20 08:14:16 EDT
I noticed... I changed this after import so it will use rpm supplied opt flags
and this works for FC4/i386 (at least here) but bails out on x86_64 (error is
the same for fc{3,4,5}):


Comment 9 Michael Schwendt 2005-08-20 09:05:02 EDT
Hint is in there:

> /usr/bin/ld: afterbase.o: relocation R_X86_64_32 against `a local symbol'
> can not be used when making a shared object; recompile with -fPIC
> afterbase.o: could not read symbols: Bad value

"recompile with -fPIC" means to add -fPIC to the CFLAGS for all
object files which make it into the shared library

Note You need to log in before you can comment on or make changes to this bug.