Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at

Bug 166046

Summary: Review Request: libAfterImage - A generic image manipulation library
Product: [Fedora] Fedora Reporter: Andreas Bierfert <andreas.bierfert>
Component: Package ReviewAssignee: Michael Schwendt <bugs.michael>
Status: CLOSED NEXTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-08-20 22:31:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 163779    

Description Andreas Bierfert 2005-08-16 09:16:52 UTC
Spec Name or Url:
SRPM Name or Url:
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 18:59:55 UTC
$ 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/'.  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 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 05:44:49 UTC
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 14:47:40 UTC
There is one instance of "Powerfull" in the description, in the beginning of 
the last paragraph. 

Comment 4 Andreas Bierfert 2005-08-18 22:51:57 UTC
*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-20 01:46:03 UTC
> --- 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 08:15:08 UTC
Makes sense =)

Thx for the review.

Comment 7 Michael Schwendt 2005-08-20 11:53:49 UTC
> 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 12:14:16 UTC
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 13:05:02 UTC
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